Location: Atlanta, GA, USA Remote: Yes Willing to relocate: No Technologies: Ruby, Ruby on Rails, Python, Elm, React, Typescript CV: https://www.linkedin.com/in/evan-james-45b44b16/ Email: thasero at gmail dot com…
More difficult to work with. It's not a problem for the computer if you have a lot of code in a single file, but it is a problem for the computer programmer. If there's a lot of functionality in a single file, class, or…
Take home exams are somewhat common at modern universities, and in fact are sometimes used as an anti-cheating measure. Rather than having questions which can be easily answered with access to research materials, the…
Having the legal right to do a thing does not mean that you are invincible to criticism for exercising that right. You have the right to freedom of speech, but the things you actually say may be foolish or wrong;…
Thanks for the example. Receiving a patch does let you know just what change the user intended to make, and often you actually care about the change, not the before or after. As I keep looking at this, it seems that…
Hmm. I appreciate the idea of a standardized way to modify a JSON document, but I'm not certain what problem it realistically solves. Can someone who's worked with APIs that accept updates give a code example of…
Hey Jonathan ;) This is the danger of having a 'test org' separate from the 'dev org'. When writing tests is tied to writing production code, your progress in one is tied to progress in the other. If it's easy to write…
You can't know, but you can guess, based on past experience or logic. The simplest way to estimate the future is to guess that it will be similar to the past. For example, if you personally tend to write off-by-one…
Yes - but the test would fail when the invariant is mistakenly changed. On the test run after the invariant was changed, you would get new information (the test does not always pass) and change your behavior (revert the…
I don't understand what you mean by "prevent you from unknowingly doing something that should have changed your behavior". If you do something without knowing it, how could it change your behavior? If it's a case where…
This is why I left Microsoft. Automated testing was a separate discipline - meaning there were "dev devs" and "test devs". Automated tests were written based on what the "test devs" had time for, not on the need or…
I've seen the value of text formats personally. I work mainly on an iPhone project. In order to handle customers requests for this or that custom UI feature, I invented a tool that generates something like a simplified…
It's because Objective-C methods are named according to the nouns that they return rather than the verbs they perform. For example, "[input stringByAppendingThing:thing]" rather than "input.append(thing)". Methods are…
I think there are two types of claims typically made in the "people who use X are better/worse programmers than people who don't" argument. One is a claim based on difficulty. X is really hard, so if you can use it…
It's hard to make accurate, general statements about a group. It's also hard to tell good programmers from bad programmers. So it's very hard to say whether Rails programmers in general are good or bad. I can tell you,…
If you're dealing with a complex system that needs a lot of work, I would recommend trying to break it down into subsystems and handle the subsystems one at a time. The original article does assume that you're dealing…
There have been attempts to organize this, including one I know off the top of my head[1]. There are two problems. One is that an orderly transfer of control requires a certain amount of planning and coordination, which…
Part of it is a terminology problem. It's now common for any small business in the software industry to claim to be a "startup", even if it's actually a glorified consulting agency or contract software shop. Part of it…
HTTP status 418 is an "official" status code released in the traditional yearly April Fool's Day paper[1] of the Internet Engineering Task Force. It was the joke for 1998.…
I think there are two important facts to keep in perspective here. First, polls have shown that U.S. citizens drastically overestimate the amount of the federal budget allocated to foreign aid. As I recall, the average…
It's a joke commit, with auto-generated CoffeeScript from a conversion tool. About 3,700 deletions come from files that were erroneously replaced by empty files. Another 1,400 or so are from removing the license comment…
Austin, TX - BarZ Adventures. Software developer, Rails or iPhone. Android experience also welcome. We're a small but profitable business that licenses software for making tour guides and visitor directories. The…
It's worth remembering that jury nullification is a two-way street. Nullification is most famous for its history in racially-charged trials in the American South. Southern jurors would refuse to enforce criminal laws if…
Yes, interview questions like this are common. The problem with "practical application" questions is that the answer almost always comes down to "it depends". The correct optimization or fix is specific to the actual…
It is common practice for engineering to be explicitly forbidden from looking at any patent whatsoever. A peculiarity of the U.S. patent system is that the size of the penalty is larger if the party accused of…
Location: Atlanta, GA, USA Remote: Yes Willing to relocate: No Technologies: Ruby, Ruby on Rails, Python, Elm, React, Typescript CV: https://www.linkedin.com/in/evan-james-45b44b16/ Email: thasero at gmail dot com…
More difficult to work with. It's not a problem for the computer if you have a lot of code in a single file, but it is a problem for the computer programmer. If there's a lot of functionality in a single file, class, or…
Take home exams are somewhat common at modern universities, and in fact are sometimes used as an anti-cheating measure. Rather than having questions which can be easily answered with access to research materials, the…
Having the legal right to do a thing does not mean that you are invincible to criticism for exercising that right. You have the right to freedom of speech, but the things you actually say may be foolish or wrong;…
Thanks for the example. Receiving a patch does let you know just what change the user intended to make, and often you actually care about the change, not the before or after. As I keep looking at this, it seems that…
Hmm. I appreciate the idea of a standardized way to modify a JSON document, but I'm not certain what problem it realistically solves. Can someone who's worked with APIs that accept updates give a code example of…
Hey Jonathan ;) This is the danger of having a 'test org' separate from the 'dev org'. When writing tests is tied to writing production code, your progress in one is tied to progress in the other. If it's easy to write…
You can't know, but you can guess, based on past experience or logic. The simplest way to estimate the future is to guess that it will be similar to the past. For example, if you personally tend to write off-by-one…
Yes - but the test would fail when the invariant is mistakenly changed. On the test run after the invariant was changed, you would get new information (the test does not always pass) and change your behavior (revert the…
I don't understand what you mean by "prevent you from unknowingly doing something that should have changed your behavior". If you do something without knowing it, how could it change your behavior? If it's a case where…
This is why I left Microsoft. Automated testing was a separate discipline - meaning there were "dev devs" and "test devs". Automated tests were written based on what the "test devs" had time for, not on the need or…
I've seen the value of text formats personally. I work mainly on an iPhone project. In order to handle customers requests for this or that custom UI feature, I invented a tool that generates something like a simplified…
It's because Objective-C methods are named according to the nouns that they return rather than the verbs they perform. For example, "[input stringByAppendingThing:thing]" rather than "input.append(thing)". Methods are…
I think there are two types of claims typically made in the "people who use X are better/worse programmers than people who don't" argument. One is a claim based on difficulty. X is really hard, so if you can use it…
It's hard to make accurate, general statements about a group. It's also hard to tell good programmers from bad programmers. So it's very hard to say whether Rails programmers in general are good or bad. I can tell you,…
If you're dealing with a complex system that needs a lot of work, I would recommend trying to break it down into subsystems and handle the subsystems one at a time. The original article does assume that you're dealing…
There have been attempts to organize this, including one I know off the top of my head[1]. There are two problems. One is that an orderly transfer of control requires a certain amount of planning and coordination, which…
Part of it is a terminology problem. It's now common for any small business in the software industry to claim to be a "startup", even if it's actually a glorified consulting agency or contract software shop. Part of it…
HTTP status 418 is an "official" status code released in the traditional yearly April Fool's Day paper[1] of the Internet Engineering Task Force. It was the joke for 1998.…
I think there are two important facts to keep in perspective here. First, polls have shown that U.S. citizens drastically overestimate the amount of the federal budget allocated to foreign aid. As I recall, the average…
It's a joke commit, with auto-generated CoffeeScript from a conversion tool. About 3,700 deletions come from files that were erroneously replaced by empty files. Another 1,400 or so are from removing the license comment…
Austin, TX - BarZ Adventures. Software developer, Rails or iPhone. Android experience also welcome. We're a small but profitable business that licenses software for making tour guides and visitor directories. The…
It's worth remembering that jury nullification is a two-way street. Nullification is most famous for its history in racially-charged trials in the American South. Southern jurors would refuse to enforce criminal laws if…
Yes, interview questions like this are common. The problem with "practical application" questions is that the answer almost always comes down to "it depends". The correct optimization or fix is specific to the actual…
It is common practice for engineering to be explicitly forbidden from looking at any patent whatsoever. A peculiarity of the U.S. patent system is that the size of the penalty is larger if the party accused of…