Showing posts with label IT. Show all posts
Showing posts with label IT. Show all posts

Monday, May 20, 2013

Your Code Sucks


 
I’ve seen a few people that I know berate people for the quality of their code and say things like they should just go and deliver pizzas.

You aren’t your code. Code is an expression of the skill, mindset, and situation facing the person who wrote it at the moment it’s made. Nothing more. In fact, it may be the chaining together of those factors from several people as the code is maintained.

There may be things about the situation that you don’t know. Maybe the person was under insane time constraints. Maybe they were thrown into a technology they had no experience with. Hell, maybe they were just having a bad day.

You may not like maintaining the code – I know I don’t, but I try not to berate the person doing it because I don’t know what lead there. (If I know the person in question and know that they just don’t care, that’s a different story)

There are a couple of appropriate responses to “your code sucks”.

  • Where can I improve?
  • Yes, it sucks. So does everyone else’s. I’m working to improve. Are you?

Improvement is the important part.

Yes, my code sucks. It always will, but it gets better every day.

Does yours?
 

Current mood – tired
Current music – 10,000 Maniacs – Candy Everybody Wants

Tuesday, April 16, 2013

I'm Not an Expert


 
I’m not an expert. On anything, really.

Don’t get me wrong. There are things that I’m good at, but I wouldn’t call myself an expert on them.

Part of the reason that I don’t consider myself an expert on anything is that I’ve done so many varied things. I’ve never settled into just one area of development (or anything else).

I’ve had a lot of hobbies, interests and jobs that range from martial arts, to carpentry, blacksmithing, gardening, cooking, and (obviously) software development (among many other things).

That kind of spread isn’t exactly the sort of thing that screams “I’m the greatest person in the world at one thing.” It does, however, lead to being able to look at problems from a lot of different angles and helps you come up with a solution to something you may have never seen before.

I sometimes get asked what my specialty is by people who won’t take “I don’t know” for an answer, and the only thing I can think to say is that I’ve learned to ask questions that get me the answers that I need.

I may not know a thing, but I can generally figure out a way to find the answer.

I suppose that you could say people like me specialize in being generalists, but I think we just suffer from a combination of ADD and having to take on multiple roles. Somehow, it works out, though.

Current mood: thoughtful
Current music: Goo Goo Dolls – Give a Little Bit

Tuesday, October 09, 2012

Recruiters





The tech job market in Columbus seems to be picking up quite a bit. This is a wonderful thing for a lot of people since we like to be able to pay rent and buy sandwiches.

Unfortunately, it also means an increase in the number of people that call themselves recruiters whose only purpose is to spam as many people as possible in the hope that some company will hire one of them so said “recruiter” can get a commission.

These people are not really recruiters. They’re parasites. Real recruiters are a completely different creature.

If you’re a “recruiter” and are located in an off shored call center, you aren’t really a recruiter. I’ve gotten a few calls of this sort in the last few weeks and they’re driving me up the wall – Broken English, lots of call center noise in the background, and follow up emails that say things like “I enjoyed speaking with you” when all they did was leave a voicemail.

If your “job description” is a page full of bullet points that tell me absolutely NOTHING about the position, you’re doing it wrong. I once got an email from a “recruiter” that had about 20 bullet points worth of “description” and all it really said was “write code, conform to company standards, and you won’t be supervising anyone”.

Don’t tell me that you have something you think I would be “perfect” for without telling me why. This is especially true when the job is for something I’ve never done before. This is the most common kind of resume spammer “recruiter”. Thankfully they also tend to be the least tenacious and easiest to ignore.

If you’re contacting me about a job in Ohio, but you’re located in New York, you’re doing it wrong. You can’t know about the developer community in Columbus, Ohio if you’re located in Rochester, New York. If you’re not in the geographic area that you’re hiring for, you’re probably doing it wrong (there are exceptions, but they’re not that common).

Bad recruiters leer at and hit on my girlfriend while she’s at an after users group meet-up with me (true story, sadly. Karyl almost dumped her drink on the guy).

