Skip to content

Waiting for September 7th

Spore is the next big thing from Will Wright of SimCity fame, it’s the game he says always wanted to make and it’s been in the works for years.

Well, it seems like there’s finally a release date.

I don’t usually get very excited about computer games, but Spore looks amazing.

Tagged

Does “years of experience” matter for programmers?

I just saw Jeff Atwood’s article on the subject of programmer experience.

Programmer Experience

Jeff questions the correlation between a programmer’s experience and their programming ability, he also talks about company’s who won’t hire anyone without experience in the exact system they need the developer to work on.

Software development is a funny thing - while there is definitely technical knowledge involved, there is also a fair bit of “secret sauce” required to get any non-triivial project off the ground.

When you get past a certain (very small) size, the structure and design decisions you’ve made when first writing your code make a big difference. So although a novice programmer may be able to write a function that opens a window. They will most likely drown if they try to write even a simple text editor.

The best example of this is with 3d games - getting a spinning cube to display is relatively simple. But writing a 3d game requires quite a bit of design skill.

It’s in this facet of programming that experience and “gut” feelings become very useful. A programmer without a certain level of experience will most probably not be able to design a large system on his/her first try.

Another aspect of this is that of good judgement - there are some people who just have a knack of consistently making the right decisions. In my book this attribute is much more important than years of experience or any other measurable factor. What troubles me, is that I don’t know if you can really tell something like this from a resume.

Relevant Experience

I’m of the opinion that a reasonably experienced programmer - one whose smart, knows a couple of programming languages, and has done a couple of reasonably sized projects. Is capable of becoming productive in most environments fairly quickly.

Therefore, I think any company limiting itself to people with “5 years experience in XML” are needlessly narrowing their pool of candidates.

By and large, the only real exception I can see to this is when a company needs someone to develop a system now [as in yesterday], and so can’t afford the 3 months or so it would take for a new developer to learn the environment. It’s important to note however, that even a programmer with loads of experience in the specific field is likely to take a while to come to terms with an existing codebase, so the perceived win may be smaller than what one would think.

Tagged ,

Smart People

Blogs can be annoying sometimes - giving millions of people a stage where they can post about they’re every move can get quite boring really quickly. When you add video blogging into the mix, things can get downright scary.

The one very cool thing about this however, is that there are some incredibly smart people who just write damned interesting things.

One of my favorite recent ones is Ian Lance Taylor’s blog he’s one of the old-time GNU guys, and his blog posts are by and large really fun to read. A recent neat one concerns getting answers on the internet.

Tagged

Dion & Steve’s RoR Chat

Dion Almaer posted a great interview with Steve Yegge concerning his port of Ruby On Rails to Javascript - “Rhino On Rails“.

Rhino On Rails sounds incredibly cool, but I wanted to talk about some of the other stuff Steve mentions in the interview.

Some people think that the web needs a new architecture:

Web development is unimaginably obtuse nowadays.

  • HTML wasn’t designed to do the pixel perfect presentation that everyone seems to want out of it, so you have to hack your way around.
  • Web browsers aren’t compatible with one another, and as a browser vendor you have to emulate bugs in the market leader in order to render sites correctly.
  • Progress is slow - 5 years in between IE 6 & IE 7, standards bodies that sit on non-relevant standards for years (e.g. The CSS Working Group).
  • A large number of uninformed developers, which is magnified by the leeway you have writing incorrect HTML & JS while still having it render with no warning in the browser.

It’s tempting to think that maybe some uber-hacker can come along and design a “new standard” that everyone will suddenly start using. Something clean and fun to use, which solves the real problems people have.

Unfortunately, I don’t see this happening any time now. For something to replace the HTML,CSS,Javascript trifecta it’s going to have to overcome one heck of alot of legacy. The web, as currently defined is ubiquitous - it’s in our PCs, phones and toasters. For something new to take hold, it would have to be at least 10x better, and have very good PR. It would also have to be an OPEN standard, as even a very large company wouldn’t have the resources to write enough good implementations.

Unfortunately I don’t see any of this coming.

Server Side Javascript:

Steve says that after you get used to it, writing server side javascript isn’t that bad.

What bugs me about client side Javascript is things like:

a = function(){return 1;}
()

Because Javascript tries to be smart and inserts semicolons for you, in the above example a is equal to 1, and not an anonymous function that returns 1 as you might expect. Oh wait… That’s actually 1.0000f - Javascript currently only supports floating point numbers and has no int type. It makes me cringe thinking of the subtle bugs you can encounter due to quirks like this.

I hope they’ve solved that in Rhino and/or EC4.

Steve is excited about D:

That really brought a smile to my face. D looks like it’s shaping up to be a worthy successor to C++. It still has a long way to go, and allot more support to garner, but if Steve’s excited about, there appears to be hope :) .

Tagged , , , ,

Risotto

