Email From Bill Gates

June 25, 2008

There is an awesome article over at seattlepi.com containing the text of an email written by Mr. Gates regarding his experience trying to download and install MovieMaker on his computer. The email really cracked me up, and I think it’s worth a read.

It’s probably also worth noting, that instead of all that rig-a-ma-roll, one could just buy a Mac (which happens to include iLife, which includes iMovie). The Surgeon General agrees that my strategy would keep your blood pressure a lot lower, and increase your life expectancy by about 10 years.

Why Kiva is Cool

May 15, 2008

If any of you read Inc.com you might have already seen this, but for those of you who don’t – read on.

One of the reasons I’m publishing this is to encourage people to lend money to entrepreneurs around the world using Kiva. A second reason is that this is an awesome story out of a country that was probably my favorite place in the entire world to visit.

Cambodia is a war-torn country, and the people still seem to live in daily fear that at any moment the Khmer Rouge could return to destroy and oppress once again. So seeing this glimmer of hope from an entrepreneur in Cambodia really seemed to make my day. And if the fact that this family is able to make $400 per month in their business seems like peanuts to you, remember that most of the population lives off of about $350 per year.

Firefly

April 04, 2008

I wanted to make a totally off-of-normal-topics entry regarding what I consider to be the greatest television show of all time.

It just so happens there is a very aptly timed xkcd sort of on the same topic (at least the “I can kill you with my brain” part).

Carly and I have been watching the first (only) season on DVD again, and each and every episode has me bursting forth with some form of “MAN! This is the best TV show EVER!” or another.

It continues to amaze me that Fox pulled this off the air, I’m pretty sure that THAT was a crime against humanity.

Sigh.

New Office

March 06, 2008

Where copious amounts of coffee er… XBox 360 ... er… sleep ... Oracle is murdered er… great ideas are built.

Holy New Site, Batman

February 22, 2008

And thus saith that Dan guy:

On the second and a half day of forcing the ‘other’ side of thy brain to work, thou shalt type ‘cap deploy’ and a new site shall be deployed where thine old site once hath been before then now to the end. Or something.

No permlinks should be broken, RSS feeds should still work exactly as before.

Technorati blog claim stuff.

One might define freelance or freelancer as:

a person who works as a writer, designer, performer, or the like, selling work or services by the hour, day, job, etc., rather than working on a regular salary basis for one employer.

I have a few reasons why, at least for the past few years, I’ve chosen to act as a freelancer, instead of going out and “getting a real job” – as they like to call it.

Here are my many and varied reasons for choosing to freelance, not necessarily with any in-depth discussion, but surface level reasons.

  1. I haven’t found any companies (yet) that I’d like to be an employee of. I find that most companies underpay and under-appreciate their employees (especially software developers), and if I was going to work as an employee of a company, I want my work to be appreciated, and I want to be paid a fair wage.
  2. A lot of companies favor people based on seniority instead of skill.
  3. As a freelancer (at least when the getting is good), you can choose to work on whatever projects are most interesting, keeping the work varied, and hopefully fresh. This is rarely the case when working as an employee.
  4. Tax breaks. I don’t know how the world works where you live, but in Canada – you get SCREWED for taxes if you’re an employee. If you freelance, or run your own business, you can legitimately save $1000’s of dollars a year that would otherwise go to poorly planned government projects, or 2010 Olympic Games.
  5. I work best when I want to work, not 9am to 5pm. I’m often up early, starting work around 7 or 8am. I like to play video games for an hour in the afternoon around 3pm. I like to take a break when my wife gets home from work so we can have a coffee together, and then do a couple hour of work in the evening. As an employee – you can pretty much forget it (there are a few companies who don’t care when / how / where you work, but not many).
  6. I like working with lots of different companies, solving different kinds of problems, and meeting different kinds of people. This is pretty much a given as a freelancer, and pretty much never-gonna-happen working as an employee of a specific company. Again, there are exceptions, but I’m speaking in general terms.

Freelancing isn’t for everyone (and it’s not always roses and candy canes), but these are a few of my many reasons for choosing it, at least at this point in my career.

When the perfect company comes around, offering me the perfect job, or when the economy goes to crap (probably related to some kinda sub-prime mortgage hoopla), maybe I’ll change my tune.

One thing that I love about Seth Godin is his unceasing efforts in trying to make companies see that they need to treat their customers with respect. This is made evident again in a great little piece he wrote about Apple’s $200 iPhone price drop that the mediawenttotown on.

He talks about a bunch of things Apple could have done to make the early adopters “ok” with the fact that they were just out $200. But then he goes on to say:

The key is to not give price protection to early buyers (that’s unsustainable as a business model) but to make them feel more exclusive, not less.

I wish more corporations would take the route of doing everything in their power to make their customers feel respected. To make their customers feel like they have a choice and could take their business elsewhere (even if they can’t take their business elsewhere).

It’s been officially 16 days since arriving back in Canada. At last my cell phone works (which, incidentally, was purchased brand new and activated at a Rogers store), but not without several days of a non-usable phone, while I waited for Rogers to “look into it”, a bunch of phone calls to tech support, and snotty customer service people.

The long story short: Rogers assigned my new phone (and my wife’s new phone) telephone numbers that were specifically “reserved for internal testing purposes”. I know a good three letter acronym (Dub-Tee-Eff) that could be used somewhat appropriately in this situation.

What I continue to be amazed at is that these monstrously large corporations (all but monopolies, with not nearly enough Government control over the rights of consumers, in my opinion), still haven’t clued in to the fact that it’s no longer considered cool to gouge their customers for every last penny, nickle-and-diming for every “value added service”.