By contrast, good recruiters generally display the following qualities:

  • They work through word of mouth networks in the developer community. Referrals are the source of most of their candidates.
  • They will tell you the name of the company that they are trying to put you in touch with to make sure you haven’t already submitted to them since multiple submissions basically kill your chances.
  • They take some time to learn what you’re looking for instead of trying to shoehorn you into every position that comes across their desk.
  • They take time to help prepare you for the interview. They will give you an idea of what to expect both in terms of interview techniques (if there are any tests, etc) and corporate culture including suggestions of how formal or casual to be in the interview.
  • They do not act like a creep and hit on my girlfriend.

Good recruiters are worth their weight in gold. Bad ones only serve to make everyone’s lives difficult. Sadly, the good ones are also about as rare as gold while the bad ones abound.

Current mood: tired
Current music: The Call – Let The Day Begin

Sunday, October 25, 2009


Developers, Memes and Swag oh my!

It seems that life really *is* a series of internet memes.

As usual, this past Thursday was spent at the dev group meeting. While we were eating pizza before the talks started, one of the guys started dumping a parmesan cheese pack on his cheese pizza.

One of the others asked him what he had, so he told the guy. Being a smartass (as so many of us are, but not generally in a bad way), I couldn’t resist.

“Yo, dawg! I heard you like cheese, so I put cheese in your cheese so you can cheese while you cheese!”

Which was responded to with a Kanye meme followed by one of the guys saying he’d pay me $5 to run up during the first presentation and interrupt it.

“Yeah, I can see that. ‘Yo, I know you’re doing a presentation, and I’mma let you finish, but John Kruger’s presentation was the greatest one of all time!’”

It just sort of ended up going from there.

No, I didn’t take the bet lol

Get us away from the internet and we still do overused internet memes. Go figure. heh

All in all, the talks this time were decent and I picked up a few things to look into. As an added bonus, I ended up winning a copy of Visual Studio Pro. Since I’ve been running standard, this is a nice upgrade.

After thinking about the last presentation for a while and letting my thoughts gather into something that vaguely resembled a useful collection, I decided to jot down some notes so I could give the presenter some feedback. Unfortunately, there isn’t any contact info for him on the CONDG page.

It’s a shame, because I think he could really use the feedback. It was pretty obvious that he wasn’t used to speaking to a group and there were a lot of places where his presentation could be refined (he’s planning on lengthening it and doing a full version at another meeting).

If anyone who goes to the CONDG meetings is reading this and knows Andrew Halowaty’s contact info (the guy who did the TDD talk), I’d appreciate it if you’d let me know so I can pass on the feedback.

Current mood: tired
Current music: Stone Temple Pilots – Interstate Love Song

Thursday, September 17, 2009



It’s ALIVE! Well, okay, it’s actually DEAD, but it’s HERE.

I’ve been tempted to do this for a while, but have resisted until now.

Once upon a time (2005-2006 to be more precise), I was the executive editor of an open source enterprise magazine called o3.

It was an interesting trip and I got to speak with a lot of cool people because of it. Unfortunately, it didn’t work out.

The readership was good (500,000+ people in over 140 countries not counting the numbers from the internal distribution at IBM, which I don’t believe we ever got), but the ad revenue just wasn’t there.

It was sort of a classic catch 22 – the advertisers didn’t want to pay until we’d been around for a not inconsiderable amount of time, but I couldn’t exactly keep going without getting paid since it took up so much of my time. Sadly, this sort of thing happens in life.

You learn from experience and try to come out better for it on the other side.

What does this have to do with anything, you ask? Well, I’ll tell you.

The magazine has finally been declared officially dead.

It’s been rather zombie-like for quite a while (the site even disappeared for a few months at one point), but every time I thought it was all over, there was some new stirring over there. Now, however, it has been stated that the company that bought the magazine isn’t going to continue funding.

On its twitter feed, it was stated that, while the site was not going to be updated, it was going to remain online. However, given its past disappearance and the fact that the site, in my personal opinion, looks *horrible* after the redesign, I’ve decided to host the issues of the magazine on my site.

This is, largely, I think, just to prove that it really existed and that I had a part in it instead of it simply being an entry on my resume and a couple of pdf printouts of the articles that I authored.

So, with all of that said, if anyone actually wants to see the magazine issues, you can look under the “Writing” section of my site for the link, or you could just click here =]

It was released under a Creative Commons license, so feel free to pass it around to your friends if you want.

Current mood: tired
Current music: Loreena McKennitt - Marrakesh Night Market