Today I went to a Risotto cooking class, it was kind of an interesting experience, especially since I think my main takeaway from the whole thing is that I don’t really like Risotto (which probably means I’m a bad person with low moral values). The class was amazing, I guess I’m the one at fault.

You basically make Risotto by sauteing some onions in olive oil in a pan, then adding the right kind of rice (I’m told Arborio is good). You let this simmer for a couple of minutes, then cover with dry white wine and let this simmer for a bit.

You continuously stir this for about 25 minutes until the rice is cooked, adding liquids as needed (the liquid needs to be hot). The continuous friction from the stirring causes the starch to come off the rice and give the Risotto it’s characteristic consistency.

Cooking like this is something that you have to have a feel for - when do you add the liquid? How much? What temperature should the pan be at? How much seasoning should you add and when?

Good cooks know how to adjust all these dynamically, taste the dish and add the missing bit of spice that can make the difference between a bland unappealing mess, and an amazing zingy dish you’d kill for…

Me, I’m a programmer - Baking is much more appealing to me. You just add the ingredients in exact quantities according to the recipe, set the oven to a certain temperature, pop your thingy in and in x minutes out comes something delicious.

There are of course little adjustments you make along the way, but it’s just basically chemistry…

Chatting with the chef who gave the class, we asked what to do with leftover Risotto. He said you could make balls out of them and fry them up with a little cheese in the center until lightly browned. Now that sounds appealing :)

Tagged

Popularity?

I just found out that “spin”, the site I used to run for physics students at HUJI has an entry on bugmenot.com.

I guess that means I’m famous :).

Seriously - spin is a site that I hacked up using static html while I was doing my Physics degree. Those were hectic times for me, HUJI has a very demanding Physics program and finding time to wash dishes in between schoolwork was hard, let alone creating and maintaining a website.

I never really had time to give spin the love it deserved, and it’s contents languished for several years as no-one took the reigns and updated it, so with a heavy heart I took it offline recently.

What’s amazing to me is the community that sprang up around such a crappy site - just a bunch of static pages with links to scanned course notes and a rickety copy of phpbb.

I guess it stems both from the fact that spin filled a very real need in bringing social contact and community to physics students. and also, maybe in some strange way, the simplicity and rickety-ness was appealing?

Tagged , , , ,

Those damned Yung’uns!

So I posted a question to the webkitsdk-dev mailing list today. For those not “in the know”, it’s a mailing list for people writing software that uses Apple’s WebKit open source browser engine - read: die-hard apple geaks, and technical web people.

As I was about to go home, I received the following reply to my post (names have been changed to protect the innocent):

Hi,
 I really don't know why I keep receiving these inquiry's.
I have nothing at all to do with this!
Sorry cannot help,

Sally Whatsit

A quick Google Search showed that Sally is a 50-something Canadian pensioner who advertises her services as a cat sitter, of all things…

I sent her an email explaining that maybe someone else had signed her up for the mailing list, and provided instructions for her to unsubscribe.

I can’t shake the image from my head of a nice little old lady from Canada who periodically gets puzzling mails from misguided youth asking about computers, which she dutifully replies to.

Yikes! Tagged , ,

Ask Metafilter

Ask Metafilter has to be one of the hidden treasures of the internet.

While the subject matter can get wacky at times, posts like this pop up and just bring a smile to your face…

Tagged ,

Wow, that took a long time…

Wow, I’m glad I’m finally updating the old frame-based website I set up years ago.

I guess I’ve never really had time to bite the bullet and re-write the site properly, from the ground up myself. Doing this wouldn’t only mean writing the HTML, because what I really wanted was a CMS with support for a nice offline client like ecto. I guess this is doable, but would take more free time than I’ve had in the last few years.

So when I did the redesign I started out looking for software I could use to bring things up to date with minimum hassle so I could actually update content rather than deal with the infrastructure all day.

At first I looked at textpattern, but although it seemed really powerful, using it would mean learning a whole new markup language, something I didn’t really want to get into. Also the first couple of themes I tried for it failed in various odd ways, out of the box…

Enter Wordpress, a simple and very widely used blogging platform. Surely I could set up a site with this in no time. Well… Nearly… If I wanted to use the default theme it would take all of five minutes, but finding an attractive theme on the other hand… Well that’s a whole different story.

There are a ton of themes out there for Wordpress, but most of them either:

  • Didn’t work with the latest Wordpress release.
  • Where just plain buggy as hell.
  • Looked messed up in IE.
  • Or where not what I was looking for visually.

In the end I found the Barthelme theme, which is a nice, clean, well-maintained, standard-complient theme and with a bit of customization was just what I was looking for.

Using an external software package is nice and all, but inevitably there’s customization and <gasp> bug-fixing to do. So I’ve now set things up with Mercurial Queues which is a nice way for maintaining your own changes on top of a changing source-base. So hopefully I’ll be able to upgrade to new versions of Wordress as they come out pretty easily.

So with as sprinkling of automated backup scripts the update is finally done - woohoo!

Tagged ,