After two years of being in Singapore and paying the equivalent of CDN$12/month for my cell phone plan, which included 100 anytime minutes, 1000 text messages, call display and voicemail – I came home to the abomination that is our Canadian cell phone industry.

Now, in my opinion, I don’t consider a cell phone “usable” without voicemail and call display. Those are now considered standard features in my books. If you hand me a cell phone without these, it’d be like handing me a new car and saying I had to pay extra if I wanted it to come with an engine and a transmission.

Between Bell, Fido (AKA Rogers), Rogers and Telus – the main four up here in the GWN, your “choice” as a consumer basically amounts to who you want to get screwed by. You can do research and make “choices” all you want, but in the end, your research will be for nothing, and you might as well choose the company based on how pretty their logo is, because no matter who you pick, you’re going to get screwed.

All companies advertise their most primitive, basic plan as a plan that costs about $25/month. But none of them tell you until you look into the fine print that on top of that, you have to pay a “non-governmental System Access Fee” of $6.95/month for “maintaining the network” (or $8.95/month if you choose to be screwed by Bell).

Also, you can forget text messages, voice mail or call display. Any of these things costs extra. And I’m not talking like $2/month either. If you want to get a standalone voicemail package from Rogers (if you choose to get screwed by the company with the bad logo and terrible web site) you’re going to pay $8/month. Fortunately (if you can call it that), all of our lovely providers offer you some “Excellent Deals” if you bundle services together. So I get to save a tremendous amount of money, and feel slightly less screwed because I can get a “Special Bundle” that allows me to have voicemail, call display and 125 text messages for the low, low price of only $10/month!.

Don’t forget that extra $0.75/month for the “911 fee”. I mean, seriously? Are you fricking kidding me people? And if that wasn’t enough add some good ol’ Government style GST to chalk on another 6%.

That means, if I do the math correctly, my $25/month cell phone plan, made usable by purchasing the engine and transmission (voicemail and call display) separately, plus other random and special fees works out to

($25.00 + $10.00 + $6.95 + $0.75) * 1.06 = $45.26

WHAT IS GOING ON HERE??! Why in the name of all things pure and holy should I have to pay $45.26 per month for a $25/month cell phone plan? When are you big giant corporations going to get a clue that profit is not the be-all-end-all, and that your customers are sick and tired of being repeatedly screwed over by your greed. When will the government finally step in and do something about it? When are consumers going to start to demand better?

Home Sweet Home... Sort of.

August 08, 2007

After about 7 weeks on the road (Jordan, Israel, Italy, Austria and Germany), my wife and I finally made it back to Canada.

It’s taken only a couple days for the Cell Phone companies here to frustrate me beyond belief. Having gotten used to paying the equivalent of CAD$12/month for a cell phone plan in Singapore, I’m back to North America, where I’m looking at about CAD$46/month (including taxes, a gouging for voice mail and call display, a special $6.95 ‘System Access Fee’, and Other Random Charges™) for about the same amount of service.

If that weren’t enough, we got our phones home, and they don’t even work. If anyone tries to dial my number, they get a busy signal or a message saying “Sorry, all circuits are busy”. Rogers was good enough to say they would try to get back to me with a resolution within “48 business hours” (are you fricking kidding me?) – and customer service said that I could “call us back when your phones are working, and we can credit your account with the number of days you missed”. The customer service lady wondered why I thought that was unacceptable, seeking some sort of reasonable compensation for such a screw up. She politely played her broken record entitled “Sorry, that’s all I can do” for me – over and over and over until I got so fed up that I told her I’d call back later and talk to a manager.

Welcome home.

On the plus side, I have a new article to write for IBM developerWorks, and it looks like a pile of projects that are looking like they’ll actually materialize sometime in the next couple weeks. Yay.

Off DreamHost. Yay!

June 04, 2007

I’m fairly certain that this is a good thing. Initially I had intended to set up shop at SliceHost, but I decided I really couldn’t be bothered managing a VPS. I’ve been there, done that, and right now – just don’t have the time. That being said, I set up at Media Temple on the Grid Service – and I’m hoping that my Mongrel instance stays alive and keeps SimpleLog up and running.

I know, there is yet another new design. I couldn’t handle the SimpleLog CSS anymore so I moved to using Yahoo Grids and fixed up the colors and fonts the way I wanted them, at least for this week.

Only 7 more days in Singapore, and then we’re headed back to the Great White North (the long way around).

I've Started...

May 16, 2007

...um…tumbling.

Updated: Shortened and fixed some grammar.

Seth Godin has posted (a number of days ago) an interesting piece on how even governments market themselves (in this post he is describing his experience at an Indian consulate).

I find that what Seth describes here, relates on a certain level to how a lot of businesses don’t need more technology, better web sites, or online e-commerce systems. Granted that these are all good things, and heaven knows there are a lot of businesses out there with really crappy websites. What a lot of businesses need are better ways of doing business, aside from the technology. Better workflow. Better customer experience. Knowledgeable employees. Common sense.

Is it just me?

May 01, 2007

Ever in progress is the large “summer trip home planning” – which thus far includes Jordan, Israel, Greece, Italy, Austria and Germany. Am I the only one that decides which hotels/hostels to stay in based on whether or not their web site sucks?

Singapore Ruby Brigade

April 24, 2007

Nick is here visiting from Texas, and we took the opportunity to head off to a Singapore.rb meeting last Thursday with facilities for the meetup graciously provided by the NLB. Ivan the librarian has posted a blog entry about his experience at the meetup, and seems enthusiastic in how the library might help to support the community. If you’re in Singapore and have any interest in Ruby or Rails at all, it’s time to get involved in the community – this is a great place to learn, ask questions and hang out with some really smart folks. Join the google group, or come hang out on IRC (Freenode) at #singapore.rb, I’m always so lonely by myself.

