1,423 reputation
716
bio website
location Brooklyn, NY
age 33
visits member for 3 years, 10 months
seen Nov 15 at 15:39
Good Morning how are you, I'm dr jimbob
I'm interested in things.
I'm not a real dr,
But I am a real jim bob.

Have a PhD in Experimental High-Energy Physics, but left academia in mid-2010 to program professionally.

Mostly program/script in python, django, and jquery these days doing mostly web apps.

Also have experience programming in C, C++, java, haskell, php, and (bash) shell more in the past.

Linux as primary OS since 1999, ubuntu user since 2005 (Hoary).


Oct
5
revised Why do iterators in Python raise an exception?
grammar
Oct
5
answered Why do iterators in Python raise an exception?
Sep
19
answered Should I include a selfdestruct-method to my applications?
Sep
16
comment Is it true that once you learn one language most of the rest come easy?
@gd1: Haskell is a lazy language, python is not. (Sure you can do some lazy evaluation with generators/itertools in python, but I wouldn't say that's the default paradigm).
Sep
12
revised Strictness in programming methods among Stack Overflow users
added 116 characters in body
Sep
12
revised Strictness in programming methods among Stack Overflow users
spelling Know -> now; explanation of pythonic)
Sep
12
answered Strictness in programming methods among Stack Overflow users
Sep
12
revised What programming problems are best solved by using pointers?
Added the reasons for indirection/references.
Sep
12
answered What programming problems are best solved by using pointers?
Sep
9
answered How should one handle “free projects”? Should one accept them or not?
Sep
6
comment Do the young minds need to learn the pointer concepts?
Nowadays you need to know just the basic concept of references, not pointer syntax/math. I learned pointers (with arithmetic&syntax) in C back in the day. The languages I now program in don't deal with C-style pointers that let you do unsafe things. One can understand why in python a=[1,2]; b=a; a.append(3) that both a and b are going to both reference the same object [1,2,3] without knowing stuff like in C the ith element of an array can be referenced by arr[i] or i[arr] as both are *(arr+i). I prefer when the language doesn't let i[arr] be used.
Sep
2
answered suggesting large changes/a rewrite as an intern
Aug
23
answered Should I remove unreferenced code?
Aug
18
answered Should developers accept overtime/weekend work/denied bonus payments?
Aug
18
comment Should developers accept overtime/weekend work/denied bonus payments?
I wouldn't say never. There are at least two reasons for it. (1) you are just an employee, but a very well compensated employee (above ~$200k) and were hired with the expectation that you will work extraordinary hours and be the person everyone can rely on. (2) On rare occasions, your work is needed off-hours and not doing the work ASAP will lose money/business for the company that can't afford to lose it. E.g., you're at a startup and a major security hole was found after release that needs to be fixed ASAP--that's not the time to try saying you'll only work for $500/weekend day.
Aug
17
answered How do I deal with a slow and undedicated colleague in the team?
Aug
8
comment Is micro-optimisation important when coding?
Sure, you should consider it (in the back of your head) and typically reject it, unless its shown to be worth it. You need to consider that optimizations usually lower code readability and can increase the time taken to code and maintain by a factor of 10 or so. If the program isn't CPU intensive, its often not needed. Recognize that your compiler is usually much better at optimizing than you are, and that many of your optimizations will actually hurt performance. If its not worth your time to test your optimizations and profile, its not worth your time to optimize.
Aug
2
comment My Dad is impatient with the pace of my learning to program. What do I do?
Agree, python's a better choice as a first language. C++ is great but its very powerful and difficult to use--its like learning to fly a plane before learning to walk. With python you can use libraries right off the bat and do fun things. Your string_add function is 5 lines of readable code. E.g., def string_add(a_string): \n\t sum = 0 \n\t for letter in a_string:\n\t\t sum += ord(letter) - ord('a')+1 \n\t return sum (the \n - new line \t -tab) or using more advanced functional programming its a one liner. string_add = lambda a_string: sum(map(lambda ch: ord(ch)-ord('a')+1, a_string))
Jul
29
comment Why do people use programming books?
Having a book as a reference is very useful--you gain from the experience of others. The "book" could even be extensive online documentation/tutorials like django or jquery. But trial & error + reading source alone will leave major gaps in your knowledge. Now if you only need a few lines of jQuery, your method works but you didn't learn the language. But if you want to learn C, I'd recommend having K&R as a reference. Sure most info is online somewhere, but scattered throughout many blog posts.
Jul
28
awarded  Critic