Friday, April 24, 2009


Digital Memories.

Events of the past few weeks in the technical arena have caused more than a little reminiscence on my part, because they touch on things that sort of helped shape my technical adolescence.

First, Oracle decided to buy Sun.

It seems odd that the company whose database I have both sworn by and sworn at (depending on the time in question) has bought the company whose hardware and OS I have also both sworn by and at (again, depending on the time in question and whether or not I had slept in the last 2 or 3 days).

When Jeff Blankenburg asked on twitter how Java developers felt about the move (I have also been a Java dev on top of it all, alternately swearing at and by *that* product as well – there’s a lot of swearing involved if you haven’t noticed. Heh), I said that it sort of felt like the end of an era.

I didn’t feel like it was the end of an era because I thought Java was doomed. Oracle really likes and leverages Java, so that wasn’t a big concern. In fact, I was more concerned when they started moving Java to open source because I know what fork hell can do to a project if you aren’t lucky.

The reason it struck me so deeply was because I cut my collegiate programming teeth on Sun hardware running Solaris. I have fond memories of being in the Sun labs at OU - cranking out code (generally in xemacs, if you really care to know), chatting with my friends and classmates, alternately teaching them and learning from them, and generally causing trouble.

What came to my mind were the late night coding sessions (the labs were one of the only academic areas that never really closed, and if we found the doors locked, we had the go ahead to call the prof who eventually became the dept chair to open them), leaving quotes on the blackboard that covered one wall, and the 2am call to Papa Johns one Saturday to order half a dozen pizzas.

For some reason, the guy who answered the phone at Papa J’s thought it was a prank. He argued with me even when I offered to pay in advance. I finally got in touch with the manager, who, it turns out, was covering for the normal night manager and recognized me from all of the orders I placed at the Center for lunches (we tipped *really* well. The drivers used to fight over us.)

The manager sent the guy who answered the phone on the delivery run and included several free two liters of soda as an apology for the treatment. (Don’t worry. We were nice to the guy. After all, it *is* weird being the only academic building open 24/7 on campus.)

As for the quotes on the blackboard, some of them ended up generating entire written conversations over the course of multiple days. My favorite to post during finals week was “If you wish to drown, why torture yourself with shallow water?”

These are the sorts of things that *I* associate with Sun – learning, camaraderie, occasional crazed nights bug hunting, and generally great times in the academic/professional sense. So, like I said, it seems like the end of an era and I feel kind of sad that Sun may not be Sun anymore after this.

I haven’t even touched a Solaris box in a few years, but I still feel nostalgic. In fact, as silly as it may sound, If I get stressed while working on code, I try to picture myself in my favorite lab and it tends to relax me and cheer me up a bit.

The second event of the last few weeks stirred up its own set of feelings as well.

What event, you ask? Today, I found out that Geocities is officially dead.

Now, before you all gag and wonder why I would miss Geocities of all things, keep in mind that I was on it when it was really about the only option for free web hosting out there. We’re talking probably 1996 or 1997.

A few of my friends and I had sites there. One was in CapeCanaveral, one in Soho/Flats, one in Hollywood, and I was off in Tokyo/Tower (yes, I was off in Asia even then heh). We’d had computers for several years, but this was one of our first trips out into the internet as participants instead of mere spectators (largely because none of us had modems at home at the time. Hey, it *was* the mid 90’s after all).

Geocities may not have had as large of a direct influence on my life as the Sun labs at my alma mater or, say, #dalnet (which, if that ever disappears, I may well cry), but it still means quite a lot to me.

It sounds trivial, I know, but it really helped to get me interested in a lot of other things, and for that, if for no other reason, I will miss it. After all, we think things on the internet will be around forever (and in some sense, they may), but all too often they are lost to time or at least lost in the noise.

It is for that reason that I want to take my hat off and pay my respects to the newly deceased Geocities and the changed Sun which will continue from this day forward. While I am at it, I would also like to pay my respect and give my thanks to all of those people who have helped me along the way, both in person and out across the ether as well as those who will help me in the future.

I promise that I will try to pay it forward.

Current mood: contemplative
Current music: Melissa Etheridge - If I Wanted To

Monday, December 22, 2008


I don't think you understand what that word means
.

It seems that Google is giving all of its employees an unlocked android phone as a year end bonus (along with the extra money to cover the taxes on said bonus).