Just got back from a week in Thailand / Laos. Lots of good times, and I have a new coffee saying:

Once you go black, you never go back (unless you’re in Laos or Vietnam).

Because they serve it oh-so-nice with sweetened condensed milk. Especially in Vietnam.

Don’t know what to say on this front except I’m totally speechless. It’s only a matter of time now before the rest of the labels are forced to crawl out from under the luddite rock that they’ve been hiding under, and follow EMI’s brilliant move into the non-DRM arena.

Note to EMI Executives: As soon as it becomes available, I will immediately go through my purchased music from iTunes, and upgrade all EMI albums to DRM-Free, happily paying the extra 30 cents per track. After that, I will find and buy more DRM-Free EMI albums just to celebrate this glorious day. Thank you, from the bottom of my heart.

I’ve been really busy, so it’s taken some sweet time, but at long last I’ve been able to upgrade to SimpleLog 2.0 which Garrett Murray managed to push out the door. I redid all the colors, background, some of the fonts and the overall width of the content in my ongoing mantra to ‘mess with CSS’ more. The latest version also offers content and comment feeds, among other things, like a prettier admin interface.

DreamHost is continuing to aggravate me in new and special ways, none the least of which was deploying the new version of this site. I’ve got some space over at SliceHost that Nick has so nicely set up for us, but alas, I haven’t had the time or energy to get things moved over there yet.

I suppose deploying the new site isn’t a bad way to spend the afternoon after sampling a few pints with James at Pump Room Asia.

I’ve been meaning to comment as well about the relatively new and beautiful support for Ruby / Rails in both IntelliJ IDEA (screencasts here and here) and NetBeans (screencasts here and here, but I haven’t had time. It’ll have to wait for another day.

Don’t get me wrong, I love TextMate, but it ain’t no IDE.

Help me, oh Solomonic filters

February 28, 2007

A few weeks ago I was introduced to kayak by Nick. I’d never before seen meta-search executed this brilliantly. The filters, along with the flexible date implementation, beautifully integrated Ajaxian city searches, among dozens of other features left me with an absolutely jaw-dropping user experience.

If that weren’t enough, it made me smile a big, huge dumb grin, seeing the personality they crammed into this finely crafted application:

Well done to the folks at Kayak.

Hijacking

February 16, 2007

The nice thing about writing a little ‘signup’ application for a class that your wife teaches is that you have full control over the hijacking of that application any time you feel like it. See figure one:

Fortunately for me I didn’t get shot down, and we got some Gold Class seats at VivoCity.

Today, unfortunately, is not turning out nearly as good as yesterday. My mac is seriously on the fritz exhibiting the following completely random and seemingly unrelated ‘features’.

  1. Adium can not connect to any of the IM protocols I have configured including Yahoo, MSN, AIM and GTalk.
  2. Microsoft Word opens all files as Read-Only so if I want to modify them I have to “Save As…” first.
  3. Although CPU usage is completely normal, the entire systemm locks up at random, and I can barely switch between applications or type at a normal speed.
  4. My Airport signal strength indicator is in a “permanent off” state. My laptop is 100% convinced that my Airport is turned off, but I’m connected wirelessly to my network as I post this.
  5. DNS is completely screwed. I have to hit Shift-Reload sometimes 3, 4 or 5 times to get a page to show up in FireFox or Safari because it can’t seem to resolve random hosts. (This could partially, maybe, explain the Adium behavior.)
  6. Random applications terminate as soon as I start them. Yesterday it was Remote Desktop Connection. I would start it up to connect to a Windows box, and it would terminate before I could do anything. Today it’s photoDrop droplets that are crapping out.
  7. Mail.app won’t download any of my Mail (potentially also could be related to network issues, I suppose).
  8. Often when I start an application (say, TextMate or iPhoto for example) – I can’t click on any of the menu items in the menu bar. They’re locked. Which means I’m limited to only being able to use the functionality of the app that I remember via keyboard shortcuts, until it magically decides at some point in the future (20 minutes, 40 minutes – it’s all a great guessing game) when it decides it will permit me to now click on said menu items.

As I’m typing this, SuperDuper! has just finished backing up all my user files, and Mr. Laptop is now going to receive a full enema. I sure hope that this isn’t a hardware problem, or I’ll be severely unimpressed. At least the thing is under warranty. But if Apple is going to take my laptop for a week while they try to figure out what’s going wrong – I might have switched to Ubuntu by the time they give it back to me.

Programming and Philosophy

February 09, 2007

As one might already know, I read a lot of books. Two of the latest titles have been A Generous Orthodoxy and A New Kind Of Christian – both written by Brian McLaren.

These books discuss a lot about Christianity (and other religions) as they pertain to modernism and post-modernism (among other things).

This got me to thinking about the software development industry, and how the industry is reacting to an era in transition. We are transitioning from the modern era to the post-modern era (and probably have been for a while, whether or not we knew it) – and I’ve formed a bit of an opinion (hypothesis?) about programming languages, tools and frameworks as they relate to this post-modern transition.

It seems to me that the characteristics of dynamically typed languages are those that seem to embrace post-modern characteristics, whereas the characteristics of statically types languages seem to more tightly cling to the characteristics of modernism.

Some terms I’ve heard, used in characterizing post-modernism are things like transience, flux, pluralism, fragmentation. Modernism seems to try harder to rationalize everything, with concreteness – very ‘scientific method’ like.

Am I completely out to lunch, and off my rocker? Probably. But I see a lot of post-modern characteristics in tools like Python, Ruby and Rails. And I see a lot of modern characteristics in tools like Java, C#, etc.

If I wanted to start to talk really crazy, I might say that tools like ASM, BCEL and ideas like Aspect Oriented Programming attempt to take a modern paradigm (in this case Java related) – and, keeping the ‘safety’ and ‘concreteness’ offered by Java as a statically typed language, apply manipulations to byte code at compile or load time, in an attempt to provide some of the benefits that a language like Ruby provides out of the box (in these examples, the ability to dynamically modify and redefine code at run-time). One thing that’s great about tools like Spring is how it manages to take the best of what it can from both paradigms (given the limitation that it’s a framework written in Java for Java developers) – and bring all sorts of post-modern characteristics with it to the Java platform (load-time weaving, friendly AOP, etc.).

I’m probably blabbing about a whole lot of nothing, but no one said you had to read it. :)

