Skip navigation

Seriously. I hate writing applications that consist entirely of

// get result set with mysql_query
//  check if there are any results
     //  loop through each result
          //  output its data
//  no results?
     //  output message saying so

Once you’ve mastered that you can get hundreds of freelance jobs and securely say you have the prerequisite skills. It’s just so dull after writing it a hundred thousand times. Oh, that and

//  has this form field been set?
     //  yes, update database

That’s everything. I want something more interesting. I expect this is why Rails was made because someone got sick of doing this.

So I sucked at keeping An Idea A Day going. I mostly got distracted by other things, and also I think have a good select of ideas that can keep me busy for a while. Maybe it’s best to have a short-list of good ideas, than hundreds that I’ll never find time for. At the moment I’m mostly working on my freelance management site at the moment, and a few bits of client work.

I’m reading ReWork at the moment, which is a business book that seems really agile (in the methodology sense). It’s really smart, and says things that I know will upset a lot of people. Saying things like “planning is guessing” flies in the face of everything I learnt when I was studying business. In fact, that entire course was about making product proposals based on project figures, which people like David Heinemeier Hansson (whose really become a hero of mine over the last few weeks) would say are completely useless.

The 37signals guys do genuinely seem to believe that everyone can achieve what they have though. I agree with them most of the time. But they talk about there being a million to one chance of the next start-up being a Google, or a Facebook, and they don’t really realise that they’re a Google, they’re a Facebook. They’re certainly making enough money to be up in those ranks. They talk about having freedom like anyone can have it, but it’s easy to trust your employees with a credit card for expenses or possibly piss of a customer when you’re already earning millions of dollars a month. You don’t have those liberties as a new business who should be cherishing their customers, not telling them that they’re idiots. (Saying that, I love the “Let your customers outgrow you” essay.)

Reading the book has mostly gotten me excited about being the little guy, again. It talks about all the silver linings, like being able to entirely change my business model in one day, and being able to make mistakes whilst there aren’t millions of customers watching me. Being small means I’m restricted to keeping things simple, which is a key stepping stone to a good application, apparently.

I’m also reading a book on Marx, just to get the views that are opposing mine.

The first thing I’ve realised is that people are really susceptible to opinions. Reading this book I’m coming across ideas that really make me rethink my ideas (even if they don’t change my opinions). It throws out simple phrases like “property is theft”. It barely explains what it means, so you’re left to think about it yourself. If it had been explained, I would have read that paragraph and carried on, but I had to stop and think “what do they mean by this?” It’s a pretty strong way to win someone over, once you have them thinking their own ideas up.

“Property is theft” has really struck a chord with me though. What gives you the right to own the land that your home is on? What gives oil companies the right to take the Earth’s resources and sell them as their own? It’s not fair that the richest man takes the most. An arbitrary currency does not entitle anyone to a finite resource which belongs to me by birth right as much as it does you.

I still strongly believe in my argument against that ideology — you’re entitled to what you earn — but it’s interesting nonetheless to think about these things.

I was thinking about making an ant farm earlier, and then realise it’d be weird if they escaped. Instead though, it shouldn’t be too hard to create an AI for ants. I doubt they have much of a wide activity set that it’d be too hard. I’d have to read a lot about ant behaviour in order to do this though. Oddly, that doesn’t put me off too much.

Could be an interesting weekend project.

Today was supposed to be a busy day for me, but it mostly turned into sleeping in and only getting to the library at five pm, rather than the nine am I wanted. When I got there I only did one part of the work I wanted, and got stuck when I was trying to centre a JLabel… I was back home by seven.

I think the definite biggest hit to today’s motivation was not getting up on time. It just pushed everything back a few hours, and once your schedule is kicked off course by that much you tend to think “meh, what’s another hour later going to change?” Getting up on time is tomorrows aim in that case. It seems so petty, and childish though. Some people have to get up at four am to get to work on time. My sometimes getting up to eleven o’clock is just horrible.

It would be better if there was some kind of motivation. A website with a Lost input-the-number-every-108-minutes type function. Not every 108 minutes, but rather every morning, before 0830 (and then again at 0900 to make sure you’re actually up). I might do that right now…

There needs to be some kind of reward at the end though. I’m not too sure what that could be. It can’t cost me any money, but must somehow give that minireward feeling that I get from WoW…

Oh, achievements!

This wasn’t going to be a post for my Idea A Day, but I guess I’ll make it so. A website in which you get achievements for things that are to the betterment of your life. “Get up everyday for two weeks before nine am.” (Described above.) “Go camping in the Lake District.” (Tracked by GPS.) “Be sociable! Spend more than an hour in six different places in a week.” (GPS again.)

I’m sure there are others. They don’t have to be provable always; although there’s a tiny competitive part to it, I just like collecting achievements.

Because it’s one I’ll probably use the most, I’m currently working on the TV tracker I described. Mostly though, it turned into me just adding more to my standard PHP template that I use for most my projects. It hadn’t been updated in a while, and I’ve added more functionality that takes the pain out of starting up a new PHP project (which will probably eventually turn into my Rails for PHP like idea).

