Bringing back the hat?

Posted by Jonathan Wise on Mar 02, 2008

I want this to be true so that I can wear a fedora…

leonard35.jpg

Who wouldn’t look cool in a fedora? And why aren’t there any celebrities as classy as Old Blue Eyes any more?

Deep thoughts for a lazy Sunday afternoon…

Anthem

Posted by Jonathan Wise on Feb 05, 2008

Sorry about the down-time yesterday, our little site received a right good Slashdotting when my post on my job made it to the front page. For those of you not in the know, Slashdot is one of the top geek news and discussion sites on the Internet. For an article to make it to the front page guarantees a barely manageable flood of traffic, and temporary Internet celebrity. It’ll die off in the next couple hours, but I can’t say I’m not ecstatic that my ramblings were deemed worthy of the attention of the larger Internets. We got 3500 hits on the site yesterday — would have got more if my host hadn’t almost exploded under the strain.

Most of the comments that made it into jonandnic.com were kind and encouraging. A number of people in my line of work echoed my feelings. I also received a couple nice e-mails and IMs — my favourite being a student in Sweden looking for advice on which direction to take his career.

Of course the Internet is full of retards who probably didn’t read the article. The paragraph they chose for the front page of Slashdot was apparently more controversial than I could have predicted, and of the 469 comments on that site, a good 50% were negative. I’m not taking any of them personally, because I am familiar with John Gabriel’s Greater Internet Theory. But there were a few I just had to reply to…

To the gentleman who suggested that I am full of poo:
Thank you for your concern. However, I can assure you that my digestive tract is functioning normally, and that I am voiding my bowels at a regular and healthy interval.

To the multiple individuals who accused me of “douchebaggery:”
I am not a douchebag. As Digg taught us yesterday, this is a douchebag.

To the people who are Software Engineers/Developers/Programmers but who found nothing in common with my post:
I am truly sorry that you’re not happy in your job. Perhaps another career might fit you better.

To the people who got hung up on those two sentences about the word “Engineer.”
I quote the great wisdom of Slashdot when I say, R-T-F-A!

And to everyone else who replied in solidarity — either in the same field as me, or in a similar discipline:
Thank you! Its for people like us that I wrote that post, to explain to everyone who just thinks we’re “computer guys” (or gals) that what we do is so much more than that. I can’t possibly reply to every comment, but I’ve read them all, visited each of your blogs if you linked to one, and I am so glad that you took the time to read my rather ginormous article.

I thank God for the unique combination of gifts He’s given me that make my job such a perfect fit for who I am. That realisation probably made this whole experience worthwhile. As a result, I’m thinking about some changes to the site, but I’m off to Pennsylvania tomorrow, so I think I’ll just let things sit where they are for a couple days. Back at the end of the week!

Update: 9,429 visits today!

Embracing My Inner Geek: Part 2 - The Job

Posted by Jonathan Wise on Feb 04, 2008

Hi Slashdot, read this, woulda ya?

Did you ever see that one Friends episode where they make up a game where they test their knowledge of each other? In one of the rounds, the girls are asked what Chandler does for a living, and the answer they come up with is “transponster!” Which of course isn’t a word. All they know is that he carries a briefcase. Well I suspect that many of my friends don’t know what I do for a living. I suspect, if asked, you’d answer something like “I think he fixes computers.”

I know jobs aren’t the most interesting topic, but in my continuing series on embracing my inner geek, I think its important to tell you all (you who are interested anyway) what happens at my job. If you’re at all interested in who I am, you should know what I do. And believe it or not, I don’t fix computers for a living.
In fact most employers I’ve worked for actually have rules in place to suggest that I not try to fix my own computer. There’s these organizations, some (not all) still stuck in the 70s and 80s, called “I.T. Departments” who’s official purpose is to fix computers — but who’s actual purpose is to attempt to prevent their users from doing anything dangerous (read: useful.)
I do not, and have never, worked in an “I.T. department,” although I’ve volunteered those skills I have in that area on many occasions. In actuality, my job is much different.
I am, in the States, known as a Software Engineer. In Canada we’re not allowed to call ourselves engineers, although the discipline is no less rigorous than any other kind of engineering.

