223 karma · joined September 8, 2011
http://www.jasonhanley.com
It may just be a strong bias against PHP.
But even if we did choose to rewrite at some point, how do you choose?
Java is "enterprise-y" and people generally hate it.
As you mention, Ruby has fallen out of fashion, and it's always had a reputation for being a resource hog.
Python is a great language overall, but was never really meant for web programming so ends up being a bit kludgy.
Node is super popular with the bleeding edge crowd, but it's only been around for 3 years and speaking of wooden bullets -- Javascript has more language pitfalls than PHP! And there's still no clear winner in terms of framework stack.
Meanwhile, Google has invented its own proprietary languages , which seems like a real Microsoft in the 1990s kind of move.
So even if we started over, it's pretty unclear what we'd choose to build with.
I have been programming for a long time now (~26 years) and I do tend to roll my eyes every time some fancy "new" language/framework/library comes out that's just a re-re-re-implementation of something 20, 30, or 40 years old.
It's simply not practical to keep rewriting large, stable applications using a completely new language and architecture for marginal benefits on an ongoing basis.
I've programmed in everything from BASIC to Pascal to C/C++ to C#, Lisp, Python, PHP, Java, Javascript, can't even rememeber what else and let's be honest -- there's no silver bullet.
They all have their strengths and weaknesses, and they all compile down to machine code.
I just have trouble understanding why people refuse to work with language or framework that's more than a year old.
In fact, often the most expensive "hired guns" will perform the worth in the long term.
What I'm looking for are people who are genuinely interested in the problem space.
Hadn't seen the Joel Test before -- thanks for pointing it out.
1. Do you use source control? Yes (Git) 2. Can you make a build in one step? Yes (one command) 3. Do you make daily builds? Yes (continuous integration) 4. Do you have a bug database? Yes 5. Do you fix bugs before writing new code? Yes 6. Do you have an up-to-date schedule? Yes 7. Do you have a spec? Many 8. Do programmers have quiet working conditions? Yes (remote) 9. Do you use the best tools money can buy? Mid-range 10. Do you have testers? To an extent 11. Do new candidates write code during their interview? Yes 12. Do you do hallway usability testing? No
So we've got like a good 10/12 (I'm giving a half point each for 9 and 10 :)
A direct neural connection could be more like 5-15ms [2]
An order of magnitude difference in response time has huge ramifications for all sorts of applications.
[1] http://en.wikipedia.org/wiki/Reaction_time [2] http://en.wikipedia.org/wiki/Neuron
It's not full time work, but it can take up quite a bit of time in spurts -- especially if you do maintenance and repair work yourself.
Git is practically unusable for all but the simplest things without a good set of aliases or wrapper scripts.
You can't just "make it up on volume."
I even wrote a blog post about it and have to send out the following canned response at least once a day:
--
Hi there,
You've reached the wrong email address. Please double-check and try again!
You may also want to read the following: http://blog.jasonhanley.com/2008/10/will-real-jhanley-please...
I think most people would be ok using that for something career-oriented.
I'd also like to see a "light" framework meant for building APIs, like Slim, for instance.
Google Apps could be critical for a lot of businesses, but they're charging for that now, and presumably making money.
Now, Internet ISPs, on the other hand, might fall under the category of "crucial public infrastructure" and could probably use some government oversight.
BestVendor even lets you put together your own customized lists: http://www.bestvendor.com/lists/tool-stack-for-pmrobot-a-mob...
This is amusing in so many different ways.
How the world has turned upside down.
I wrote this while it was still very fresh in my mind, right after getting my PPL: http://blog.jasonhanley.com/2010/07/learning-to-fly-airplane...
We focused on optimizing _signup_ conversions, succeeded and ended up in the same position as Kera.
I've been considering adding a "qualification form" during signup that evaluates whether the product is right for them, and even recommends competitors that might be more suitable for their specific situation.
Looking forward to hearing your results.
Exactly! That's what makes it so different from physical world projects. You can keep adding/changing things forever.
Sure, there's better sites out there, but sometimes you just have to trust the Google.
If the site shows up #1 for 90% of web stuff you're looking for, then others obviously found it useful too.
A nice dream. I suspect their priority will be US cities, but someday... someday...