On Ignorance

January 22, 2007

My favorite podcast, hands down, is the JavaPosse. There’s nothing quite like sitting back with a cup of coffee and listening to Dick, Carl, Tor and Joe yammer about Java (and/or technology in general) – especially if they’ve been drinking.

A few months ago they launched a Google group in which I am an avid lurker, and very occasional poster. One of the more recent threads was surrounding third-party iPhone application development. I think that the winning comment in this thread was this one:

The simple question here is therefore “Is this phone of any further interest to the Java community/Java Posse?”.

He might as well have said:

If it’s in the world, and it has nothing to do with Java, we shouldn’t discuss it or have any interest, and said object might as well be used as toilet paper. If it’s not Java, it can kiss my bleeeeep.

Forget the fact that it’s a phone – and I could care less if it had anything to do with Java whatsoever. I don’t care if I can write or run 3rd party apps on my phone, or my iPod. I want a phone so I can (go figure) phone people. Of course, all the other iPhone stuff is awesome as well (calendaring, sms, voice mail, iPod, photos, videos, etc.). Why, for the love of all things good, would a community write off said device claiming it no longer deserves “any further interest [from] the Java community” – because it doesn’t have Java on it? Maybe the Java community should stop having interest in hard disks, or RAM, or digital cameras, or iPods for that matter – simply because they don’t allow for third party Java application development on them. I’m making a pact right now. I’m not going to purchase another stick of RAM until I can plug it into a USB port on my laptop, and write a third-party Java app for it that makes it light up, or sing, or something.

Unfortunately, this is the collective wisdom that (stereotypically speaking) the Java community now tends to bring to the table. Let us look at a fictitious (but not fictitious at the same time) example:

Jim: Hey there, have you played with Ruby at all?
Greg: Are you crazy, that stupid thing?
Jim: It’s got some really powerful syntax, and I can’t believe how fast you can prototype apps in it.
Greg: Nothing more than a stupid toy language.
Jim: Have you used it? Have you seen how powerful some of the APIs are?
Greg: No. I’m a Java developer.
Jim: Why don’t you just take a look, see what you think?
Greg: No. If it’s not Java, it’s stupid and useless.

Right. Thanks.

Legality vs. Ethicality

January 18, 2007

And yes, there’s a difference.

I started researching AllOfMP3 about a month ago after hearing about it for the first time from a friend, while at their place for dinner. I read through all the spiel, the Russian Federation, Russian Licensing, The Russian Multimedia and Internet Society (ROMS), lawsuits, et cetera.

One of the best presented articles on the legality and ethicality of using a site like AllOfMP3 was a piece that I found here.

I’ve been looking to find new ways to purchase music (yes, I have been using the iTunes Music Store) mostly because I find that music, as a commodity, is priced way too high. Well, maybe it’s not even that the music is priced too high, but what really bothers me is knowing that the amount of cash that actually returns to the pockets of the musicians any time I happen to purchase an album is a measly pittance, compared to the amount that goes to the labels. To add insult to injury, we have this “association” (I’m looking at you, RIAA) that in its so-called pursuit of justice starts to randomly sue thousands of Americans whose names they might as well have pulled from a baseball cap. Didn’t they try to sue an 11-year-old girl? And a dead person? At any rate, the RIAA clowns think that it would make them look really smart if they seriously laid the smack down on AllOfMP3 with a $1.65 TRILLION dollar lawsuit, which in actuality (in my opinion, anyways) made them look like confounding idiots more than anything.

At any rate, now that I’ve made clear my disdain for record labels and the RIAA, I’d like to point out that I find it interesting the number of discussions floating around on the Internet about the issue of whether or not it’s “OK” to download music from a “legal” service like AllOfMP3.

What I notice is that there is a severe muddying of the water as people discuss this, because most people take the approach that if something is legal, that there is no reason whatsoever that they should feel as though it is ethically or morally questionable to purchase music from a company like AllOfMP3. To be honest, I have been seriously toying with the idea for the past few weeks, and probably can’t count the number of times I’ve visited, wanting to sign up, but ultimately deciding against it. And today I think I’ve reached my conclusion that even though I feel that the way that AllOfMP3 is operating their business in Russia is probably legal, it’s certainly not ethical. Granted, I don’t think that the RIAA or record labels in general treat people, customers or artists with any sort of decency either, generally speaking. But using the questionable ethics of the RIAA and record labels as they shaft artists and sue customers as a personal excuse to justify purchasing music from a company that is shady at best, ethically and legally, is just jumping into the mud with them.

In a way it’s frustrating. It’s frustrating that the most ethical way to purchase music puts money in the hands of the grimy RIAA and record labels much more so than in the hands of the artists whose music we love. But regardless of that fact, I’ll be continuing to give Apple my money for my music purchases for the foreseeable future.

Non Profits

January 11, 2007

I’ve come across two amazing looking non-profits in these past few days, one thanks to Mike Cannon-Brookes and another thanks to Bruce Tate. The non-profits would be Kiva.org and ChangingThePresent respectively.