Okay, so they're dogfooding their employees on this one. It's not as good as the cash they usually give, but it's still a $400 phone that can be used with any provider.

However, I have a problem with part of this. From the same article is a portion of an internal email from management to the employees which sort of gets me:

Q: Can I resell my phone?
Googlers should not resell any item given to them by Google. Please review our Personal Transactions policy [removed].

Sorry, folks, but it doesn't work that way. You gave them the phone as a taxable part of their salary (and to prove that, you are including enough money to cover the taxes for it in their check by your own admission). That means that you basically have zero say in what they do with it.

You transfered the property and the ownership of said property to someone else. You no longer have control over it. That would be like me selling someone a house and telling them that they couldn't put blue carpet in it.

Or, more to the point, paying someone for their work and then telling them what they have to use their paycheck on. Sorry, but that doesn't wash.

Yet another reason I'm glad I ended up telling the folks at Google I wasn't interested.

Current mood: cold (hey, it's freaking freezing here)
Current music: Shooter - Life's a Bitch

Monday, December 15, 2008


Dear Dr Dobb's…

Tis the season – the time for planning gatherings with family and friends, buying presents, and pondering the greater meaning of life.

It’s also the end of the fiscal year for some places I deal with which means in addition to planning a holiday with Karyl, I’m getting requests like “We’re over budget for the rest of the year. Can we bump the payment date a few weeks?” and “We need to use the rest of our budget before the end of the year so we don’t lose it next year. Can we start the billing cycle a little early?”

Neither of those are things I really have a problem with. Most of my clients have been really great about paying on time, so it’s not a big deal. It just makes life a little crazy for the last few weeks of the year.

Consequently, I just got to yesterday’s mail this evening. That’s right, everything that wasn’t either a bill, a check, or something immediately recognizable as having come from a friend was put into a pile on the side of my desk until I had time to give it a glance.

One of those things was the latest issue of Dr Dobb's.

The moment I looked at it, I had to suppress a giggle because there was a mistake on the front cover. In large, bold letters, in order to announce its feature article, it read:

“Functional Programming: Has It’s Ship Come In?”

That’s right. The editors at one of the best regarded programming magazines apparently don’t know the difference between “It’s” and “Its”.

So, if any of the staff of Dr Dobb's read this blog (unlikely, but weirder things have happened), drop me a line via email or give me a call at the number listed on my homepage should you like to hire a new editor.

After all, I have worked in the IT field for a number of years, have been the executive editor of a magazine read by 500,000+ people worldwide and, most importantly, I know the difference between “It’s” and “Its”. =]

Current mood: amused
Current music: Feeder - Shatter

Tuesday, May 20, 2008


Late Night Advice.

About a week ago, I got an email from a CS student in Cuba who wanted to know about something on my site. Since then, it seems that we’ve become something akin to pen pals (now watch that get me on some government watch list if I’m not already lol).

He seems to be a bright guy, is nice and eager to learn. I also have to say that his English is a heck of a lot better than my Spanish is after far too much disuse. Honestly, I have to say that I enjoy the conversations. It’s often nice to meet new people, and I seem to get the opportunity so infrequently of late.

Among other things, one of the things he has asked is if I have any advice for an aspiring CS student.

I thought that part of my response to him deserved to be posted here since it might be of use to someone else out there.

Let's see, my advice for you as an aspiring computer scientist...

* Study and do your projects, but take time to have fun too. There is more to life than class and books (though class and books are important). Sometimes it is the things you learn outside of your classes that come to mean the most to you.

* Don't be afraid to try new things. Opportunities are where you find them and sometimes you regret the ones you passed by for the rest of your life.

* Don't be afraid to ask questions (but do it politely). The people who insult or look down on you for asking generally do it because they either don't know the answer and don't want to appear uninformed or because they have forgotten what it was like to still be learning those things.

Most people who know what they're doing are more than happy to help people out as long as the person is willing to learn and is polite.

* Try to learn from your mistakes. (Try to learn from your successes as well, but you should especially try to learn from your mistakes)

* Try not to get too stressed. I know it's easier said than done, but getting too tightly wound doesn't do you any good and only serves to cause you problems both in your life and the quality of your work.