But perhaps its for the best, because “engineering” describes only a part of what I do.
A software developer must be part writer and poet, part salesperson and public speaker, part artist and designer, and always equal parts logic and empathy. The process of developing software differs from organization to organization. Some are more “shoot from the hip” style, others, like my current employer are much more careful and deliberate. In my 8 years of experience I’ve worked for 4 different companies, each with their own process. But out of all of them, I’ve found these stages to be universally applicable:

Dreaming and Shaping

napkin2-large.jpgA piece of software starts, before any code is written, as an idea or as a problem to be solved. Its a constraint on a plant floor, a need for information, a better way to work, a way to communicate, or a way to play. It is always tied to a human being — their job, their entertainment… their needs. A good process will explore this driving factor well. In the project I’m wrapping up now I felt strongly, and my employer agreed with me, that to understand what we needed to do, we’d have to go to the customer and feel their pain. We’d have to watch them work so we could understand their constraints. And we’d have to explore the other solutions out there to the problem we were trying to solve.

Once you understand what you need to build, you still don’t begin building it. Like an architect or a designer, you start with a sketch, and you create a design. In software your design is expressed in documents and in diagrams. Its not uncommon for the design process to take longer than the coding process.
As a part of your design, you have to understand your tools. Imagine an author who, at the start of each book, needs to research every writing instrument on the market first. You have to become knowledgeable about the strengths and weaknesses of each tool out there, because your choice of instrument, as much as your design or skill as a programmer, can impact the success of your work.
Then you review. With marketing and with every subject matter expert and team member you can find who will have any advice to give. You meet and you discuss and you refine your design, your pre-conceptions, and even your selected tools until it passes the most intense scrutiny.

Once you have these things down, you have to be willing to give them up. You have to go back to the customer, or the originator of the problem, and sell them your solution. You put on a sales hat and you pitch what you’ve dreamt up… then wait with bated breath while they dissect your brain child. If you’ve understood them, and the problem, you’ll only need to make adjustments or adapt to information you didn’t previously have. Always you need to anticipate changes you didn’t plan for — they’ll come at you through-out the project.

Once you know how the solution is going to work, or sometimes even before then, you need to figure out how people are going to work with your solution. Software that can’t be understood can’t be used, so no matter how brilliant your design, if your interface isn’t elegant and beautiful and intuitive, your project is a failure.

sunday-afternoon-by-seurat.jpg

I don’t pick those adjectives lightly either. All of them are required, in balance. If its not elegant, then its wasteful and you’ll likely need to find a new job. If its not beautiful, then no one will want to use it. And if its not intuitive, no one will be able to use it. The attention to detail required of a good interface developer is on par with that of a good painter. Every dot, every stroke, every color choice is significant.

To make something easy to use requires at least a basic understanding of human reactions, an awareness of cognitive norms. People react to your software, often on a very base level. If you don’t believe me, think of the last time your computer crashed before you had a chance to save the last 2 hours worth of an essay, or a game you were playing.
What you put before your users must be easy to look at so that they are comfortable learning it. It must anticipate their needs so that they don’t get frustrated. It must suggest its use, simply by being on the screen. And above all else, it must preserve their focus and their effort.

So you paint, using PowerPoint, or Visio, or some other tool, your picture of what you think the customer is going to want to use, and once again you don your sales hat and try to sell it to them. Only, unlike a salesperson selling someone else’s product, you are selling your own work, and are inevitably emotionally-attached to it. Still, you know criticism is good, because it makes the results better, so you force yourself to be logical about it.Then finally, when your solution is approved, and your interface is understood, you can move on to the really fun part of your job:

Prose and Poetry

A good sonnet isn’t only identified by the letters or words on the page, but by the cadence, the meter, the measure, the flow… a good piece of literature is beautiful because it is shaped carefully yet communicates eloquently.

Code is no different. The purpose of code is to express a solution. A project consists of small stanzas, called “Methods” or “Functions” depending on what language you use. Each of these verses must be constructed in such a way that it is efficient, tightly-crafted, and effective. And like a poem, there are rules that dictate how it should be shaped. There is beauty in a clever Function.