Since I ended up playing World of Warcraft this weekend (ugh), I didn’t get much done on it. I’m planning on adding to it during this week though, and releasing the code once it’s in a releasable state.

This probably isn’t something people want when they’re playing a game, but I think it would be cool if there was an MMO with finite resources. The world is generated once, and then not changed again.

This ore mine has six thousand tonnes of ore, and once that’s all been mined, it’ll make no more.

Mobs are “born” at the beginning of the world, Creationist styles, and they can mate and produce more. But once they’re all killed, that’s that species extinct. Maybe a talent tree could lead to taming some pets, as fighters, or as live stock where they can be bred. Environmentalists might spring up, protecting habitats of animals.

Players can build things in each sector of land, but they never truly own it. It can be taken away by force just like it can be in real life. Maybe a guild of players will get paid in exchange for defending the land?

There wouldn’t be any leveling, per say. The aim would just be to earn as much as you can, gain as much land as you can. Become King? Or maybe a democracy could happen.

Player death should mean something. Something extreme. Both to inspire people to live, and also to not take life away. When the stakes are high, a person will be less likely to go and attack people randomly just to be a dick. If they stand to die, and lose all their stats, money, items, and property maybe they’ll think twice.

It’ll be a cool experiment in social politics, in a world where your property actually means something. If you lose your unique Amulet of +10 Health, you can’t just go and do another rinse and repeat quest. That was the only one in the game.

Recently, I got a HTC Hero. It’s a beautiful smart phone. I managed to get my contract with unlimited data (well, 750Mb fair usage) and that’s made me start thinking more about just storing my media online, and streaming it when I need it. Things will obviously be cached, so I figure my album or two shouldn’t take me too close to that.

I think it’d be fun and useful to recreate the iTunes experience, just for a mobile device in an online environment (browser-based). Different to Spotify because I already own the media, and don’t want to pay a monthly fee. It’d just be my personal use of DRM-free media I have. My library would not be publicly available, or usable by other users.

I’m not too sure on how I could prove that the user owns the song though, and didn’t just illegally download it before uploading it. If this were ever to be a popular service, I’d have to have lawyers and people look into that. Meanwhile, it’ll just be me using it and a few close friends so I can make sure none of them are breaking any copyright.

Not just music media though – podcasts too. They could just be steamed from the server they come from. The service would have to be able to remember where I left off listening to the podcast though, since I rarely finish Geekbox in one sitting for instance.

Update: I found Google Listen! It seems a bit odd at the moment, but I’m sure that’s just me getting used to it. I wish it had a web interface though…

I know that sending an SMS from my phone to another phone costs Orange almost nothing. Orange to another network probably doesn’t touch a foreign mast (I expect that data is just sent via Internet, a much cheaper way, and it keeps load of the masts) during the network transmission (it obviously uses a mast from the receiver’s network to their phone though). Meanwhile, a lot of businesses would really love a free-to-cheap API for sending messages. Twitter and Google would definitely be up for that, being as they had to make individual deals so far with whoever they’re working with. There’s two massive customers already.

There’s a weird myth about each phone having an email address associated with it for text messages, but I’ve never got that working.

There actually is a way to receive messages, and send messages to a group of users. I use it to get a message whenever a customer emails me. It just takes a little messing around with Twitter. But it shouldn’t have to be that awkward.

A little while ago, an article on how to “safely store a password” was on the front page of reddit. I thought it interesting and saved it. I was just looking through my old, saved delicious links and found it again.

On second read, it’s actually a bit stupid. The first time, I remember thinking “heh! well, come tiny server couldn’t possibly handle a brute force attack on it, so I won’t need to spend the cost of using bcrypt.” Reading it this time, who on Earth has a machine that can handle seven-hundred million requests to log in per second?

Google or Facebook, I suppose. But after the first few millions wrong attempts to log into my account, I’d hope they’d be sophisticated enough to catch on that something is a little weird with these requests and just boot the IP address.

All using bcrypt will do is slow your user down by 0.3 seconds each time the log in — which is a noticeable lag.

tl;dr: Use a double hashed MD5 string. It’s fine.

The BBC website isn’t that bad looking. The largest chunk of the page still goes to the content. However, my problem is that it’s a fixed width website. BBC isn’t the only person that I’m annoyed with because of this (The Times and to a lesser extent the Guardian website also only gives a fixed amount of room to the page). Fixed width isn’t bad, but it is when you’re still being supportive of smaller (older) resolutions.

On my not-so-large monitor there’s still a large amount of white space that’s going unused that the content of the site could fill up. The BBC has an obligation to support legacy things for a short while, but they’d still be supported with a variable width design.

The ideal solution to this was if people took more seriously the concept of design and content separation. Blizzard do this amazingly — by just ditching HTML all together. That way I can just disable their CSS, and add my own. I could literally do whatever I want without having to worry about badly formatted or too tailored HTML getting in my way.

Follow

Get every new post delivered to your Inbox.