Wednesday, 27 September 2006

Where, when will be linked to what

I've been thinking of how there are more and more picture / mapping services like how flickr ties into Yahoo maps and how this will (shortly) lead into your camera (cell phone??) being GPS enabled and encoding where you took the picture along with the other meta information - when. That will be pretty cool in itself as it allows you to easily upload pictures to a service and see everything laid out on a map.

The cool part will be when someone takes the meta information and co-relates it to the tags that people have added - what. You'll be able to mine a site like flickr to figure out that all the pictures at this location are likely to be the Eiffel Tower. By linking when and where, you will no longer have to rely on people tagging things the same to associate images of the same event.

Everyone's photos will add to the collective and with photo tourism, 3d models and walk through's will be possible of just about any location. Now they'll have data to make a holodeck. That's step 2. ;-)

Grr.... "web developers"...

One thing that really frustrates me is sites that don't work in firefox. I was frustrated with Orleans Bakery's website. For small business, I usually mentally cut them a lot of slack 'cause I'm just impressed that they have a website.

At the bottom of the page it links to who did it. So, out of the same curiosity that makes people watch an accident on the highway, I followed the link. It brought me to a flash heavy page (all blocked with flashblock), I enabled them to see... nothing. It was all (mostly) just blank. I couldn't figure it out, it's just flash right???

Then I scrolled down to the bottom of the page to see:
Note : This site is best viewed in 800px by 600px with 32 bytes colour or more.
Internet Explorer 6.0 (or a more recent version) is required and can be downloaded from the Internet.


I don't know if I'm amused or ticked off. I just think that it's pretty funny that someone is marketing themselves in a way that states at the bottom that the product will only work for somewhere between 55 and 90-ish% of the market. Please, please if anyone is reading this who feels that they are a "web developer", try out your site in the top 2 browsers... hopefully in more then one OS, but it's not like anyone uses an OS other than WinXP. :-P

Monday, 25 September 2006

Treadmill Dance

If you have not seen the Treadmill Dance, now would be a good time to take a look. ;-)

Sunday, 24 September 2006

Entertaining to non-computer people

It has been brought to my attention that this blog (apparently) has too much computer related stuff in it. Yes, I spend (at least) 1/2 of my waking time working and thinking about computer related stuff. So I blog about it. I find that logical. Sorry if it's not entertaining... I guess sometimes I am boring.

So, without further ado, here's some pictures of puppies. Yay!

The Myth of the Golden Colander

I've been thinking for a while about creating the One True Process that would ensure that code that passed it would be Good Code. Let's call this the Golden Colander. It will be a way to filter out all the bad code and only allow the "golden" code through. Think of it as an idiot proof automated code review.

Conceptually, if you had something that was this good, you could get that army of infinite monkeys with infinite keyboards that you always wanted to do all the grunt work.

If you had this Golden Colander you wouldn't have to manually code review someones work, you wouldn't have to run code coverage on it, it would be automated, fair and black and white if code was good.

A couple of things pop into my mind as I go down the path of this thought experiment:
1) I would be out of a job. :-(
2) at this time and for the foreseeable future, this is an impossibly complex tool to build. Not going to happen any time soon.

I love automated tools and love to apply them to any work I am doing. But there is one "failing" of the tools I have seen: there is nothing that can make as good an evaluation as a person. Compilers might tell you if variables are not being used or other common problems, but it can't tell you that you are doing something architecturally stupid. You can add unit tests to a project, but not force anyone to run them. You can say "add comments", but there is no automated process that can evaluate if they are good comments. These are some of the things that I would love to fix if there was a Golden Colander, but alas, it's a myth.

Thinking about these things has brought me around to the value of a code review (or pair programming). Nothing can help to prevent brain dead decision quite like explaining it to your peer or superior. It's funny how little shame is required to get people to think things through or be a bit more careful.

Now, catching things in code review is great and all, but that's reactive. The damage has been done and now you're in "fix it" mode. I have found that it's far better (cheaper) to do something right the first time than doing it crappy and then re-doing it. What does this mean? You must hire the smartest people you can to do the job. 2 people that that are 1/2 as smart as personA else won't do the same quality as personA. They'll do worse, just faster. This applies to every field that I can think of, not just software.

Since google only hires the smartest people, I bet that the QA department has a much harder time looking for bugs than other places. It's like in cooking, if you want better tasting food, start with the best ingredients you can.

I'm going to end it here since I think that I am rambling but here's the conclusion: no process can compete with starting with the smartest people for the job, and giving them the right tools.

Saturday, 9 September 2006

Accounting software

After doing my corp taxes this year with MS Excel, I think that for next year I'll use some software. I say "taxes", but I'm talking about my bookkeeping. I don't trust myself to actually do my taxes... Wikipedia has a "comparison" of packages, but it's pretty light on the details.

I found another review of different programs, but I'm not how much credit I would put into this review... *sigh* A co-worker was using GnuCash but then switched to make things easier for his account, but apparently it didn't make any difference to what he was charged. For lack of an obvious choice, I'll probably just go with QuickBooks since it's popular choice. Does anyone have any preferences for what they have used?

Thursday, 7 September 2006

Bad code...

Too funny when I heard someone singing to the theme of Bad Boys
Bad code!
Bad code!
Whatcha gonna do?
Whatcha gonna do when they code review?


Tuesday, 5 September 2006

Different attitude at work

After reading about compact fluorescent light bulb on slashdot and "if every one of 110 million American households...[replaced] an ordinary 60-watt bulb... [it] is equivalent to taking 1.3 million cars off the roads". Wow.

That got me to thinking... how much would we save if we didn't actually turn the lights on? Like at places of business... people seem to treat power differently than if they were at home. At home when someone leaves a room and no one else is there, they turn off the light. At a place of work, not so much. Why? I don't know. If we just changed the social aspect that it's "okay to waste" when you're not directly paying for it, then I think that we'd use a lot less power.

I know at some places they have motion sensors to figure out when the lights should turn off, but I think that's overkill. Just turn off the freaking lights.

Think about that next time you walk by an empty board room with the lights on, or an office building that seems to have all the lights on at 7 pm on a Wednesday.