Should PC’s be easy to use for everyone?

Tags:

Should PC’s be easy to use for everyone, or should you actually need some kind of understanding of how they work?

I recently saw an article about a new computer aimed at “computer illiterate” users, the Alex PC. Elsewhere on the ‘net, people were arguing about whether or not trying to make it easy for “non-geeks” to use computers and internet was a good idea or not, which provoked some thoughts which I thought I’d share.

Read More

Can you make JavaScript’s String mutable?

Tags:

Here’s a question I was pondering a couple of days ago: Can you make JavaScript’s String object mutable, as in modifiable without having to re-assign the string.

Why would this be useful? Sometimes you might share a string between objects, and you’d want changing it in one place get reflected in elsewhere. If you had a single string object, which was referenced from multiple places, this would be simple.

But it turns out, it isn’t…

Read More

How much would you pay for good headphones?

Tags:

Time for some consumer advice today.

I’m sure many of us have often thought about getting headphones – and I’m sure many of us already have a pair – but how much is a reasonable amount to spend? And what will a higher-grade (read: more expensive) pair do that’s worth the money?

I recently decided to invest on some new headphones. The AKG K 701’s to be precise. They aren’t exactly very cheap and you’d probably want a headphone amplifier to go with them, one which I incidentally also bought. I’ve also had some more reasonably priced headphones in the past: Sennheiser HD-555’s and going down in the price range, some Koss and Philips ones.

My opinion is that great headphones can make listening to music much more enjoyable. However, should you go all out and buy expensive ones like the AKG, or is it smarter to purchase something else?

Read More

Rendering graphics in JavaScript games

Tags:

As I’ve been rewriting TankWar, I’ve been thinking of various approaches to displaying the game’s graphics. At the moment, I can count three feasible approaches for rendering game graphics:

  • DHTML – In other words, using divs with images and moving them around
  • Canvas
  • A hybrid: Canvas with DHTML

I’ve considered each of these, and they all have some pros and cons which we’ll look at next.

Read More

Best of 2009

Tags:

In the tradition of end of the year posts, here’s some “best of” statistics from this blog for the year 2009.

Next week we will return to our regular programming.

Read More

Rewriting TankWar: Assessing the damage

Tags:

I have decided to rewrite TankWar, and I’ll be writing a bunch of blog posts about the process. If you ever wanted to know how to write a scorched earth/worms-like game using just JavaScript, now is your chance to learn ;)

This is the first one: Assessing the damage. In other words, take a look at the old code and see what can be salvaged. I’ll also list some issues with the current implementation, and how I plan on solving them in the new version.

Read More

Git interactive rebase tips

Tags:

Interactive rebase is one of my most used Git commands. It’ll let me slice and dice commits in various useful ways. Here’s a few tips for you to unleash the true potential of rebase :)

  1. Basics: editing, combining, reordering and removing commits
  2. Breaking a commit into two
  3. Taking a part of a commit and bringing it to HEAD
  4. Bonus! How to recover commits if you screw up

Read More