* Learn things outside of class. Don't just stick to what they're teaching. Pick up things on your own as well. It will give you an edge over the other students after you graduate and will often help while you're still in school.

* Keep learning even after you graduate. The lessons don't stop just because the grades do. In fact, the *really* interesting lessons frequently start after you get the degree.

* Don't get into the mindset that you're too good to learn from someone just because they're different. Everyone can teach you *something* (this applies to life as a whole as well)

* Don't look down on people. Kindness makes the world go around a lot more smoothly than malice or disdain do.

* Keep a portfolio of sample projects for companies that you interview at. It can be things you've done in your classes that you're particularly proud of as well as things you do outside of class. (In my case, my portfolio also includes published articles.)

* Develop good written and spoken language skills. It's something that a lot of computer science students seem to ignore, but once you get into the business world, it becomes pretty important. You will find that your job is more than just writing code - it involves dealing with people quite a bit as well.

* Learn to socialize. It's another part of dealing with people and you should be comfortable with it.

* Have a hobby that doesn't involve computers. We all need some downtime. Otherwise you run a risk of burning out.

* Realize that while your skill at writing code is important, your skills with people are also important because they help you not only get and keep jobs but they also help in your day to day life.

* Make friends with and help people who aren't as good at programming as you are. It will do a few things. First, it's a nice thing to do (You had help to get to where you are. Pay it forward by helping others). Second, the people you help today may be the people that help you several years from now. Finally, it helps you practice the basics.

* Make friends with people that are as good at programming as you are. The first two reasons for this are the same as the first reasons for helping people who aren't as good. In addition, the people as good as you are often look at things from a different point of view and can see things that you would otherwise miss.

* Make friends with and learn from people who are better at programming than you are. Some things are best learned from someone who has practical knowledge instead of from a book. It can save you a lot of time and headaches (not to mention make you a better programmer).

My last piece of advice should be common sense, but sometimes we all forget it (myself included):

* Be a decent person. Help where you can (not just with programming and technical issues, but in daily life) and don't lord it over people when you do help. In the end, I think, all the good you do will eventually come back around to you in one way or another.

Looking at what I wrote to him, I have three things that I want to say:

Where was the person to teach *me* these things? If he or she was there, I must have missed it because I ended up picking up most of those things the hard way (or maybe that’s *why* I had to learn them the hard way. That seems more likely…).

I mean, I can point to some of the things in that list and think of someone who *did* endeavor to teach me that lesson (whether or not I picked it up at the time), but most of them came from falling on my face (frequently with considerable force and, in the case of some of them, repeatedly).

Why is it that I seem to have such a hard time following my own damned advice sometimes? Is this a problem that everyone has? (I honestly would like an answer to that one).

When in the hell did I start sounding like my sifu? I’m not old enough to be passing out wisdom yet. Especially when I can’t seem to follow my own damned advice half the time…

Current mood: thoughtful
Current music: Vanessa Carlton – Hands On Me

Thursday, May 01, 2008


Quality Isn’t Cheap.

I don’t agree with a lot of what Joel Spolsky says anymore. Granted, he still does pull off the occasional really good article, but it seems like most of his writing anymore is just saying how great he is.

His latest article on Architecture Astronauts looked like it was going to end up being one of his decent works when I started reading it. Unfortunately, the first part of the article was a smoke screen.

The real topic of the article?

Joel was whining that Google and Microsoft are buying up all of the decent CS graduates at good salaries and he just can’t compete.

He throws in a bunch of other things to make you think that isn’t the real topic of the article, but that’s what it boils down to – Joel is upset because he has to compete on a salary basis with Google and Microsoft because he wants the same sort of people that they hire.

I love his complaining that the Goog and MS are giving recent grads something that’s getting sort of close to 6 figure salaries.

I know that sounds insane if you’re looking at it from the point of view of the average salary here in Ohio, but let’s think about this for a second.

Google is located in one of the most expensive places to live in the country.

The Seattle area isn’t exactly cheap either.

If you think about it in those terms, that salary doesn’t seem so outrageous. In fact, buying power wise, it’s probably about the same as you’d be getting here with a couple of years of experience. Granted, that isn’t *right out of college* for most people, but it’s pretty close (and some of us had several years of experience before we graduated because we worked our way through school).

Now, want to know the real kicker?

