Is there crack in the groundwater?

Every few months or so I begin to ask myself the age old question; Is there crack in the ground water?

This time it’s over the property industry, particularly the rental people. We’re looking for a nice cosy garden apartment and we have a fair sized budget, it shouldn’t be all that hard.

But there are forces conspiring against me:

Firstly, the steaming pile of web un-usability that is GumTree really needs to catch a wakeup call. My single biggest gripe is simple; now that all modern web browsers support tabs you really should allow users to open up a particular item in a new tab. Instead they use some nonsensical javascript navigation that even I, who remember, am the Elvis Presly (the fat narc’d up one) of javascript, can not make sense of… I mean, I understand how it works, I just can’t understand why they did it. Funnily enough, there are actually html anchors for regular links and they’re set up properly, but then they also have this javascript onclick event that strongarms the browser and forwards you to the same page the anchor tag does. You know in case your browser happens to support javascript but doesn’t support html.

(I know there are firefox plugins that allow me to selectively disable javascript for particular sites but as you can imagine, other elements of their site break horribly without javascript)

Secondly, it’s the lazy lazy property people who seem to be about as effective and hard-working as the employment agencies. Why would you be more than happy to have tens of potential customers drive out to some block of apartments, struggle to find the place, only to find that the place is a cesspit? TAKE A FRIGGEN PHOTOGRAPH AND PUT IT ON THE INTERTUBES!!! It’s free! It has got to that point where I no longer trust listings without photographs, but then the optimistic care bear that resides in the cockles of my heart says things like “maybe it’s a really nice place and the granny selling it pre-dates chemical photo-lithography“… maybe indeed, until I discover it’s a property agency with a website.

Thirdly, if you’re paying attention you’ll see how this is close to number 2. If you’re going to take pictures of your “apartment”, please include 1 or 2 pictures of, I don’t know, YOUR APARTMENT and not 3 photographs of your garden… and only your garden. I can think of only one reason why you would post 3 pictures of your garden and none of the inside of the apartment… 1960s decor!

Fourthly, NINETEEN SIXTIES DECOR! There was a lot of drugs being consumed back then… I think there must have also been a lot of crack in the groundwater because seemingly normal human beings thought that bright/dirty orange melamine kitchen cupboards (complete with plastic air venty hole things) were a good idea. Also, puce bathtubs. As much as I like the idea that someone named a colour puce, I don’t want to bath in that in case I fall asleep and wake up thinking I’ve accidentally overdosed on nutmeg and vomited in the bath, again.

Fifthly (I don’t care if that’s not a word). Please use accurate descriptions without making up new words that are left to interpretation. “Non-modernised” is not a widely used term. Google only found 411 examples of it being used, and mostly by ponsy antho students. Unless you actually mean that there is no flush-based-human-waste-disposal-system I think you might be better off using the words “Old” or “Dilapidated”. While I’m on the topic of descriptions “Near KFC” is not a selling point. Also, “Upmarket” and “Classy” are now terms exclusively reserved for woman in the service industry.

Lastly, (fine, sixthly), If you are in the business of selling property and you put ads for said properties on the internet please don’t be surprised when I get pissed off at you for replying to my email by asking me to call you. Firstly, (here we go again), YOU SHOULD CALL ME, I’m the customer. Secondly, PLEASE DON’T CALL ME, I like the impersonal vapid communication that is the internet. It means I can shoot up to numb the pain while I type my reply to you, you stinking crack addict.

Jonathan says it best

Normally I would write a little thing about the upcoming geekdinner, but Jonathan Hitchcock said it better.

Hi,

The ancient Greeks thought that the rainbow was the messenger of the
gods, and named it “iris”. From this, we get the Iris flower (which
blooms in a variety of colours), and the iris in our eyes (which is
the coloured part). As happens in language, this word gave birth to a
daughter, “iridescent”, which means “brilliant, lustrous, or colourful
in appearance”.

The Iceplant, is, like, a sort of fig.

So, I’d like to announce the ninth Cape Town GeekDinner, named
Iridescent Iceplant, which will be held on Thursday the 31st of July,
at Da Capo Restaurant, in Green Market Square. I want to say that
it’s starting at 5:30, so that you tardy Capetonians will arrive at
6:30 for 7, because that’s when it’s really starting.

Those details are on the wiki page, where you can also see the logo
for this dinner, which should remind you of that time you saw Joseph
and His Amazing Technicolour Dreamcoat:

http://wiki.geekdinner.org.za/wiki/Cape_Town_July_2008

Please sign up if you’re coming, and please remove yourself if you’re
not – the venue’s a little cosier than most, so seating will be
limited. Also, if you’ve got something interesting to talk about, let
us know, we always need talks. The page will be updated as we get
closer to the dinner.

Hoping to see you there,
Cheers,
-Jonathan

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.

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.

Codewar

pre{
font-size:1.2em;
}
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.

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.

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]