Archive for the ‘Uncategorized’ Category

I’ve switched

Sunday, April 15th, 2007

I’m typing this from my spankin’ new Macbook Pro. I’ve wanted a Mac since before I purchased my last laptop. I chickened out last time, and went with a Dell. That laptop served me well, but it came time to replace it, so I again faced the decision of whether or not to make the leap and become an iSheep.

So far, I like it. I used Gnome on Linux for a while, and it reminds me a little of a much more polished version of that. It’s now clear who the Gnome guys were ripping off – things like the control panel and finder feel a lot like the control panel and nautilus did on Linux. The hardware itself feels noticeably more polished than the Dell.

I got the cheapest Macbook Pro, and upgraded it to 2GB. That basically makes it the same as the middle-of-the road Mac, without an extra 128MB of video RAM, but $350 cheaper. I also bought Parallels, which is software that lets you run Windows within a window in OS X. If other converts stories are to be believed, it is a valuable safety net, but I’ll find myself using it very little. We’ll see. I also bought the cheapest version of Office, and the wireless “mighty mouse.”

I had been holding out until Apple released Leopard, but when Apple announced last week that Leopard wasn’t coming until October, I decided I just couldn’t wait any longer.

The setup was OK – I did run into trouble when I tried to get it into my wireless network, though. For reasons I won’t get into here, I had setup my wireless network with 64 bit encryption instead of the now-standard 128. It wouldn’t connect no matter what I tried. Eventually I gave up, questioning the “it just works” mantra that all of the Apple fanboys live by. I was able to eventually get the WiFi working without any problems once I got into the OS (instead of the cute setup application).

It immediately recognized my old Dell, so I started transfering files. I also downloaded Firefox and Adium, and setup Mail.app to go to my ISP’s mail servers. I’m still in the process of getting my MP3′s off from my iPod and onto the MacBook. Apple doesn’t make this part easy, you need to download third-party apps to do it. I guess it’s to discourage illegal copying. Whatever. But pulling my MP3 collection off the iPod will be a lot faster than over the network.

The Mac is actually a little harder to get used to than I was expecting. The single mouse button thing really is a bigger deal than you might think… I keep wanting to right-click to get context menus. I’m also having a hard time adjusting to all my applications sharing one menu bar. The process for installing software was a little shocking at first, too. You basically download a .dmg file, and clicking it opens this window with a single (or sometimes, more than one) icon which you drag into your Applications folder. That’s it. You just click that icon to run the program. I’m also having a difficult time adjusting to the lack of Home and End keys on the keyboard.

My son loves the remote. We were playing some of the stuff from my iTunes library with it… it was kinda neat in a gee-whiz sort of way, don’t know if it’ll be useful or not, though.

I’ll try to keep this thing updated to chronicle the trials and tribulations of switching from Windows to Mac. I know lots of other people have done this, but this will be my little story.

Barracuda Yellow Alone

Wednesday, March 21st, 2007

We just bought our four-year-old son a pet betta for his tiny five gallon aquarium at home. This is the third or fourth fish we’ve purchased for the thing… sadly, they don’t seem to live very long despite our best efforts. He named the fish “Barracuda Yellow Alone.”

I love that name. It’s cool on so many levels.

  • He’s named his pretty little fish after such an aggressive sport fish.
  • We can call him “Barry” for short.
  • It’s colorful, literally.
  • The last name (would that be his “surname”?): Alone. It’s so poignant. Bettas have to live on their own because they fight other bettas to the death. It’s such a stark, sad name… but it’s his fish’s destiny to be lonely because it is his nature.

Agile Minds stuck in a BDUF company

Monday, March 19th, 2007

I picked a really bad time to start reading about Agile software development methodologies. Right now we’re working on a project with ridiculous deadlines. What else is new, right? Everyone in the software industry has impossible deadlines. But this one is just silly – I keep telling people that it’s the most unrealistic timeline I’ve ever seen in my career (granted, I’ve only been at this for a little over ten years now).

