three simple rules for geeks
Posted by Sean MacGuire
OK... I've been around for a while and coding for a long time. Here are my top 3 rules which I repeat over and over and over:
What problem are you solving?
Not rocket science. But surprising if you ask that question how often people don't have an answer. If I don't know what problem I'm solving, I'm basically screwed. (Note: this can, and does often happen at the corporate level).
Make it Work, Make it Right, Make it Fast
I don't know who came up with that (Rob or me), but that's been my coding mantra for the last 20 or so years. There's no other sentence that I can repeat to myself that has the impact that has. Because I'm A-D-D, and human, I can spend days doing what Sid-the-sailor called "painting the windowsills" - I may have an entire house in dire need of attention, but I can, and do, become obsessively focused on stupid things.
Make it Work. Tim Gunn stole that part, but no matter what I'm doing, if it doesn't work, Nothing Else Matters. Until it works, don't do anything else.
Make it Right. Debug it. Fix whatever.
Make it Fast/Pretty. In the old days, 'fast' was important. These days, I suppose 'pretty' takes its place. And a lot of the time, this is the fun part.
If you create a Giant Pile of Shit, put a flag in it and claim it as yours.
Guy Martin, my boss, circa 1987. I was working with very expensive SCSI disks, making 4 disks look like one big disk. These disks were expensive; like $7500 a pop expensive. I plugged the power supply in backwards. I saw a small puff of smoke. I brought it into Guy and said 'defecive disk'. He wasn't buying it (probably because of either the smell, or the look on my face).
Sean, "When you create a giant pile of shit, put a flag in that pile of shit, be proud of it, and claim it as yours!" This technique taught me to admit that I make mistakes (and be proud!)... which is always better than trying to hide it.
fear, loathing and coding
Posted by Sean MacGuire
Coding under the influence is fun. Until it's not.
Fear, Loathing and coding
Fear and Loathing in Las Vegas was great. But Hunter S. Thompson never coded. There were times in the early 80's when I'd summon the junior and say Go out and get me Vodka! and I would code into the night, and perhaps into the following day (or 2).
The real problem with this was when programming in an altered state, I might not be able to understand why I'd written something the way I had (certain combinations were notorious for amazing, beautiful, incomprehensible code).
I solved the problem by writing the comments before writing the code, like a little story, about what I was going to try to do next...WRITE ALL COMMENTS ALWAYS IN CAPITAL LETTERS AND TELL THE STORY OF MY LITTLE FUNCTION.
More than once other programmers have commented on the beauty of these comments and how easy it made the code to understand. They didn't realize that I did it so I'd understand my own code the next day.
You might be sicker than you think.
One of the problems with excessive use of mind-altering chemicals is that perception gets a little warped.... that's a feature which becomes a bug. Oddly enough, the perception rarely is that this is a bad thing, and is causing real problems. It's everything and everyone else.
It's virtually impossible to self-debug your own mental problems. If the computer is broken, it's going to be putting out crap results, no matter how good and sensible the input is. So that phrase "you might be sicker than you think" is just there to keep the door ajar - that maybe your perceptions of your conditions are just plain wrong, and sometimes you need to let someone else do your thinking for you, for a while. Then you look back and say holy shit, was I ever sick!
You're where you want to be.
There was a point in my life where things really and truly sucked. (See above) I was drinking a lot, blaming a lot, and generally depressed and miserable. Then the small light went on... From the age of about 18, nobody was responsible for my actions, decisions, and all that crap but me. If I'm here in the dumps, I've chosen this path; it's nobody's fault but mine, and nobody owes me shit. You can choose to change your path anytime. Accept help.
The truth is simple, lies are complicated.
I'm not going to go into the etymology of this one, except to say that in my family, honesty is a commoidity. If something sounds unduly complicated, there's probably a lie in there somewhere. Act accordingly.
If you think you have a problem, you probably do.
And if you don't know what to do about it, or who to talk to, drop me a line at sean@maclawran.ca. You don't know me from a hole in the wall... so it may actually be easier to mention what's up.
And as my old friend Jean B used to say, "Good luck to you".
We sold out...
Posted by Sean MacGuire
I got a surprise a few weeks ago... my manager at Quest called and just said "Hey Sean, your last day is next Friday... (blah blah blah)... do you have any questions?". I said "no" and hung up.
I wrote Big Brother - the first web-based Systems and Network monitoring program back in 1996. I wrote it to make my life as a Sys Admin easier... actually I wrote it because a salesman pissed me off and wanted to charge the company I was consulting for $250K but demanded I spec the entire system out. And he was mean to his technical guy. That was it. I wrote the bones of BB in a weekend. And I put my face on it... "Big Brother is Watching".
I also wrote it because I got tired or watching things manually. Netscape had just opened up the NSAPI, literally that month, and BB was one of the first programs to dynamically generate web pages. The idea was I could install it, leave it onscreen and tell from across the room whether things were OK (green), or there was a problem (red).
The problem with being a Systems Administrator is visiblilty. If you're visible, it's generally because there's a problem (which is of course, your fault), and needs to be fixed. If you're not visible, it's "why are we paying this guy so much?". Big Brother was helpful here in a bunch of ways - first it published system and network information in a "red is bad / green is good" format easily understood by PHB's. This kept them busy. If there was a problem, they could just hit "refresh" instead of "redial". Good for me, because the last thing i want to do when I'm putting out a fire is discuss putting out the fire..."
And Big Brother became popular. Used everywhere. Like Nagios is today.
I didn't realize it at the time, but we were causing some companies real pain. Quest was one of those companies. They were selling their Foglight software at about $50K a pop. BB covered a lot of the same ground for free. Quest salesmen would hit a place and see Big Brother already there. They called us 'the virus'. So they did the smart thing - offered us a pile of money and bought BB. We sold out.
I didn't expect the downside. Quest is a sales company. They could be selling Ginsu knives - they're a sales machine, it's what they do, and they do it well. BB was a 99.5% free product and the sales guys saw a big mailing list.
For 4 years I tried to hold the community together. I couldn't mention how Quest had forbidden us to upgrade the free product, or cease providing support on the mailing list. Sales guys wanted to spam the list of people who downloaded the free version - I told them they couldn't - that it was against the privacy agreement we had - even went to the company lawyers to make sure we wouldn't violate our own Privacy Agreement.
So the privacy agreement got changed... then there was the "upgrade or die" message that went out - that killed the community. Thank goodness Henrik created Xymon, a Big Brother clone ("can't we sue them for copying... no you don't want to do that"), and salvaged what was left of the brotherhood.
I've spent the last 10 years there taking care of BB. Spent the last year architecting a cloud version (that I really like). It's not like there are a lot of dev resources... there was me, Rob and Jun. I was responsible for 'the vision thing', new features, and the User Interface.
My departure effectively puts BB in maintenance mode. And it's really strange to not be associated with this thing I created.
And I need to look for work. And because I had no idea this was coming, I was really blindsided. Couldn't find a copy of my resume anywhere (I finally found a copy on The Wayback Machine - the archive of old web pages maintained by the Internet Archive).
And it's scary. I'm about to turn 50. 50? And I suspect I'm about to deal with Ageism for the first time. This is going to be interesting. It certainly focused my attention. And living in Key West? Not a huge demand for senior Unix guys down here (except at the Navy base).
I'm lucky because Quest has a sensible policy regarding Inventions - you can invent something and it's yours provided it's done with all your own resources and on your own time. I also always have a side-project going - generally to do with new stuff I want to learn about - so it's not like the skills aren't current (video, cloud, jquery, big storage).
So what's next?
I'd like to go back to doing SysAdmin work. Taking care of machines and networks... there's never been a period where I haven't taken care of machines and a network, so that's pretty comfortable. I suspect I may run into "But you haven't used Version 7.1 of blah blah" (look in the resume I probably wrote something similar to blah blah at some point).
I like being a Sys Admin.... I used to describe my work as a combination of Clint Eastwood and Mr Spock - rarely have I run into problems that required a committee to solve them; that's what I do, it's what Iike to do. Even dealing with users. I've mellowed - I'm no longer the BOFH (Bastard Operator From Hell)... then again put me in a room with enough stupid users for long enough and that may change.
And there are the patents. 2 of them, with more being filed. My favorite is the "Consumer Self-Activated Financial Card"... you get the card first, then activate it yourself. Maybe Paypal, Google, Facebook or some bank might be interested. Activation patents are cool because if you can't activate, you can't do anything else.
See it here: http://telicash.com and click on any of the pictures.
No matter what I'm sure this is going to be a trip.
And, by request, a link to my resume: http://root.sh
1 page of 1


Subscribe via RSS