But the real beauty of code goes further than poetry. Because it re-uses itself. Maybe its more like music, where a particular measure is repeated later in the song, and through its familiarity, it adds to the shape of the whole piece. Functions are like that, in that they’re called throughout the software. Sometimes they repeat within themselves, in iterations, like the repeating patterns you see in nature.
fern.jpgAnd when the pieces are added up, each in itself a little work of art, they make, if programmed properly, a whole that is much more than a sum. Its is an intertwined, and constantly moving piece of art.

As programmers, we add things called “log messages” so that we can see these parts working together, because without this output, the flow of the data through the different rungs and branches we put together is so fluid that we can’t even observe it and, like trying to fathom the number of stars in the sky, it is difficult to even conceptualize visually the thousands of interactions a second that your code is causing. And we need to do this, because next comes a Quality Assurance Engineer (or QA) who tries to break your code, question your decisions, and generally force you to do better than what you thought was your best.

I truly believe that code is an art form. One that only a small portion of the population can appreciate. Sure anyone can walk into the Louvre and appreciate the end result of a Davinci or a Van Gogh, but only a true artist or student of art can really understand the intricacy of the work behind it.
Similarly, most people can recognize a good piece of software when they use it (certainly anyone can recognize a bad piece of software) but it takes a true artist, or at least an earnest student, to understand just how brilliant — or how wretched — the work behind it is.

And always, as you weave your code, you have to be prepared to change it, to re-use it, to re-contain it, to re-purpose it in ways that you can’t have planned for. Because that is the nature of your art form — always changing and advancing.

Publishing and Documenting

Its been said that a scientist or researcher must “publish or perish.” The same is true of a software developer. A brilliant piece of code, if not used, is lost. Within months it will become obsolete, or replaced, or usurped, and your efforts will become meaningless, save for the satisfaction of having solved a problem on your own.

So after months of wearing jeans, chugging caffeine, cluttering your desk with sketches and reference material, you clean yourself up, put on a nice pair of pants, comb your hair, and sell again. Although most organizations have a sales force and a marketing department, a savvy customer will invariably want technical details that a non-coder can’t supply. As a lead developer on a project, it falls to you to instill confidence, to speak articulately and passionately about the appropriateness and worth of your solution.
Again, as before, pride is a weakness here, because no matter how good you are, someone will always ask if your software can do something it can’t — user’s are never really satisfied. So you think back to the design process, you remind them when they had a part in the decisions, and you attempt to impress upon them respect for the solution you have now, while acknowledging that there will always be a version 2.0.

And you write and you teach. Not so much in my current job, but in one previous, as a lead developer it was my responsibility to educate people on the uses of our technology — to come up with ways to express the usefulness of a project without boring people with too many technical details.
One of the best parts of software development, a part that I miss since its not within my present job description, is getting up in front of people — once they’ve accepted your solution — and teaching them how to use it and apply it. Taking them beyond the basic functionality and showing them the tricks and shortcuts and advanced features that you programmed in, not because anyone asked you for them, but because you knew in your gut they should be there.

And Repeat…

Then there’s a party, a brief respite, where you celebrate your victory, congratulate those who’ve worked on parallel projects, and express your deepest gratitude for your peers who’ve lent their own particular area of expertise to your project… And you start again. Because like I’m sure any sports team feels, you are only as good as your latest victory.

So do I fix computers? Often its easier or more expedient to hack together a solution to a problem on my own — certainly the I.T. Department is becoming something of a slow-moving dinosaur in an age where computers aren’t the size of buildings, and most of us are comfortable re-installing Windows on our own — but that’s not a part of my job description.

No, I, like my peers, produce art. Functional, useful, but still beautiful, art. We are code poets, and it is our prose that builds the tools people use every day.

However, unlike most other artists, we’re usually paid pretty well for our work ;-)


Post-script to Slashdotters (did you RTFA?!)
A few things to clarify here, based on the comments on the site:

- The intent was not to gripe about Canada’s standards for the term “engineer.” I only pointed that out the difference between my home country, and my current country of employ. I prefer the term “software developer” myself, but it doesn’t really matter to me. It was only one sentence in a 2100+ word article — hardly my thesis!

