Archive for June, 2008

Observations from the weekend.

  • I made up an awesome pasta sauce based on “what we had around”:
    Put in a saucepan and mix:

    1. 1 can of tinned tomato and onion mix
    2. Two smoked chicken breasts cut into slices
    3. 1 can of tomato mix (Basically tomato and onion mix without the onion)
    4. One piquant pepper (thinly sliced)
    5. Handfull of chopped parsley
    6. Half a teaspoon of crushed garlic (More if you like)
    7. Half a teaspoon of chopped ginger
    8. A big handfull (or two) of a good quality grated mozzarella or gouda
    9. 25ml (table spoon) of Nandos Wild Herb Peri Peri (Double this if you like hot stuff)
    10. Salt and pepper to taste

    Serve with whichever pasta floats your boat and beer.

  • It is amazing how long you can forgo the need to eat when you are busy hacking electronics in a cold garage.
  • I saw two girls (12ish) in a bookshop, one was reading a book on Mayan Mythology and the other was reading an entire book about Zak Effron. This reminded me of a conversation I had with someone else about the hot girls from school who ended up nowhere in life.
  • I distinctly despise being told to do something by someone who can not give me a rational reason for the intstruction. A Cape Union Mart manager dude told me to leave the shop because they had previously had a power cut. The power was back on, but apparently the policy was to close the shop anyway. “But the power is back on” I said… “Yes, but it’s procedure” he replied,  “Why?” I asked. “Because it’s procedure”. His procedure hadn’t been relayed to the rest of his staff because as we walked out they were happily standing by the door as more people walked in.
  • Never watch a movie at Cape Gate. While the “common” people might be entertaining to watch as you walk around the mall, it is particularly NOT entertaining when you have to sit next to a kid who is loudly chewing on bubble gum with his mouth open the entire way through the movie, WITH his father sitting next to him doing absolutely nothing. Trailer trash.
  • I met a girl I’ve heard about for about 4 years but never met. She is every bit as wonderful as I had heard. It’s awesome to see someone in a relationship with someone they were enfatuated with 4 years ago.
  • It is very unawesome when one of your good friends starts to fall into the same stupid trap they’ve been in for the last 3 years… all over again. YES YOU! STOP IT!
  • We had home made bread and tinned soup for supper last night. I guess weekend cuisine can be in the shape of a tin after all.

Comments (1)

More awesome recycled music

This is a floppy drive:

Plus a link to an article that explains how to turn a hard drive into a speaker.
http://www.hodcroft.net/?s=4&p=speaker
Lourens, I know you have hard drives lying around.

j

Comments

Big Ideas

The internet gives everyone the opportunity to be surrounded by smart people. I think one of the tenets of being a geek, whether you’re a programming geek or a hair stylist geek, is that we love to surround ourselves with people who are a hell of a lot smarter than us. For instance, I would love to go work at CERN; a place where I am at a loss for an analogy to reference my relative stupidity. However, I would absolutely love every second of it… even if I walked around confused by everything I heard or saw… on some level I would take some stuff in and leave wiser. I think, as I said before, this is one of the differences between geeks and non-geeks.

I’ve found that a lot of my non-geek friends try and avoid situations where they might look dumb because they fear that it will reflect negatively on them. Perhaps true geeks have realised that there is always someone else who is a hell of a lot smarter than you, so there’s no point in trying to look clever. Obviously geeks revel in being the smart one and teaching others, but this is also part of being a geek: we love to teach because we make the world a better place by doing so. It’s also possibly why geeks are so incredibly fanatical about things like programming languages… because we believe that by convincing someone to switch from PHP to Python will make the planet a better place… and we’re probably right.

Which is all a very long introduction to the guy who made this:

Embedded video Big Ideas (don’t get any) from James Houston on Vimeo.

You want to jump to about 1.10′ for the music. Anyway, the guy who put it together has a blog, read it.

In his own words
Based on the lyric (and alternate title) “Big Ideas: Don’t get any” I grouped together a collection of old redundant hardware, and placed them in a situation where they’re trying their best to do something that they’re not exactly designed to do, and not quite getting there.

This speaks volumes to me. I like to imagine that the old hardware really all want to make music and this is their best effort an effort which, albeit rough around the edges, translates to something beautiful. Mankind’s quest to understand time and space is similarly rough, but we’re on our way.

Over and out.

Comments (2)

Codewar

Programming is about elegance. Yesterday someone asked me how to write a program that displays six unique random numbers (1 to 9). The beauty of this problem is that it is exceedingly simple to solve, but still leaves room for some awesome-source.

Here’s the simple solution in PHP (I make no claims to this being awesome):

$used = array();
for($i=0; $i<6; $i++){
	$x=rand(1,10);

	while(in_array($x,$used)){
		$x=rand(1,10);
	}

	$used[] = $x;
	echo $x . ' ';
}

Notice that this isn’t a battle for who can do this in the least lines.

I duly expect to be beaten on the head for some or other bad PHP habit. I’m also expecting people to submit the solution in Perl, Python, Erlang, Ruby, C, C++, Java and anything else you feel like trying your hand at.

ps. Wrap your solutions in <pre> tags.

Comments (20)

SO MUCH FASTER

Ok, so remember when I said the site would be faster… well, there was this little bug that was making everything really really really slow… but we fixed that and now we are back to full speed.

Comments

Artificial Intelligence Fail

Artificial Intelligence Fail

Comments (2)

Good Robot, Bad Robot.

I dealt with two robots on Friday. One good and one Bad.