These are both phenomenal ideas. I haven’t used ChangingThePresent, but as soon as I saw Mike’s entry – I jumped in for the Kiva action right away. The business model is brilliantly executed, and the ability to put otherwise idle money to work helping people around the world is truly amazing.

Mike has probably summarized this better already, but the basic premise of Kiva is:

  1. Deposit some money to Kiva via PayPal
  2. Choose one of the businesses / people you’d like to lend to
  3. Donate a minimum of $25 to that business
  4. Once their are enough lenders to make up the requested loan amount, the person receives the loan and puts it to use
  5. As the persons business increases (hopefully!) they are able to repay the loan over time
  6. Once you have your money back, you can withdraw it, or lend it again to another business.

I believe that the success rate for loan repayments (if I remember from my reading) is somewhere around 96%.

What are you waiting for, jump in and help a guy selling vegetables out of the back of his car today!

Yes. I’m aware. Maybe I’m the only one, but I can’t seem to keep a Rails app running on TextDrive for more than a day without it being killed-off by their reaper.

I didn’t have time to move the site over the holidays, I was in Vietnam for a week, and then my parents-in-law arrived to spend some time with Carly and I here in Singapore. At long last, I’ve managed to get things moved over to DreamHost of all places. We’ll see if things get any better from here on out.

There’s lots to talk about, but for now I’m just saying “I’m back”, and “hopefully we can see some uptime”.

I totally love John Gruber (albeit in a very manly, platonic sort of way). After waking up to knowing you have a 90+ page API manual from UPS to go through to integrate some simple shipping costs, his Conjectural Transcript between Apple and Universal for the upcoming negotiations for iTunes pricing gunk had me in stitches.

Also, I’ve been working on some new marketing slogans for TextDrive. I’ve been so <gag>pleased</gag> with their service of late, that I thought I could spend some time on this. Pretty sure this is a winner:

TextDrive. We Go Down. A Lot.

The server that my site is on seems to have crashed twice in the past few days, requiring a hard reboot. If that weren’t enough, it would appear that ‘at boot’ cron jobs are a mere tease and fallacy, because I can tell you that mine sure don’t run.

I’m looking forward to getting away from this steaming pile of TextDrive crap as soon as I possibly can (I wonder if my slogging is against the Terms of Service?).

SimpleLog 1.5rc3

December 04, 2006

I had a bit of time this weekend to upgrade to SimpleLog 1.5rc3. Garrett hasn’t talked about this release on the site yet (current is 1.2.1), but I really wanted to integrate comments and ‘static’ page support. The upgrade was painless, but took me a couple of hours because I had made some customizations to the 1.2.1 code base in order to have support for some static type pages and a few other things.

Also, in a shameless attempt at self-promotion, I’ve jumped on the Technorati bandwagon and I’m doing that whole “claim blog by post” thing. This seemed like a good excuse for a new entry.

I’ve grown tired. I really have. It seems almost paradoxical that one can love what they do so much (software engineering, problem solving) – and yet grow so tired of feebly attempting to answer the inevitable question: “So, what is it you do, exactly?”

It becomes more complicated in that much of my work is short-term engagements. One month I’m consulting for a Vancouver firm coding back-end server-side distributed Java code, and the next month I’m using Ruby to write an e-commerce system that integrates with Authorize.net, Fedex, UPS, USPS and QuickBooks APIs for a company in Texas that sells motorcycle leathers.

If that weren’t enough, I’m consistently dabbling on the side with a few close friends / developers / business partners working on building our own company (Micro ISV / Consultancy).

So, not only does Person X not have the foggiest idea about what it means to “write software” (that’s not meant to be a derogatory statement, but it is plain fact), but it becomes more aggravating in that one week I’m doing one thing, and the next week I’m onto the next.

My business card says that I’m a “Problem Solver”. I like this title. It accurately and succinctly describes exactly what I do. The fact that I utilize technology to solve problems is incidental. The problem with “Problem Solver” (heh, that sounds funny) is that for most people, it’s too abstract. “What do you mean you solve problems? What kind of problems? Give me a concrete example.”. And here it seems to break down.

Maybe I ought to take a different approach, and say “I build web applications.” Technically it’s correct. Most of the problems that I solve involve the development of some sort of web application for somebody. Even this answer involves a lot of confused glances. “Um. What’s a web application?”. Usually at this point I have to try to think of some web application that this person has used, and so I usually choose Gmail or Hotmail as an example. “So um, you build Gmail?” At this point, I really want to lower and shake my head in hopelessness and find myself a glass of Shiraz.

At least if I went and got a ‘real job’ I could just say “I work for XYZCompany”. Unfortunately no such luck. When I have more time to really think about this, I hope to put a half decent article or essay together. One of the best examples I have seen of this was an article entitled Palaces of Abstraction that I found years ago (April 2003) at Netcrucible. It since seems to have been lost – I’m very happy that I saved a copy as a PDF and still have it kicking around on my drive. From that article:

If you went back a century or two and asked your great-great grandfather to describe his job, quite likely you would report back that “He built houses”, or “he constructed locomotives”. People used to be able to touch their work, smell it, see it. Computer people can do none of these things. I push electrons around. None of what I do really exists; it is all imaginary.

And again:

Between keyboard, screen, and hard drive, I build palaces of abstractions. Layer upon layer, and when the abstractions become simple enough to do my so-called work, I feel happy. When the abstractions let me down, I refine them. Hopefully I can wrestle these abstractions into submission and accomplish what I want. When everything is done, I will have built a shiny new abstraction for someone else to use to do so-called work. If lots of people use my abstraction in their palaces, I will be very happy.