- The intent was also not to be pompous or fuel my own ego, it was to describe, as eloquently as I knew how, what most of us on Slashdot are. Although the stigma is going away, us geeky types tend to be considered only that: geeks. When really there is art and beauty to what we do. I’m not even as skilled a programmer as I imagine most are, but I wanted to lend my prose to our art because I believe it is valuable. But flame on, if you must! However, please note that I do have a degree, I work for a big company that prides itself in the quality of its products, I have 8 years of real experience, and I have a great life outside of work. This was a mental exercise, so please be nice!

I appreciate feedback — even critical, as long as its intelligent, so drop me a line if you have anything to say other than “you’re a douchebag” and “stop whining that you’re not an engineer.” But please do read the article first!

Things You’ll See in Value Village 10 Years From Now…

Posted by Jonathan Wise on Feb 01, 2008

The other day we found a beautiful little program called Delicious Library, which lets us put a visual face on our expanding collection of digital (and some physical) media. If you haven’t seen it, and you have a Mac, you should definitely check it out.
It got me thinking though, as we used our Firewire camcorder to scan in and automatically index our books (via the bar code on the back) about the technology we grew up with and consider normal. Specifically I got to thinking about those things that seem common-place to us, but that Benjamin will probably view as antique and laughable as he grows up. Here’s the list I came up with…

Cassette Tapes
cassettetape.jpgEven CDs are starting to become irrelevant now, and cassette tapes are becoming almost as funny to look at as 8-track tapes. Yet, who reading this site doesn’t remember making a mix tape? Or listening to the radio with “REC + PAUSE” already pressed, ready to record if your current favorite song came on?
The thing with tapes is, as they get old, they retain none of their appeal. The old LP is still something of an art form. The large size lent itself to some really beautiful cover art, and although the technology is dated, the media is still pretty impressive in its reproduction of sound.
Tapes are little boxes full of metres of magnetic tape. They may have been ubiquitous, but looking back, they were never really that cool.

The VCR
Almost hand-in-hand with cassette tapes is their big brother, the video tape.
I remember distinctly when the VCR was the pinnacle of home entertainment. Back then, the average middle class family couldn’t afford them yet, so when dad rented a VCR and Star Wars for us to watch at home on our own TV, that was a big deal.
But that was 20 years ago, and thankfully this old technology is finally disappearing. Does anyone still have a VCR at home? I know we got rid of ours a few years ago after not having used it for anything more than a TV tuner for ages.

Rotary Dial Phones
This might be going way back for some of you, but we know at least one person who still has a rotary dial phone in her house — she actually has to pay more money a month for “pulse” service now.
rotaryphone.jpgI remember how much it sucked if you realised, half-way through dialing, that you’d made a mistake and had to hang up and start again. There was no way to dial those things quickly, and if you tried you drastically increased your odds of making an finger-numbing error.
Thankfully the old rotary phone is almost completely gone now, and I can imagine that if Benjamin ever sees one, he’ll be completely astonished by it.

Landline Phones
Remember chatting with your friends, tangled up in the long, springy cable of the kitchen phone? I’ll bet Ben won’t.
I’m going to go even further out on a limb here and predict that by the time Benjamin has his own place, getting a phone line installed won’t even be a consideration.
Already “cord cutters” threaten Ma Bell, and most younger people I know don’t even bother with a land line. Nicole and I had one briefly during our first year in the States, before Skype became viable for long distance, but otherwise haven’t had one for at least half a decade.

Game Controllers with wires
atari_wirelessgamemate.jpgOK, this is going back to early VCRs, but I remember on Saturday afternoons if my dad had some work to do at the school, he would bring us in with him and let us in the Library where they had a VCR and a TV on a cart, with a whole bunch of educational videos we could watch. I remember this because the VCR had a remote control — on a wire. And that seemed cool to me at the time.
Its hard to believe that only one generation back, game console controllers all had wires. The technology has been around for ages — even the Atari 2600 had a (huge) wireless controller you could buy for it — but its only recently that wireless has become a requirement for most consumer tech.
Benjamin is fascinated with the XBox controller, and if we give him one without batteries, he loves pretending to play with daddy. I imagine that when he looks back at the video games I used to play he’ll be confused by the additional wires.