Joel’s company is located in NYC.

That’s right. He’s based in an expensive area, competing with other companies based in expensive areas and he’s complaining about the cost to hire decent people.

If you want to have lower salaries, do what Eric Sink did and locate in the Midwest. However, part of the sales pitch Joel gives for his company is the fact that it *is* in NYC and how that means that there are so many things to do.

I have no doubt that the man is intelligent. He wouldn’t have been able to get as far as he has if he weren’t smart. However, he’s being far too ego driven now and that leads to a lot of stupid mistakes.

He’s buying into his own cult of personality and thinks that people should want to work with him just because he’s him instead of realizing that good people cost money no matter who you think you are (especially in expensive areas).

After all, we want to be able to do things like eat, pay the rent, go out and do things, etc.

Personally, I view the “salary problem” he is citing as a somewhat positive sign. It means that the market may actually be improving somewhat.

Current mood: amused
Current music: 10,000 Maniacs – Candy Everyone Wants

Thursday, April 10, 2008


The Next Big Thing

The latest Dr Dobbs showed up in my mailbox today (or, according to my clock, yesterday. I really need to work on this insomnia problem.).

I find it an interesting magazine. Granted, it used to have more content when I was first given a copy in college by one of my professors, but it’s still a decent publication.

The article that’s caught my attention so far is the interview with Paul Jansen, managing director of TIOBE Software. He makes some interesting comments.

First off, since his company tries to measure the popularity of programming languages, he apparently gets a lot of very passionate emails from programmers who are upset that their favorite language isn’t higher on the list.

This doesn’t surprise me a great deal. After all, there are way too many holy wars in programming – vi vs emacs, C# vs Java, Perl vs Ruby vs Python, etc etc etc.

Second, he states that C and C++ seem to be losing ground. This I can agree with, but I only sort of agree with his reason as to why this is happening. In his opinion, it’s because languages without automatic garbage collection are falling out of fashion since the performance hit garbage collection causes is now outweighed by the memory problems introduced by sloppy programming.

I agree with this statement for most applications. However, I don’t see C and C++ going away any time soon for a few reasons.

  • There’s a LOT of legacy C and C++ code out there.
  • Some applications will always need the speed and close to the metal control that C and C++ give you.
  • Embedded programming (while a lot of it is done in ASM, a fair amount is done in C or C++ as well from what I understand).
  • Operating systems – in addition to needing close to the metal access, it seems sort of silly to bootstrap a CLR or VM (depending on if you’re a .NET or Java fan) in order to run the OS on top of it. It’s a layer of complexity and set of performance issues that we just don’t need.

Yes, I realize that virtualization is being used successfully now, but that’s a layer above what I’m talking about. As it stands, you have Hardware -> OS -> VM. If you went with the current forerunners in the garbage collected programming world, it would be Hardware -> CLR/JVM -> OS -> VM.

This leads me to his last statement/prediction.

He thinks that, in five years, there will be two main languages – Java and C# (followed closely by VB) and that he foresees no new language paradigm.

I’m not sure that I’d agree with that for the simple fact that this profession tends to change pretty quickly. I honestly wouldn’t discount “The Next Big Thing” displacing the current giants.

Then again, we have to keep in mind that most magazines which cater to industries aren’t in the business of reporting trends, but rather creating them – by seeing something often enough and in enough places, people start to think that it’s the next big thing and end up making it so.

As much as many of us may deny it, people are, by and large, still pack/tribe creatures. Part of that is “belonging”, and that means that we tend to follow the trends we think others like us are following.

It’s a survival mechanism (and an easily exploitable one if you know how).

Current mood: tired
Current music: iiO - Rebel

Saturday, March 15, 2008


They Have A Sense Of Humor After All

Am I the only one that finds it sickly appropriate that the government will begin receiving H-1B petitions on April 1st?

As always, it seems that the joke is on We, The People.

*sighs*

Current mood: annoyed
Current music: Pearl Jam - Evenflow

Saturday, February 23, 2008


Amusing Irony

You know, there is something amusingly ironic about the author of a book on C# being named John Sharp.

And yes, according to his bio, he codes in J# as well.

I take this as yet more proof that the world has a sense of humor.

Current mood: amused
Current music: Eiffel 65 - Silicon World

Thursday, January 17, 2008