I’d never heard of TED before Saturday night. Carly and I were having dinner with some friends and one of ‘the guys’ had mentioned he’d been watching the TEDTalks videos. I had to go take a peak (like any geek would) – and was really surprised to see that Rick Warren had been invited as a presenter. If anyone doesn’t know who Rick Warren is, he’s the author of The Purpose Driven Life (also known as the best-selling book of all time, second only to the Bible).

I thought his talk was excellent, and I was a little surprised that there was another presenter (Dan Dennett) whose talk was basically an attempt at a rebuttal or a dissection of The Purpose Driven Life (and religion in general). Dennett attempted to sound kind and sincere at the beginning of his presentation, but it went downhill from there with taking things out of context and presenting arguments with little fact, merit or references to back up what he was talking about. The talks are freely available for download (both audio and video formats) from the TED site – give ‘em a watch.

Dennett started his presentation with an idea that it should be all parents moral obligation to teach their children about religion (factually – and not only the religion that you might believe in, but a diverse set of religions), and also went on to say that this should be integrated as part of school curriculum. I think this is one area that I agree with him. I’m a Christian – but I believe that it’s very important to know what others believe, and respect and love people regardless of whatever their beliefs happen to be. So as much as some Christians might want to call me a heretic for speaking such nonsense – I agree with Dennett on this point. When I was growing up, my mom was never afraid of me looking into or researching other religions, and truth be told I’ve read and researched a ton of ‘em. Buddhism, Hinduism, Islam, Shinto, Mormonism, Latter Day Saints, the ongoing trends of Pantheism, etc.

If we were to label these two talks as a ‘debate’ between a Pastor and an Atheist – I have to say that it was no competition. Warren came into this sincerely, and without an agenda (unfortunately I can’t say the same for Dennett). Warren’s talk was excellent – and I have a lot of respect for his ability to get up and present the content he did to this particular audience. Because you can bet your buttons that there wouldn’t have been many others at a conference like TED who share his Christian beliefs.

A Few "Special" Experiences

November 17, 2006

Last week I was booking ferry tickets for my wife to head off to Bintan for a weekend away. I happily provided my credit card information and sent it off, and after the transaction redirected – I got hit up with this (click image for a larger version):

You’re seeing it correctly – it looks like the SQL parameters that are going to be inserted into the database after I click on the wonderful “Continue” button that FireFox has presented me with. Frightening.

Also last week, I upgraded iTerm to the latest version (0.9.3) – and the first time I kicked it up I got this piece of joy:

I hope that clicking “Yes” was the right thing to do.

About a week ago I received an email from PayPal which contained the first donation I’ve ever received for JarIndexer. I immediately sent a thank you note to the donator, and received this response:

I really support people like you who share tools and things like that for the rest of us, especially when it removes pain. So, thanks for JarIndexer. It saved me so much time and it was very easy to use. So, keep up the good work.

That means a lot. JarIndexer is a super simple program, gets about 30-50 downloads a month, and was very easy to write, but I’m extremely pleased that it has been of use to someone, and managed to relieve a bit of pain.

I suppose this provides me an opportunity to say my thinks as well, to the open source community in general – and to all the folks out there who provide great software that make our lives easier as developers. I suppose I could specifically mention people like James Duncan Davidson (ANT), Rod Johnson (Spring), Gavin King (Hibernate), Yukihiro Matsumoto (Ruby), David Heinemeier Hansson (Rails), Thomas Fuchs (Scriptaculous) and Sam Stephenson (Prototype). In my day-to-day coding life, when thinking of people who freely give their software to the community – these guys have made me the happiest I’ve been in years.

One Week Later

November 12, 2006

At long last, after sucking most of my previous site content and blog entries from TextPattern, I’ve manage to finally deploy the new site to TextDrive now powered by SimpleLog and RoR.

I’ve previously found the documentation at TextDrive severely lacking, especially in the area of Rails application deployments, however this time around, I was pleasantly surprised by a series of articles that were a great help (along with scripts and config files) for deploying your Rails apps on Lighttpd.

Several other Rails folk I’ve spoken to have expressed concern over Lighttpd’s stability, many of whom have switched to Mongrel. I’m hoping that I don’t run into any stability issues.

Previously, I also had a nice site up for JarIndexer and XafeNotes, but alas, that is no more. I can’t bother to manage a separate site, so they’ve been included in this site for now. JarIndexer is still available for download, as it seems to be somewhat widely used, but I’ve temporarily yanked XafeNotes, as I have some intention of making it free (as in beer), and need to pull out the licensing stuff from the code base. Who knows when that will happen.

About three weeks ago, I started doing some work for Orangepath, a Texas-based company, that I’m hoping will turn into a great long-term relationship. It’s a breath of fresh air to find a company built on morally upstanding principals. I’ve actually had a ton of stuff to blog and yammer about these past weeks, but my time has been spent trying to get this site up and running, instead of writing content to bore people to death. I’ll apologize in advance if there seem to be more entries than usual in the coming days.

Simpler... Simpler...

November 05, 2006

I seem to change this site more often than actors in Hollywood change spouses. I’m also a horrible criminal in that I’m really lazy at properly setting up 301 permanent redirects when I move my site to a new layout, new blog software, new framework, or what have you (but I’m working on it, I promise!).

Lately I have found that TextPattern feels so bloated to me, and I don’t have the time or patience to figure out the stupid syntax for all it’s templates, forms, and other goop.

Nick pointed me in the direction of SimpleLog – and I totally loved it. It’s, well, simple. And it’s Ruby, easy to customize and, well, simple.

So here we are – an attempt at once again swapping a back-end in the hopes that “this time” I’ll be less fickle than in the past, but I’m not making any guarantees.

Legalization

October 16, 2006

Of what? I thought this was a technology type blog? Yah – well, maybe that’s going to change. Sometimes I feel like sharing the rest of my opinionated self with the 3 other people who read this rubbish.