Computers without Internet
I mean really, how useful is a computer without Internet these days anyway? What can you do with it? Solitaire and Word Processing, maybe but you can’t chat with anyone while you do it!
Even a telephone without Internet is starting to seem a little backward.
atari_800xl_and_peripherals.jpgI actually think this is pretty significant because my generation learned the two technologies separately. We had computers, and we conquered them, THEN we got Internet and learned that. It will be a few decades before my son is more comfortable with technology than his dad, but its weird to think that he’ll probably rarely experience a computer that isn’t connected to thousands of others. He’ll probably never know the significance of the “OS” war, or that different kinds of computers were, at one time, unable to exchange information with each other. A computer and the Internet will be inseparable concepts in his mind.

Tube TVs
Now this is a slightly more risky prediction, but I’ll bet by the time Benjamin saves up for his first TV, the CRT will be completely dead.
For over 75 years, guns shooting light down a tube entertained us, but I’ll bet a big heavy TV will be a very laughable concept for our kids. Sure they might see them in Goodwill, or in old movies, but they’ll know them the way we know black & white televisions. Just some residual junk of the early days of TV.
In fact, it turns out that our 30″ tube TV is too heavy to move back home — the additional cost of moving it actually exceeds its current value. So it seems we’re going to have to jump on the LCD band-wagon before we go back to Canada (the land of over-priced electronics.)

36145.jpg

1080p, 10000:1 contrast ratio, 3 HDMI ports, $600 off… twist my rubber arm…

What’s happening to me?

Posted by Jonathan Wise on Jan 29, 2008

Last week I downloaded some music from Journey.
Yesterday I was strangely driven to download some from Kansas

Let me be clear, early 80s music has never before appealed to me. Is this some side effect of aging? Does everyone, at some point in their life, find themselves drawn to the music they might have heard while they were in the womb? Cause I’m listening to ‘Carry on my Wayward Son’ and find it oddly… rockin…

Found on the back of my coffee cup…

Posted by Jonathan Wise on Jan 26, 2008

So-called “global warming” is just a secret ploy by wacko tree-huggers to make America energy independent, clean our air and water, improve the fuel efficiency of our vehicles, kick-start 21st-century industries, and make our cities safer and more livable. Don’t let them get away with it!

- Chip Giller

BIG RED LETTERS!! SUPERFLUOUS PUNCTUATION!!!1

Posted by Jonathan Wise on Jan 18, 2008

If my project ships on time, with no casualties — its apparently contributed to a heart attack and a car accident already — then it will be a miracle… and I’ll be really proud of this team.

Who woulda thought that software engineering could be this dangerous?

Warning: Geek Rant - On HD Content Delivery

Posted by Jonathan Wise on Jan 15, 2008

Last year Apple announced a new product, that we were all expecting, called the AppleTV. When it first came out, there was much celebrating, and this site even got in on some of the action. Then reality set in. Here was a $300 castrated Mac Mini that played video in only one codec and required you to sync with your home computer instead of streaming your content.

It’s like they got the vision, and then totally failed on the execution. Or maybe they had a different vision altogether.

See what Apple and Microsoft are trying to do (Microsoft with the XBox Live Marketplace) is to make the current HD format war irrelevant. That’s a good thing. For those who don’t keep their finger on the pulse of the industry, technology giants like Sony and Toshiba have been fighting a public battle over control of the next-generation DVD disc format — to the detriment of the consumer. Its like VHS vs. Betamax all over again, only this time its worse. What they don’t really realise is that the delivery medium is about to change.

Who really wants shelves full of discs anyway? 5-6 years ago it might have been cool to show off your DVD collection, but now its actually a little embarrassing. What we really need is digital content delivery. I want to pick up my remote, chose any movie ever made, and with a touch of a button, start watching it.
This is the goal of the AppleTV and the XBox 360 — living room dominance. What Apple failed to do with their product is to respect the pioneers of this concept.

While the big companies have spent the last 10 years in-fighting over how to do this and how to make money on it, their gadget buying consumers have been making it happen for themselves. The original XBox actually made a stellar Media PC when hacked to run Linux and the XBMC software. The Mac Mini, with its small footprint, FrontRow software and handy remote was decent as well. And we put those devices to work — years before Apple or Microsoft got their crap together.
All of our household DVDs (save some of the Disney ones) are on our network in DVD-quality DivX format. We’ve been able to watch them all with a touch of a button for the past 3 years. Why would I buy into a solution, like Apple’s, that forces me to abandon that content?

