698 reputation
49
bio website codethink.no-ip.org
location
age 32
visits member for 3 years, 11 months
seen Feb 9 at 2:02

I am a software architect by trade and a coder/hacker by compulsion. I've worked on projects large and small, and have experience in more languages than I care to count (Java, ActionScript, Objective-C, JavaScript, C, C++, HTML, CSS, Velocity, SQL, Php, Bash, Perl, and probably others) and a number of different functional domains (concurrency/multiprogramming, build and test automation, server administration, team and project management, high-level design and architecture, etc.).

Notable open-source contributions include matchbook, a platform-agnostic matchmaking service, API, and SDK for mobile applications (think multi-platform real-time gaming), a thread-safe wrapper for Apple's Core Data framework, and a screen-capture utility for iOS.

I've also self-published a book about self-publishing books, and a comic reader app for the iPhone. I maintain and occasionally update a blog about various topics that I happen to find interesting or noteworthy.


Feb
7
comment Can GPL licensed code be close sourced later by the author?
All the answers here basically say the same thing, but if anyone has the correct answer it's @paxdiablo. Regardless of what the GPL says or does not say, pulling back code that has been released under any open-source license is legally questionable and practically impossible. Even if the license explicitly reserves the right to do so. Once the code is out there, it's out there. That's a gray area, if you ask me.
Sep
24
awarded  Autobiographer
Aug
13
comment Is there anything groundbreaking about NoSQL?
"my understanding is that NoSQL is rather arbitrary" - My understanding is that for all the hype it's basically a persistent HashMap. Which is useful in many cases, but not generally sufficient in and of itself. Think of it as sideband storage for things that don't benefit from being stored in a relational way.
Jul
4
comment How does the “Fourth Dimension” work with arrays?
I think your first sentence is actually backwards. Programs are limited by the physical constraints of the hardware they run on. And memory is flat. Programming languages may allow arrays to be specified in terms of arbitrarily many dimensions, but really all that happens is the provided numbers are multiplied together and you get a flat list of however many things you actually asked for. Some math is used to handle addressing into the flat list based upon multi-dimensional indices, but it's still a flat list. The dimensions are entirely illusory.
May
18
awarded  Yearling
May
18
awarded  Yearling
May
16
awarded  Enlightened
May
16
awarded  Nice Answer
Apr
16
awarded  Popular Question
Mar
7
comment JavaScript - Why do frameworks bind to $()
@ErikReppen - Sure, why not? It's no more stupid than some of the other things holy wars have been declared over, at least.
Jan
8
comment Loop fusion example using aspect-oriented framework
From what I can gather, it kind of seems like implementing loop fusion using aspects is a horrendous misuse of aspects.
Jan
8
comment Do coding puzzles make good interview questions
@MartijnVerburg - But if all you need is a web UI for Payroll then why hire a new employee for that in the first place? If that's the only development/coding that needs to be done you might as well just farm it out to a consultant. But if that's not the only engineering work that needs doing, it seems presumptuous to assume that the candidate will never encounter a challenging problem that requires them to think outside of the web arch. and TDD box. Anyone can be a code monkey; good developers are problem solvers.
Jan
8
awarded  Commentator
Jan
8
comment What is the best way to discern an excellent programmer in a job interview?
I'll disagree with the "puzzles suck" viewpoint. Puzzle questions are useful because they can answer questions like 1) how does this person react to a challenging problem (do they get frustrated/give up easily, do they take a reasonable approach to working things out, etc.), 2) can this person think quickly and creatively and back up their ideas, and 3) approximately how intelligent is this person. Of course, an interview that is only puzzles is a bad idea. But one or two such questions can be useful. Remember that you want programmers who are problem solvers, not monkeys on typewriters.
May
18
awarded  Yearling
Feb
28
comment Convince a lone developer to use a separate build tool instead of the IDE one-click build
I disagree 1000 times over. If you structure your build scripts correctly, then you really only have to pay the cost of writing them once, and can then reuse them almost verbatim across any number of projects. There's a lot to be said in favor of having a one-line build command that builds, configures, deploys, and runs the system automatically. And once you have that, it will save a ton of time compared to manual deployment/configuration management, which can then be spent on those new features you mention.
Feb
28
answered Convince a lone developer to use a separate build tool instead of the IDE one-click build
Aug
4
answered Can GPL licensed code be close sourced later by the author?
Aug
2
comment JavaScript - Why do frameworks bind to $()
@VirtuosiMedia - Why is that? Are you saying that it is not ever possible for one framework to do something that another framework does not, or that there is no case where having a combined feature-set is desirable? For instance, on webcomix I used MooTools (with some custom z-indexing modifications) to implement draggable divs. But the social toolbar plugin uses jQuery, which caused integration conflicts. Is your assertion that I should reimplement the draggable divs in jQuery just because I want to use a social toolbar plugin that uses jQuery?
Jul
25
answered Should I work for free while applying for a job?