Web Framework Performance Benchmarks

This is making the rounds and is pretty interesting:

http://www.techempower.com/blog/2013/03/28/framework-benchmarks/

My framework of choice, Grails, doesn’t look spectacularly fast, although I already knew that. However, it is nice to see that it is notably faster than RoR (which appears to be a complete dog) and Django, and will probably improve quite a bit with v2.2 on  Groovy 2.0 and Java 7.

However, it seems a big part of the performance lag is because it’s built on Spring, and to my surprise Spring isn’t a great performer, either. It is nice to see that straight up Servlets and Vert.x are beasts, so another score for our dear JVM.

Another thing that caught my attention is that Grails’s ranking improves quite a bit once you move it from EC2 to dedicated hardware. IaaS and PaaS save you some admin work, but also costs you some dev time, but at some point it looks like you’ll get a nice gain from dedicated hardware. It could make something like Rackspace managed hosting on dedicated hardware look reasonable.

With the attention it’s getting, I also expect a shakeup as framework providers help the benchmarkers improve performance. It will be interesting to see how this plays out.

UPDATE 2/2/2014

Round 8 of the web performance benchmarks are out and Grails is looking good. (more…)

Basically, I’m just gonna walk the earth.

Basically, I’m just gonna walk the earth.

I am beginning a grand adventure. Well, for me, anyway. At the end of this year, I will be flying to Bangkok, Thailand to start a 6 month (or longer) trek abroad. You know, like Caine in Kung Fu. Well, not exactly.

This isn’t a vacation. It’s an experiment in nomadic living, inspired by the likes of Expat Software and The 4-Hour Work Week. Even after the success of Tim Ferriss’s book, this is a pretty foreign concept to most people. Upon hearing it, they think I’m going on a really long vacation, and by extension, I’m some secret millionaire. I’m not (yet). Or that I’ll be backpacking and living in hostels and villages. I’m not doing that either.

I’ll simply be living in other countries, much like I would here. The countries I’ve chosen are more affordable than Southern California (I know, not saying much), although that does get offset by renting fully furnished apartments in major cities, as well as airfare. My goal is to spend the same or less per month than I would here, while making things a lot more interesting – you know, meeting people and getting in adventures. But for the most part, I’ll be coding and learning new things.

Why now? What prompted this? There are several factors: (more…)

MySQL Failed to open file – error 2 and 22 on Windows

I recently had to restore a MySQL backup. It had been a while since I used MySQL, having switched to Postgresql sometime back. First thing I noticed was the lack of a GUI admin tool that PG spoils you with. Making matters worse, the command line tool isn’t even added to your path; you can’t just run “mysql” like you can in a Unix shell, much less use the redirect shortcut. And I was getting errors.

Here’s what you need to do to restore a MySQL backup on Windows:

  1. Run the command line tool from the start menu
  2. Open your backup file in a text editor. Does it start with a command to create or “use” the database? If not
    1. Create it, if necessary
    2. Type “use database” filling in your DB name
  3. Type “source path-to-SQL-file“. BUT, you must follow these rules:
    1. Use the full source command, not the \. shortcut
    2. Have no spaces in your path. I copied mine to a root of a drive. Note that spaces in the file name is OK, just not the path.
    3. Do not quote the file name, even if it has spaces. This gave error 22.
    4. Use forward slashes in the path, e.g., C:/path/to/filename.sql. Otherwise you’ll get error 2.
    5. Do not end with a semicolon.

Follow all those rules and it should work fine.