Today, as I write this, Apple is announcing AppleTV Take 2. They now have a better movie library, and finally support movie rentals. Congratulations, Apple. This is what we’ve been asking for. But you still missed the boat. Despite the fact that the AppleTV is a perfectly capable little computer, you’re still screwing over your customers by refusing to stream our own content in the common Codecs we’ve been using. It’s not like it would be hard for you to do — the software exists already.

I will not buy a BluRay/HD-DVD player, and I will not buy an AppleTV 2.0. I want to buy it — I’m an admitted Apple fanboy, but all of the above have missed the point. You can’t step forward by abandoning the early adopters who pioneered the technology you want to sell. You have to respect the people who built this market for you. Sadly, Microsoft is the only one who gets this, and as long as the XBox 360 is the only device on the market that both sells/rents HD content AND allows me to continue to consume my own, then Microsoft is going to win the vote of my wallet.

The MacBook Air on the other hand… that’s pretty hot…

Paraphrased, but actual conversation over IM

Posted by Jonathan Wise on Jan 07, 2008

Other person: Hi, do you have time now to review the issues I e-mailed you?

Me: Sure

Other person: Sorry, I’m busy right now.

Me: …!

I Hate Christmas, 2007 Edition

Posted by Jonathan Wise on Nov 27, 2007

For the last few years, around this time, I’ve ranted about how much I hate the Christmas season — not Christmas itself, just the season surrounding it. This year, I think I’ve finally pinpointed why.

Of course there’s the gaudy lights, and monotonous Christmas carols.
And obviously Christmas usually brings with it snow and slush and generally stressful road conditions, which, given the amount of traveling we do by car, certainly adds to my dislike of this time of year.

But today I figured out that the real reason I hate Christmas is the traffic.
Car traffic, foot traffic, whatever. Christmas brings out the worst in drivers — and it brings out the worst drivers.

I noticed on my way to lunch today (for which I have to drive around the biggest mall in the area) that there was an unusually high number of white-haired drivers, drifting between lanes, stopping for nearly a full minute at every four-way-stop or yield sign, and driving at half the speed limit or less. See, these folks don’t usually drive. The only reason they’re on the roads at all is their obligation to buy gifts for their grandchildren. For some of them, this may be the only time of year that they get into a car. And they’re scared, and confused.

And on top of that there’s the “herd factor.” Here’s my theory: the stupidity of a crowd is directly proportional to its size. A couple hundred people in a mall at once is a manageable level of stupidity. But jam a few thousand in there, and suddenly everyone becomes cattle. They bump into each other, they wander aimlessly, and they generally frustrate anyone who has an idea what they’re doing.

See if you want to go to lunch, or do some shopping at Christmas time, you have to get through the herd of stupid people milling around — on the roads or in the stores. Your best bet is to maintain your focus on your mission: get in and get out. But most of the crowd has been there long enough that their intelligence has dropped sharply to herd levels, and they will inexplicably cut you off, run you over, bump into you, or stop dead in front of you, at the worst times.

Panic ensues as your own intelligence begins to wane, and if it doesn’t get replaced with aimlessness, it becomes rage. Rage that your 5-minute jog out for lunch is now up to 25 minutes — and you’re not even at the restaurant yet. Rage that running into the mall to buy a pack of CDs or something else equally simple is now a 2-3 hour trip. Rage that it takes twice as long to get to work at 7:30 in the morning, and three times as long to get home in the afternoon.

How is this conducive to Christmas-cheer? How does this make anyone happy?
Give me a quiet, reverent two-day celebration of the birth of Christ, restrict any gift-buying to online purchases, and ban all crowds and all people who can’t drive, and I’ll stop being a Scrooge…

PS: Just for the record, Nicole loves Christmas, and I am the only Grinch in the family.

Newer Posts » - « Older Posts

jonandnic dot com uses: WordPress, FancyZoom and a design by Greg Ponchak and vBulletin Services.
Most content and customization by Jonathan Wise under the Creative Commons License.