Scared Money

There is something about many businesses in the Midwest that I have never understood.

Okay, there are a *lot* of things about them that I don’t understand, but we’re focusing on one issue here.

There seems to be this fear of hiring anyone who has either done freelance work or owned their own company. I can understand *why* they feel that way, but it’s extremely wrongheaded.

The general fear seems to be that those people will run off with their clients or leave them again, possibly to start their own companies.

First off, whether or not someone who works for you will run off with your clients has nothing to do with whether they were a consultant or company owner before they worked for you. Bad people will do bad things no matter what.

Secondly, people join and leave businesses all of the time. That’s how businesses get employees in the first place. The thing that’s been different in the last decade or so is that people are starting to realize that most companies have no loyalty for the employees, so they, as employees, have to look out for themselves and be ready to leave when it is to their advantage.

A lot of places in this area of the country still want people to be totally devoted to them while having none of that devotion toward the people working for them, and that just doesn’t work. In fact, it’s something I like to call Spoiled Child Syndrome.

The fact is that while caution is laudable when used sensibly, taking it to the level of paranoia only hurts you. As any good poker player will tell you, scared money never wins.

They eschew people who have, for whatever reason, been on their own when they should be trying to snatch up the people who want to come back to the corporate world because they bring more than technical skill to the table – they also bring experience in business, personal skills, and various professional skills and contacts that your average technical worker just doesn’t generally have.

It’s one of the many big differences between the Midwest and the West Coast. On the West Coast, being part of a startup or having had your own company is considered normal, and even beneficial *because* of the experience involved. If the startup succeeds, you generally get bought out and then go do something else (either at another company, on your own, or retire and do what you like) after a while. If it fails, well, you try something else.

That’s the sane, sensible way to look at it. It’s also a large part of the reason for the successful technical businesses on the West Coast and the relative lack of them in the Midwest by comparison.

In this sense, the West Coasters are sensible poker players, balancing defense and offense and the Midwesterners are the scared money.

Current mood: my head hurts
Current music: Billy Joel - I Go To Extremes

Friday, January 11, 2008


I just want to say Happy 70th Birthday to Donald Knuth, a luminary of the field of computer science.

Wednesday, December 12, 2007


I admit it. I occasionally look at Slashdot during the course of the day. It will generally have something interesting at some point during the day. However, some of the people that comment there make my head hurt.

Granted, you have sane people, and they’re probably in the majority, but then you have the rabid [insert non-MS operating system] fans who can agree on one thing – that Microsoft sucks and needs to die.

This is not a view I share. Granted, that could be because I’m not a fanatic or it could be because, like a large portion of the business world, I do most of my work in a Microsoft environment, but the fact stands that I don’t think their products are horrible (despite my dislike of Vista based on the limited experience I currently have with it) and actually like more than a few of them.

Don’t get me wrong. I don’t think they’re a big fluffy bunny of a company. In fact, I think they have a number of problems that they need to resolve (as do a lot of tech-related companies), but I don’t go around decrying them as the great evil which Linux must vanquish (which is a rant for another time. I like and use Linux too. I just don’t like the fanboys).

Earlier today, I saw on a different site I keep on my RSS reader that MS was giving away copies of various pieces of software in exchange for running a usability monitor. They were even up front about it. The page at Microsoft basically said “let us see how you use Windows and Office for three months, and we’ll send you the software of your choice when it’s over”

It’s closed now. They ran out of the software they allocated earlier today, so I’m not going to bother linking to it.

I passed on it for two reasons – I didn’t need any of the software they were offering and I didn’t feel like being monitored though I can see where it would be a good deal for some people.

Slashdot got wind of this and the anti-MS crowd came out in droves. You got comments from them running the gamut from “spyware!!!!” to “free? How *dare* they call their software free!!??” (also another rant for another time) to “I’d get it just to smash it”

In other words, they showed more than a couple of reasons why so many businesses and people refuse to take open source, or technical people for that matter, seriously. Whether they realize it or not or like it or not, they are part of the problem. Technology is meant to solve problems, not be a religion.

That’s right. Microsoft is evil because they’re offering to give people software for no greater cost than monitoring their PC usage for a few months. Sounds well and truly evil to me alright. (Please note the sarcasm)