The good robot was at Cavendish (A nearby shopping mall). When I drove into the parking garage I noticed that above every parking bay was a little sensor with either a red or green light on it. Red meant taken, green meant free. This means that from the one side of the garage you can easily spot an open bay… Combine this data with a direction system and you have digital arrows above the lanes that point you towards open bays. I drove in, the arrow said turn left, I turned left, another arrow said turn left, I followed and then bam, there’s my open bay. I realise that the electronics and software involved in something like this is all really not all that complicated, but when put together it forms a flawless system that just works ™. I love technology like this; stuff that is so simple yet so effective. No more driving around aimlessly looking for that mystery bay, no more getting stuck at dead ends with 6 cars behind you. The only tragedy of systems like this is that it’s so simple to “use” that we’ll take it for granted within no time.

Henk Kleynhans wrote an interesting post a few days ago about why software developers should do tech support. I agree with Henk and I think I have some additional insight. One of my biggest projects was building a pretty large system that managed the day to day business of a very large online travel company. It was a CRM, ERP, Accounting, Web Analytics etc etc application that was for the most part born out of being at the coal face and seeing what people were struggling with or what took more time than necessary. No one could have written a system specification for the final product… You just would not have been able to see all the opportunities in the beginning of the project, and you almost certainly would have ended up developing tons of functionality that someone thought was a good idea but would never have been used. The key to that project’s success was having a “no rules are good rules until proven so” attitude. This meant challenging every single process until it was as refined as it possibly could be. It meant that sometimes I would have to bang heads with some of the most ingrained procedures in the business, but ultimately the system was, and still is, a success. I still get a kick out of hearing people who initially moaned heartily about its introduction, now wax lyrical about its many virtues and how it saves them so much time etc.

Anyway, those three years, plus some “formal” education in the Business Analysis world, taught me to do what I’ve always done: Question Authority. If there was a procedure in place and it wasn’t immediately obvious why it was there, I had to find out why. And this is where I want to add to what Henk said. Not only should developers be taking tech support calls (which will essentially root out bugs and bad usability) but they should also, in the absence of good business analysts, be actively involved in the day to day running of the business, constantly on the look-out for better ways of doing things or areas where some software could improve the lives of the customer and the business operators.

There was nothing wrong with the Model T Ford. Tech support/engineers might have tightened some nuts or strengthened a part that kept on breaking, but essentially it would have stayed a Model T Ford. The engineers and designers who built the new Audi R8 have improved on decades of learning. It took engineering principles of “how can we make this quantifiably better?” and design principles of “How can we make this work better, feel better, look better etc” to end up with the R8. Henk’s developers are already on this journey with some of the functionality they’ve introduced… they’ve seen a problem that has two solutions. 1. The easy one, make the customer change some settings. or 2. The hard way, Figure out how to solve the problem once so that the customer doesn’t even know you’ve solved their problem. This is the same as the pretty lights in Cavendish… within a few years this sort of technology will be ubiquitous and young drivers will probably wonder why we need little arrows telling us where to go… I mean, a parking lot is easy, you drive until you find an open spot, right? Well, as anyone who’s ever been stuck in a busy parking lot knows, it is a painful experience.

Which brings me to my Bad Robot.

The City of Cape Town still thinks I live in Pinelands and still sends my electricity bill an address I used to live at about 10 years ago. This is despite numerous faxes to the contrary. Once again I found myself on the phone arguing with a call centre employee. They are unable to change my address over the phone because they need a fax. They can’t do it over the phone because I could be anyone. They can do it with a fax because a fax has a signature. They have no idea what my actual signature looks like. Ergo, anyone could send them a fax with a bogus signature on it, ergo, no safer than just doing it over the flipping phone.

I asked the girl if I could speak to her manager. I wanted to relay the vulnerability to someone more senior in the hopes that they might say “Hey, you know what? You’re right, that is a dumb rule”. Nope. The manager was busy (har har) and besides, “She can’t change the rules either”. “So who can change the rules?” I asked. “Nobody, they are rules” she said. “Nobody? I asked… “Surely Thabo Mbeki could change the rules, so maybe someone else high up in the municipality could change the rules too?”. She didn’t understand my example. She was a bad robot. She refused to question her rules, and in her painfully little world the rules were rules and you NEVER change the rules. I like to console my pain with the thought that the very fact that she can’t question rules is the reason that she works as a call centre employee and probably always will. It’s sad, but I guess the world needs droids.

Oh, and their fax number isn’t working. YAY!

over and out.
j.

Comments (4)

First Post!!!

Well, not really. First post on the new server. Those people on the other side of the African bandwidth curtain (Europe, America, Outer Mongolia etc) should notice a speed up.

Please let me know if you spot anything missing etc.

ta,

j.

Comments

Yes (they) can.

I am a big Obama fan. I believe he, while being humble of his own ability, sees no end to the ability of the human spirit. I believe that the world will be a better place if Obama becomes president of America.

[This post includes a video. Those people reading this in a aggregated form might have to click through to my site if they want to see the it]

Comments (3)

Firefox 3 is almost upon us…

The latest in a long line of awesomeness and yet another brilliant example of Open Source kicking proprietary ass, Firefox 3 is coming out later today (at 7pm for those in the plus 2 timezone). In an attempt to get more rah rah, whizbang, Mozilla has put together a little Guinness book of records attempt to set the world record for the biggest number of software downloads in a day. I have no idea what the previous record was for, especially since Britney’s Limo Flash pictures can’t be considered “software”.

Anyways, hop along here and get it later on tonight. I will also be drinking that last Guinness in the fridge as part of my own personal celebration. Lynnae, you can have some too as long as you promise to upgrade at work tomorrow.

Download Day 2008

Comments

« Previous entries