I recently picked up Crystal Clear: A Human-Powered Methodology for Small Teams by Alistair Cockburn. I’ve also read a couple of other less remarkable books, and I’ve done some online reading (like Scott Ambler’s site, http://agilemodeling.com). Of course, as advocates of the Agile cause, they make their methodologies sound fantastic. But something about the agile approaches really resonated with me. Particularly the idea that the artifacts (or “documentation”) of software development are for creating a shared understanding of the problem and solution. Perfect documentation, in whatever format, is not a goal unto itself.

Anyway – a lot of what they are saying seems perfect for the project I’m on – vague, somewhat contradictory specifications from the client, massive user interface tweaks, etc. It’s something that would be a great candidate for iterative development with close daily involvement from the client.

So you can probably imagine how frustrated I was today when I was sitting in a conference room, listening to one of our executives give a demonstration on Microsoft Sharepoint. It features ways to version your documents such that versions prior to “publishing” aren’t seen by unpriviledged users, but are to your team, provided you check them into the right folder or location… because over here, it’s got these priviledges, and over there, it has some other priviledges. And it’s configurable so that our eight (no exaggeration) different documents that are required for a code change are selectable from a list when we check the documents in. And we should check our documents in daily. And (here’s the best part), the rest of the company isn’t on Sharepoint – they’re on this expedio-based document library so, when we publish, we need to check a separate document into that library with a hyperlink to the proper place in our sharepoint library.

Our development process, which is entirely comprised of documentation-based milestones, is painstakingly detailed on an intranet site with a flowchart that is spread out over scores of pages.

Who do you think I work for? IBM? EDS? Some giant banking firm? Nope. It’s a small shop. Well under 200 developers. Probably fewer than 100.

I feel like I’ve learned some things that could help us out of the darkness, and into unbridled efficiency and creativity. But I’m powerless to affect our development process because the people in charge are so steeped in the Big-Design-Up-Front (BDUF) process that they’ve “perfected” through the years. I tried introducing some very small ideas into my own small team (five, including me), but even that is difficult to do. I’m expected to check my project plan (did I mention that I hate MS Project?) into that wretched sharepoint site this week, with it’s perfect Gantt chart showing the requirements gathering, analysis, design, code, and testing estimates. Blech.

I wish I had never read that stuff.

Quality in Burgers and Software

Sunday, March 4th, 2007

When I was in high school, I had a job at the local McDonald’s. I started out on the grill, and worked out back making burgers, and initially starting working as a “closer,” which meant I stayed until after the store closed, cleaned out the “vats” (the deep-fryers), scrubbed the grill, mopped, etc. I eventually worked my way “up” to opener, which was basically the opposite of closing. I came in before the store opened, prepared the ingredients, fired up the grill, pre-made the muffins and biscuits, etc.

The job was pretty rote. A manager would scan the crowd and determine how much food needed to be staged, and called back orders to the people working grill. You’d carefully place the meat on the grill, hit the button, and follow the grill’s commands (“flip patties”) when it beeped at you. Eventually you’d manufacture the sandwiches. Everything was on a timer. Patties, buns, McNuggets, Breakfast Burritos, etc., could only be kept a certain number of minutes before they were unceremoniously tossed into a bucket resembling an empty joint-compound container. It was some manager’s job to go through the waste later to calculate how much was lost.

Even in a mundane place like a fast-food restaurant, there were processes and controls in place to ensure that a consistent, quality product was given to the customer. Sure, some people would bend the rules occasionally (some employees more often than others), but McDonald’s spent a lot of time codifying and parameterizing what was acceptable, and what wasn’t. Chicken patties that are in the warmer for 19 minutes are acceptable. Twenty minutes, and it’s tossed. There are horror stories and urban legends about rats and food being served off the floor, but I like to think that those horror stories are just rumor and exaggeration – at least I never saw any of it!

Sometimes it seems like similar rules just don’t apply to software engineering. While McDonald’s might expressly forbid serving an impatient customer a hamburger that is more than x minutes old, software engineering companies would rather serve crap from the garbage
or off from the floor than make a customer wait. When a bus filled with a hungry teen-aged high school soccer team pulls into McDonald’s, the managers don’t get dollar signs in their eyes, and order the cooks to stop cooking the burgers to a safe temperature, to get a few more Quarter Pounders with Cheese out the door more quickly. If they did, they’d risk being the next fast-food chain on the evening news, with the E. Coli outbreak du jour.

But I think the majority of software engineering firms do exactly that – when an impatient customer comes to the counter with their order and an expectation of the turnaround time to complete it, the pimply-faced teenager at McDonald’s shows more bravery and honesty than the customer-facing professionals at a programming shop. Anyone who has had to come up with a credible schedule for a software project knows that it’s true… the first thing to go is quality. And I’m not just talking about that under-appreciated “last step” of Quality Assurance; nope… design, proper architectural decisions, planning, scoping… all of it is tossed in order to ship that under-cooked, over-clocked, slopped together drippy wax-paper-wrapped burger to the customer.

And we have the audacity to wonder why the customer is always unhappy with us.

Fresh New Look

Monday, February 26th, 2007

I had a week off last week. I spent a little bit of that time spiffing up my website. The old look was basically ripped off from a design at OSWD – unfortunately, I don’t even remember its name. This new design is based on that one, but I’ve changed all of the CSS to make it truly my own. I decided to go with a hip “dark” looking page, because that seems to be trendy lately. I also added another trendy touch – CSS rounded corners. I’m using a technique that I learned here. Lastly, I got rid of the wannabe Mac OS “lickable” logo, too. I actually purchased the one that I’m using now from a stock image website… Fotalia. The content has changed slightly, but those changes are not very noticeable. Anyway, hope you like it…

Still Alive… Nothing interesting to see here…

Monday, November 27th, 2006

I haven’t written anything in a long time. Probably because I don’t have much to say.

I decided to stay with my current employer after receiving an offer elsewhere. I’m taking a “wait and see” attitude for now. They’ve made a few changes that I think will be good for the product… time will tell whether or not those changes will be good for my career.

In my new role, I’m going to be promoted again and still do the same job as I had two promotions ago (funny, that). But it’ll be a lot more Java and with a real team that does the SQL and Java layers of our new webservice. So I’m reading Spring In Action by Walls and Briedenbach. It’s a really good book so far – just got finished with the section on AOP. Looking forward to the database stuff.

We had four Thanksgiving celebrations last week… one Sunday, Two on Thursday, and one on Friday. I’m all set with turkey for a while. Probably the only annoying part is all the traveling we had to do – thank God we have a DVD player in the car for the kids.

I recently downloaded a couple of albums from iTunes by Trespassers William. I found out about them because their singer is on one of my Chemical Brothers albums. Anyway, the Trespassers William stuff is awesome. It’s really emotional and environmental… with lots melancholy, moaning, echoing guitars and sad, poignant lyrics. It kinda reminds me of Mazzy Star from the 90′s.

Before that I had been addicted to Morcheeba, Zero 7, and Thievery Corporation – I’ve been really into the cheesy techo-lounge crap lately. It’s great music for programming… it’s enough to distract me from my ADHD but not overbearing.

It looks like my homepage doesn’t render quite right w/ IE7. For some reason, the navbar gets all hosed up when you click the “Photos” link. I have no idea why it would do that, and I’m kinda too lazy to care right now. Probably my CSS is not playing nice with IE7 (surprise).

Guess that’s all for now. Just thought I’d write something to keep this thing alive.

Note to CSI

Friday, October 20th, 2006

My wife is a big fan of CSI. We’ve seen like every Las Vegas one, so now we’re watching Miami which is, frankly, really hard to stomach. I can’t stand that Caruso guy. Anyway… it really bothers me that they never turn on the freakin’ lights at a crime scene! Why on earth do they wander around using their flashlights when they could just turn on the darned lights?!? Sheesh…

Oh, BTW, we bought the Prius and it rocks. It’s a light-green ’06 with 8000 miles on it. We picked it up a few weeks ago and we’ve been getting about 47-48 MPG.

Still Alive

Tuesday, September 5th, 2006

I haven’t written anything in a long, long, time. It’s something I keep meaning to do, but can never seem to get to. I guess I’ve been busier than I thought with work and “family stuff.”

We just launched a big project at work. It’s a new kind of account for one of our wireless carriers. The neat part was getting to work so closely with the carrier on this one. I never, ever thought of myself as a “people person,” but I actually seem to do pretty well with it. It’s odd… when I’m dealing directly with clients, I almost become this whole separate person. It’s like I put on the “customer-friendly” veneer. It’s particularly easy with this specific client because they have a dot-commy not-quite-professional culture.

So anyway, I got to travel to their headquarters, and I got to go on another trip to meet with them in Atlanta, and I discovered that I like business travel quite a bit. It’s not something I’d like to do all the time – I know people who are on the road three or four days a week every week. That would suck, as I’d never get to see my kids. But I wouldn’t mind like 5 or 6 times a year.

So they’re talking about making that more like my full-time job at work. The thing is, my division is in pretty dire financial straits right now. Our clients are dropping like flies. I suppose the good thing is that most of them are getting bought up by bigger carriers, and they aren’t leaving voluntarily – industry consolidation sucks. But I don’t know how much I can count on getting a fabulous new title with new responsibilities when we’re looking at losing so much revenue.

I guess I think about my job a lot. Probably too much. It’s just a job, right? As long as they keep paying me, and I enjoy it, I really shouldn’t worry about things like this. But I guess that’s just a part of who I am. I’m kind of a “career guy.” It’s probably caused by the super-competitiveness in me.

I just spilled coffee on my shirt. Never fails when I wear a white shirt. Man, I hate that.

The Lunch Time Meeting

Monday, July 24th, 2006

OK – so I understand the desperation. I’ve setup many meetings at work. You go into Outlook, you add all the people who should come, and you look at the calendar. Lo and behold, the next time that all of the required members, and a conference room, are available is so far into the future that the meeting will no longer be relevant. Unless…

A second look at the calendar reveals several gaps between noon and 1pm where everyone is free. And it’s just a few days away…

I can understand the temptation. I’ve felt it myself. The usual offendor is an apologetic project manager who is exasperated by the fact that he/she cannot find a time to get everyone together on a conference call to discuss something of utmost importance (to him/her). But nothing galls me more than to get invited to a meeting from 12-1. Worse, I work at a remote site, away from the corporate mothership. The project manager is usually thoughtful enough to provide lunch as a consolation for stealing away everyone’s precious lunch break, but only to those at the corporate site. People like me, who call into meetings, are left to hear spit-filled chewing sounds and crackling potato chip bags. I’m chained to my desk trying to make out the words while my colleagues go out to lunch, or go for a walk outdoors to get fresh air.

I guess I feel like I don’t ask for too much. I work extra hours nearly every weekI come in early, I leave late, I login from home to read my e-mail before I go to bed. I answer e-mail promptly. I’m (usually) polite when people stop by my desk with questions.

I have one hour each day to clear my mind, push all the crap aside, eat my sandwich, and maybe go for a walk. It keeps me fresh and energized. I think for a living. My brain needs to rest for a while or it won’t work well.

That’s why it’s really rude for you to schedule a lunch time meeting. It implies that your meeting is 1.) more important than whatever I need to work on later that day, and 2.) more important than my break time. You’re probably scheduling the meeting at lunch because I’m in meetings for most of the rest of the day. That probably means that 1.) you’re using the only time that I have to eat, and 2.) I have almost no time to do any of my real work that day, and I was probably planning on working through lunch if I was going to have any hope of getting anything done. I’m not really paid to go to meetings – people assign stuff to me and don’t even consider that I’ll spend more time in meetings than working on the stuff that’s assigned to me. Borrowing my lunch time just exacerbates the problem further.

So if I don’t accept your lunch-time meeting, now you know why. Try to catch up with me later to get the information you needed. I’ll be quite willing to help you out then!

Up too late

Thursday, July 6th, 2006

This is the umpteenth time I’ve been woken up at night by someone frantically calling me from work because something hasn’t been working. I’m just sitting here, alone, in the dark, waiting for another call. I can’t help but feel like this isn’t what I signed up for. When I was a kid, my mom and dad convinced me not to be a doctor (strange, I know). Their rationale was that a doctor could never take a day off – they’d always take their job home with them. When a patient is sick in the middle of the night, you’d get paged. That sounded icky to me. Little did I know that cellular billing software was somewhere near saving human lives on the “important enough to invade your family and sleep time” list.

I guess I should’ve been a doctor.


© 2012 Mike Desjardins. All Rights Reserved.