I’m from Canada (albeit in Singapore right now) – so I’m not really much of a stranger to being around drugs or being offered drugs. I’ll say straight off the bat that I’m no druggy. Never touched ‘em or used ‘em, but try walking along Granville one day downtown Vancouver without passing a group of at least 8 dudes stoned out of their tree on pot, playing an awful guitar. Or try walking along East Hastings without seeing a bunch of folks AWOL on heroin.

At any rate, a good friend of mine tossed me this link (Google video, about an hour, BBC documentary on drug legalization) and it got me all riled up again (this isn’t something I’ve gotten riled up about in quite some time).

The two big sides of this debate seem to always surround issues of legalizing drugs or not legalizing drugs. However, I would like to propose a third alternative, that I wish to high heaven some of the stupider governments of this world (Canada, USA, UK) would adopt. It’s quite simple really – are you ready?

Punish Criminals

There. Is that so hard? One of the reasons why I love Singapore, is that if you’re caught trafficing, you get hung (as in, from a gallows, dead). You don’t get a trial, you don’t get a slap on the wrist, or a $50 fine, or let off the hook entirely (note to drug dealers – if you want to traffic drugs and never have a fear of ever being penalized – do it in Canada – the cops won’t stop you, nor will anyone else). All of these governments (and by “All” here I mean specifically Canada and the UK – probably the USA as well) seem to ignore the fact that drug trafficing is an illegal activity that should be punished. But our countries seem far more interested in protecting the rights of criminals, trafficers and drug lords than in punishing them.

I’d like to see how many people brought drugs into Canada if they knew they would be hung when they were caught, or how many folks would use them in clubs if they knew they would be fined for huge cash, taken outside, caned in the street, and then thrown in prison.

Lawmakers – get a clue. And don’t even get me started on what legalizing drugs would do the the already corrupt and profit-hungry pharmaceutical companies of this world.

New iTunes Icon

September 14, 2006

To be honest, I can’t say I’m really that impressed with all the new iTunes features. But the one thing that I was really excited about was the new fetch album art feature color of the icon.

As you can see below, pretty much every icon in my dock has blue, is blue, or goes well with blue. That stupid green iTunes icon looked really out of place.

Thank goodness they fixed that.

All I want is a free lunch

September 08, 2006

Joel Spolsky is at it again, writing recruiting ads disguised as articles on hiring the best programmers (well – ok, maybe they really are articles on hiring the best programmers, but I have to get my jabs in somehow).

I’ve worked for a few companies in my day, as an employee (three, I think – we won’t count the one that somehow I managed to go work for with the promise of bringing legacy systems into the new age, but ended up supporting people’s Outlook Express problems. Geez, what a mistake that was).

At any rate, one thing I’ve noticed about most software companies, is, to paraphrase Joel: they SUCK to work for.

Why is that? Every time I think to myself “maybe I’m getting tired of consulting, and I should go get a ‘real job’” – it doesn’t take long for me to think of all the reasons I wouldn’t:

  • I hate commuting, and I have to pay for it out of my pocket.
  • I hate packing a lunch, and I have a hard time paying to go out for lunch every day, and whoever hires me isn’t going to give me free lunches. If I work at home, I can easily make some yummy spaghetti or something, and don’t have to eat a stupid scrunched up sandwich every day.
  • I hate crappy computers
  • I hate CRT monitors
  • I hate cubicles
  • I hate timesheets and bureaucracy

The first “job” I had as a developer (was hired before I finished school) – was for a pretty cool company, at the peak of the ‘dot com’ era. I had a window office in Yaletown, overlooking YBC, coding cool Java projects, and it was stellar. But – no free lunch, crappy chair, hour long commute each way (which I had to pay for out of my pocket), I had to buy my own 64MB of RAM to upgrade my machine to 128MB (remember, this was over 6 years ago) and no free technical books anywhere to be found. I can’t even begin to count how many times I said to myself:

If only they would pay for a catered lunch, or lunch out, I wouldn’t be in such a crappy mood about my salary.

After I was told that I was going to be starting to program Oracle Forms and Reports (gag), I left for a startup. The startup paid more money, and I worked from home, in the peace and quiet of my fast machines, with a big monitor and comfortable chair. No free lunch, but at least I could make some spaghetti, instead of a stupid sandwich.

And now I sit here with 2GB of RAM in my MacBook, and 2GB of RAM in my Windows Workstation, with a nice big LCD, in the comfort of an office at home, with little monkeys that occasionally run around outside my window (not joking – lots of monkeys here in Singapore).

So tell me, why is it again, that I would go get a real job?

Vacation's Over

August 07, 2006

After a few weeks in Japan and a month back in Canada visiting friends and family, me and the wifey are back in Singapore, and the vacation’s over.

This morning when the alarm started screaming at 5am, my wife somehow thought the reaching over and covering my mouth with her hand would make the evil noise stop, but it was to no avail.

At any rate, hopefully I’ll be spewing forth more useless blog entries in the days to come, yammering about all sorts of uninteresting things, but for now, this will have to suffice. If anyone still reads this, I hope you all had a great summer, and/or are still having a great summer.

Campaigns

June 05, 2006

Singapore is a very interesting place. Over the past year, I’ve noticed several times the latest ‘campaign’ going on throughout the city. We’ve had campaigns to get pregnant, because the population is declining, to become a nurse, to join the navy (because it will make your life a lot less ‘boring’), to donate blood, to be polite (you mean you’re supposed to let people get OFF the train before you shove your way on? Go figure?). At any rate, this is a photo I took a while back of a poster in a washroom. The “Clean Public Toilets” campaign. By “toilet” they really mean “washroom” – if you ask someone here “where is the washroom?” – they’ll often look at you funny, and then you rephrase “where is the toilet?” – and they know what you mean.

