1,804 reputation
820
bio website heroicsoftware.net
location New York, NY
age 34
visits member for 3 years, 11 months
seen Oct 16 '13 at 17:30

Freelance software engineer/developer/programmer in New York City. Focused on native iPhone app development, but I could probably make you a Mac app if you ask real nice.

Among other things, I'm responsible for

  • FatWatch, the best Hacker's Diet tool for iPhone,
  • MetroCost, a tool to save you money on public transit, and
  • Fingerpaintball, a brick breaking game designed for iPad.

My company is Heroic Software. I have a blog, a tumblelog, and I tweet.


Mar
4
comment What is the most orthogonal programming language?
@SeanMcSomething That's interesting, given the focus on side-effects (moving the turtle) rather than evaluation of expressions.
Nov
21
comment My Dad is impatient with the pace of my learning to program. What do I do?
@FergusMorrow Thank you.
Jun
28
comment My boss decided to add a “person to blame” field to every bug report. How can I convince him that it's a bad idea?
+1 for redirecting the boss's idea into something more productive (always easier to win a battle that way)
Jun
20
comment Are there any Phone Interview equivalents to FizzBuzz?
@DeadMG I beg to differ; I used it quite effectively on dozens on phone interviews. This was for a Java position, so lambda-observers never came up, but you could replace "observers" with "email addresses" and keep the problem pretty much the same. As I said above, the point is to have a conversation about data structures; the script is just a framework for that.
May
22
comment Should we avoid object creation in Java?
+1 Even though the garbage collector "just works", every Java programmer should learn about the generational garbage collector.
Apr
3
comment In hindsight, is basing XAML on XML a mistake or a good approach?
My point is that you are judging it entirely against the criteria of writing it; your concerns have to be balanced against validating and interpreting it too. A DSL that was nicer to write would almost certainly be harder to parse. But an intermediate compilation step could give you the best of both worlds.
Feb
21
comment (Why) Should I learn a new programming language?
In an ideal world, there would only be one answer to Nupal's question. Having all of these additional answers after the first one by people who don't understand the virtues of standardization just causes confusion. There's nothing wrong with disagreeing with the answer in your own mind, but posting an additional answer makes you part of the problem.
Aug
29
comment What do you think of opening brace comments in source code?
Well, I was just being snarky: if I saw that an author took the time to write a comment that merely declared the code to be self-documenting, I'd be somewhat annoyed. (In the context of your answer, there's nothing wrong with it.)
Aug
29
comment What do you think of opening brace comments in source code?
I hope people don't take away that // self-commenting is something that should appear in their code. :-)
Aug
29
comment What is the most orthogonal programming language?
In math edu (where I have a tiny amount of experience), "Learning without Understanding" is a big problem: a focus on how to do it without why. My claim is that if you teach the concepts of programming, a toy language will do fine, and if you succeed, the transfer to a "real" language won't be hard. (If transfer is hard, you taught procedures, not concepts.) A toy environment doesn't prevent people from learning, but it does requires good lesson planning to be engaging. (I like this thread but I think we've crossed over into discussion territory and the moderators will be displeased.)
Aug
29
comment What is the most orthogonal programming language?
I get your point. We just disagree. I think the transfer is important, it requires that the student has a deeper understanding than one who has a successful guessing strategy (e.g., one who "solves" word problems by picking out numbers and plugging them into the formulas in the beginning of the chapter). In other words, if they can't transfer what they learned, they never learned it in the first place. To keep students motivated, you just have to choose the right problems, which is important regardless of language, "real" or "toy".
Aug
26
comment What is the most orthogonal programming language?
Right, I think we differ on what "do a little bit" means. If you want to (for example) appease the "show me how to make video games" contingent, you can do some things, but they will get to a point because they can't make progress and get frustrated, and then you have to go back to the "boring parts" so they can gain the understanding to move forward. At this point, they are already frustrated in a bad way and may just give up; on the other hand, doing the "boring parts" first and building upwards means continual progress. But obviously you don't start with a strip of semi-infinite tape.
Aug
26
comment What is the most orthogonal programming language?
I agree that students should be able to experiment, but requiring understanding before you can "do anything" seems like the whole point of teaching.
Aug
26
comment What is the most orthogonal programming language?
It is a fallacy to claim that teaching a "real" language is the way to provide real-world relevance. It is the teacher's job to show how the "toy" language relates to real-world skills. Learning to juggle by starting with knives does not mean you are learning more relevant juggling skills.
Aug
25
comment What is the most orthogonal programming language?
Yes! The fact that Scheme is radically different from most "real" languages lets you focus on programming and not on APIs. Learning Scheme is like the "wax on, wax off" of coding; seems like a waste of time until you realize you have a deeper understanding of the computer than before.
Aug
25
comment What is the most orthogonal programming language?
While Python and Ruby spare you from managing memory, I'm not so sure that the languages themselves are simpler.
Aug
23
comment How do I make up for a lack of feedback as a solo developer?
Can you recommend how to find a good IRC channel?
Aug
18
comment Is there an analogue to “FizzBuzz” for choosing clients?
Curious: how many times has this "test" yielded a negative result for you?
Aug
17
comment Is there an analogue to “FizzBuzz” for choosing clients?
Feature creep is fine if the client is willing to pay for it. What I want to screen for is the client who wants more features for free.
Aug
17
comment Is there an analogue to “FizzBuzz” for choosing clients?
True, full time jobs can also be difficult, but (a) a freelancer deals with this problem more often and (b) when applying for a full time position, the employer understands you are checking them out, too (i.e., the interview closing "Do you have any questions for us?")