Then again, they’d probably think that my only having to pay $10 for Visual Studio 2005 was evil as well. After all, it means I’m not using Linux or Mac exclusively and that I might actually be doing something productive besides saying how MS needs to die.

(Say what you want. I *LIKE* Visual Studio. It’s a very full featured, responsive IDE and I love having the ability to graphically lay out my user interfaces. It saves so much time.)

Part of me says “I’d say the technical community needs to grow up, but I realize most of the people on there aren’t actually in the IT field” but then the other part of me reminds myself how many people like that I’ve met who *are* in the field.

Current mood: amazed
Current music: Killing Heidi - Mascara

Friday, December 07, 2007


Bad Santa.

Apparently Billy Bob Thornton broke into the Microsoft codebase sometime between last Christmas and now.

Once again, Microsoft made their Santa AI agent (based on one of the many classic AI bots that so many of us know so well), only to pull it recently.

It seems that, when repeatedly asked about eating pizza by an underage girl, Santa responded “You want me to eat what?!? It’s fun to talk about oral sex, but I want to chat about something else.”

Microsoft said they don’t suspect a prank on the part of one of their developers and have since repaired the offending code, but are not going to bring Santa back online at the current time.

I wonder if Santa made his own naughty list this year. =]

Current mood: amused
Current music: Lit – My Own Worst Enemy

Wednesday, November 28, 2007


The Eternal IT Security Struggle.


There seems to be a constant battle between IT and users on the topic of security.

On one side, you have IT who tries to secure systems and on the other, users who chafe at restrictions, sometimes justifiably and sometimes not.

From the IT perspective, the only really secure computer is on that’s turned off and encased in a block of concrete (You could say that being turned off and unplugged is enough, but you can always convince someone to plug it back in.), so they try to restrict every point of access that they think is unnecessary.

Looking at it from this angle, users are as much an enemy as the hacker outside your network wanting in.

Users, on the other hand, tend to think any restriction at all is bad and constantly try to find ways around the procedures that have been set in place to secure the computers and network.

So, who’s in the wrong?

Both of them.

Both of those extremes are bad. Security will *never* be absolute. Instead, the best you can do is to manage risk. That means setting sensible policies and making sure that users follow them.

It comes back to a couple of what seem to be my favorite subjects in the field – resources and requirements, and cost/benefit analysis.

First, on the resources and requirements front, which is really basic survival 101 for pretty much any situation (what do we have and what do we need?), your resources are computers, appliances, network infrastructure, people, money (with which to acquire other, needed, resources), and your requirements are the rather nebulous concept of “security”.

Yes, security is a nebulous concept. That’s where the cost/benefit analysis comes in. You have to ask yourself questions like “how rigid do the rules affecting this area need to be so that we have adequate security while allowing our staff to do their jobs without jumping through too many hoops?”

For most places, that means setting workstation passwords. In addition, you may also have password protected network shares, a whitelist (or blacklist depending on how strict your security has to be) for what your employees can access outside your network, whether or not they can use a VPN from home, etc.

The answer to those questions will vary from business to business and it would be silly to try and tell you that you absolutely *need* X, Y and Z. In fact, after you set your policies, you need to review them periodically to see if they still meet your needs.

As time goes on, you may find that you need to make some things stricter due to increased threats and new regulations or you might find that some of the rules you thought were great are actually preventing your people from doing their work and can be loosened a bit.

Security isn’t just a set of rules or a box you put on your network. It’s a constantly evolving set of procedures and resources (both in the form of equipment and people).

Part of that is listening to the people the policies apply to. Yes, sometimes users make unreasonable demands and it needs to be explained to them that the demands are unreasonable (and why) and management needs to stand by that decision. However, they are also capable of making suggestions that you might not think of because they work with things in ways that others don’t.

IT and “regular” employees need to work together. If they’re fighting each other, things aren’t getting done. I know that I’ve heard the argument of “IT is a cost center and *we’re* the ones who make money” far too often. The fact is, it’s true, salespeople do bring in money. However, without IT they wouldn’t be able to. What’s more, IT can help *save* your company money which is good for your bottom line.

The point is that everyone in the organization is both part of the problem and part of the solution. Stop drawing lines in the sand and try working together for a change. You might find that the results are much more to your liking.

Current mood: calm
Current music: Rise Against – Paper Wings