At any rate – in all it’s glory:

I got a good laugh out of this one for quite some time. In case you can’t read it because of the flash, the second guys comment is: “That’s because no one hits on target”.

Uber Security

June 02, 2006

Sometimes the frustrations of moving really get to me. You have to go through all that address change rig-a-ma-roll, and cancel services, resubscribe to services, bla bla.

I telephoned SP Services today (that’s the water/gas/electric utility here in Singapore) to attempt to have my account terminated. The account is under my wife’s name (since she’s the one who makes all the money) – but I figured that wouldn’t be an issue seeing as I have all the bills, her passport number, green card number, account number, date of birth, mothers maiden name, street she grew up on, and some pixie dust to boot.

Apparently that’s not good enough, though, and the lady told me to have my wife call back “some other time”. I informed her that this would be particularly difficult, given her working hours (and the fact that we’re leaving for Japan in a couple weeks, and then back to Canada for a bit), so she kindly told me that I could have my wife proceeed to their web site to fill out the termination form.

Excellent. If she can do it, so can I. So I happily proceeded to the SP Services web site termination form where I was presented with this incomprehensibly strong security mechanism:

Did you catch that? In the SCARY RED FONT! Oh no! Do not proceed! .

I’ll let you guess as to whether or not that stopped me from terminating our account. Choose your own adventure style.

From KL

May 27, 2006

In Kuala Lumpur right now. Carly had a conference to go to, so I’m tagging along for the ride. Unfortunately, there aren’t any JavaOne shows kicking around for me to attend, so I’m going to have to settle for food, coffee, shopping and sightseeing.

Stopped by the Crumpler store in Suria KLCC this morning and couldn’t decide whether or not I wanted to buy myself a fancy-shmansy bag, maybe tomorrow.

Tried out some shots with the new Camera which I’m looking forward to seeing in all their full-size glory once we get back to Singapore.

Other than that, I don’t really have anything of interest to say at all. I’ve read through Christopher Hawkins blog entry on ‘11 clients you need to fire right now’ a few more times, as I think that one of mine definitely falls into a number of those categories, and it doesn’t seem to be worth the high blood pressure to keep it going.

I’m much more interested in what the end-user really needs, than in what the person who ‘owns’ the project thinks that the end-user needs, and that seems to be another issue I’m having. When the project owner claims to understand everything about the ‘end-users day to day work’ without ever consulting the end-user about what they need (note that in this case, ‘end-user’ happens to be employed by aforementioned project owner, this isn’t some web-based service for any-old-user to sign up), something is terribly, terribly wrong.

At any rate, I’m done here. Til next time.

Gadget Day

May 23, 2006

Two weeks ago while Carly and I were in Macau, I somehow managed to get my wallet ripped off, along with our digital camera. Then at the end of last week (Friday, I think it was), I lost my cell/hand/mobile/whateveryoucallit phone.

All in all, none of this has proven to be a good experience, in the slightest, and I’m sure I’ve taken a few years off my life in trying to deal with insurance companies, and the general frustration that goes along with getting stuff stolen / lost.

Today though, I managed to head down to Sim Lim Square (huge IT type mall here in Singapore) and picked up a new handphone and camera.

The last camera we had was nice and small, a Canon Digital ELPH (SD110), but we were starting to really crave something with a much better optical zoom. After doing a boatload of research, it seemed that the best options were the Canon S3 IS, Panasonic Lumix DMC-FZ7, and Panasonic Lumix DMC-TZ1 (5 Megapixel and 10x Optical Zoom in a Compact format thanks to folded optics). We settled on the latter of the three as it is a bit more of a point and shoot, and we’re not really photography ninjas. Kodak released that crazy V610 a few weeks back, but it always makes me nervous buying electronic gadgets that I can’t read any reviews for.

On the phone side of things, as much as I really would have liked to pick up a Motorola PEBL, I can’t really justify dropping S$500 on a phone that I only talk on for 22 minutes a month, so I settled on a Nokia 6021, which was a great find. Nice little phone that has bluetooth, without all the camera/mp3/magicpixiedust/othercrap.

Site Updates

May 22, 2006

Since the layout that I found and used for this TextPattern install seemed a bit (ok, a lot) flaky, I finally managed to find some time to dig up a different 3 column CSS layout, and mod it up a bit.

Things feel a little bit more like I’d like them to at this point, but the fonts look like absolute crap in Internet Explorer. Also IE doesn’t seem to deal with really long lines of pre-formatted text as well as Firefox does (no surprise, really).

Also managed to finally get some stats up and running. I used to use AWStats a long time ago, but now I’m using it again. Found a great tutorial on how to get AWStats set up on TextDrive here. Sometimes it’s nice to just follow a tutorial, instead of having to think for yourself, especially when you’re really sleepy.

New Site (again)...

March 19, 2006

After migrating some of my old blog entries and site content from the ‘old’ humandoing.net over to this happy new TextPattern install, I’ve moved my site from RimuHosting to my new TextDrive account.

That’s not to say I’m finished with RimuHosting, on the contrary, I hope to avail myself of their services for many years to come. In all my days I have never seen better support than that which comes from this small company in New Zealand.

Hopefully I’ll remain happy with TextPattern for a while, as I’m a bit tired of constantly moving my stuff around. As it stands, I’m losing about a hundred or so blog entries from my old Blojsom install that I just couldn’t be bothered to (nor did I have the time) migrate. I think I’ll be able to much better manage my stuff here, and hopefully come up with some at least vaguely interesting articles, blog entries and the like that will hopefully be read by at least 5 or so people.