Made of Everything You're Not

Thoughts on programming, people and life
  • Home
  • Projects
  • Portfolio
  • Resume

Category: Rant

Why Do Programmers Suck?

Posted in Brain Dump, Programming, Rant on October 19th, 2009 by Eric Lamb – 1 Comment

One of my bigger pet peeves when dealing with other programmers is this belief in absolutes and how unbending some programmers can be in dealing with them. We all fall prey to it, even me and, probably, you too, but some of us (especially the young) can be so blinded by interpretation as to lose all credibility. Now, to be clear when I say “absolutes” I’m talking about the home spun wisdom either given to us through experience or, more than likely, through someone else’s experience.

goto

goto

Absolutes are but one example of how dealing with programmers can be difficult. Another of my personal favorites is the religious fanaticism we have towards our tools (and against those tools and users of the tools we don’t use). Arrogance is key here.

Still, it’s not like it’s a good thing to be so problematic. There’s a wonderful thread laid out on Reddit which goes into a lot of detail on how I’m not alone with this:

I am a programmer and electrical engineer. I get along well with most people, but most programmers irritate me. They are always trying to one up each other and prove how smart they are. They commonly engage in petty infighting and ruthless backstabbing.

They want to feel like artists and desire to spend all of their time refining their beautiful, unique creations. But unlike actual free-thinkers, they constantly seek refuge in argument by authority, blindly quoting their favorite gurus to support their positions.

Their arrogance and narcissism are beyond belief. In what other industry do recent college graduates show up at their first job absolutely, religiously, convinced of the infallibility of their favorite fad, arguing their point to the extent of damaging their own prospects?

One thing common to most programmers seems to be the desperate need to believe in absolutes. “You must never use goto”. “Only one entry and one exit from any function”. “All objects MUST have a copy constructor”. “Singletons are evil”. “Do not use global variables, ever”.

I’ve been a consultant for the last 19 years. I’ve seen the insides of about 20 or more different companies, so I know these attitudes are pervasive in programmers across many industries. More so when the programming is business-centric, less so when the programming is industrial, scientific or embedded.

I guess what it really comes down to is that programmers, especially young ones, need to be right and need to be seen as super smart. They crave rules, discipline and order while at the same time regarding themselves as creative and ingenious beings. They seem to need these things as if their entire self-image depends on it, cognitive dissonance be damned.

What is it about the profession or the training that so commonly leads to this outcome?

Of course none of this applies to fine folks who frequent this website. I see a much higher level of maturity here than I see in most development teams. And I myself would NEVER be guilty of any of these tendencies ;-) .

Any ideas?

Bookmark and Share

Hey!! You There, Pussy! Don’t Be A Pussy.

Posted in Brain Dump, Business, IT, Programming, Rant on September 28th, 2009 by Eric Lamb – 2 Comments

Working in IT requires balls; you have to make some really tough choices with very real consequences. It’s not really a problem for programmers; very few of us work on projects that has the potential to destroy lives or break companies apart. On the other hand, in IT, you’re dealing with the backbone of an organization. Make a mistake here and: You. Are. In. Trouble.

Don’t Be A Pussy

Don’t Be A Pussy

Not to worry though; try as hard as you want to not fuck up and it’s just going to happen that much sooner.

I can say with absolute certainty that there’s going to come a time in your career when you fuck up. Big. Like really BIG. The type of mistake that has the potential to sink the company or client you’re working for/with. When it happens it’s going to be bad. So bad that you’ll have the fear of Dad in you. You remember that right? When Dad was coming home and you knew he knew what you did and you knew your life was over. If you didn’t have a Dad; think shear panic mixed with absolute paranoia and terror. Yeah, that’s the stuff.

What you did/will do isn’t important. What is important is how you deal with it. You’re going to have options when it  comes to dealing with the issue(s) and how you act is going to determine how your colleagues and peers look at you for the next few months. Make the wrong call and you’re in for some real uncomfortable silences and some really awkward sidelong glances.

If this has already happened to you; congratulations. Just know it probably won’t be the last. On the other hand if it hasn’t happened yet get ready; it will. You’re going to make some stupid mistakes in your career; mistakes so idiotic and so demoralizing your confidence will shatter and you’ll have a hard time getting back on the horse.

Like I said above, I have absolutely no idea what you do or what you can do to fuck it up so, as anecdotal examples only, I’m going to rely on my personal experience. I can honestly say, with absolute pride, that I have done the following:

  • Deleted a database and couldn’t restore the data
  • Deleted all the rows in a table and didn’t have a backup
  • Deleted a user account and all the email and files associated with it.
  • Changed every users password to “password” in a database
  • Sent an internal cost analysis report for a client project to the client

And that’s only what was off the top of my head; I’m sure I’ve blocked out some of the worse things. The one constant between the above list (aside from the stupidity involved) was that I owned the mistake. You have to immediately handle the situation whatever that means (it’ll depend on the situation).

After that though a funny thing will happen; it’s very likely your confidence will be shot. This is important because you need confidence (read: balls) to work in IT. There are too many things, that you just don’t know how to do, that you’re going to have to do, and that requires the confidence to know you can do these things. It’s why we make the big bucks.

In my experience the only thing you can do in these situations is get back on the horse ASAP. The sooner you do something, anything, that has consequences the better. You can’t wallow in the past and getting hung up isn’t the answer.

BTW: After reviewing the above I have to say:

Thank fucking God I don’t work in IT anymore.

Bookmark and Share

Buying Books Just Got Harder

Posted in Rant on September 9th, 2009 by Eric Lamb – Be the first to comment

Truth: I’m a whore when it comes to books. I Just love ‘em. I love the way the feel in my hands, I love the way they smell and I love how I can just lie down with a good one and, somehow, miraculously, that makes a good day. We’ve been hearing for a while how books were going to die and be replaced by the Internet but I don’t see that happening anytime soon. You can’t hold it (no a Kindle isn’t the same), there’s no smell (except warm plastic I guess) and there’s no satisfaction reading a computer all day (in fact, it’s bad for your eyes).

Reading is Good.

Reading is Good.

I have a special leaning towards hard c0ver books though. Paperback books are good for a trip, I guess (for example a long flight or train ride). But if you want to keep that book, which I always do, then a hard cover book is the way to go. The great thing about hard cover books is that they can be purchased online through Amazon for a fraction of the cover price. There’s a reason Amazon is on top of the online book selling market and it’s not because they rape their customers (are you listening RIAA?)

It used to be that all I had to worry about when buying a book was ensuring it was the hard cover edition. I never cared about edition versions (first, second, yada-yada-yada) or anything but now I have to worry about Large Print Editions (LPE). LPE books are irritating.

Obviously, the print is HUGE. I’m sure they’re made specifically for sight challenged (blind) people but to us who can see it’s a little disconcerting reading text so big. Each page can only contain around 2.5 paragraphs of text. This makes the books big. Like really BIG. It’s irritating holding a normal novel and having so many pages to thumb through.

Apparently, I’ve been living under a  rock all my life because I hadn’t been exposed to LPE books before .

Recently, I bought a book on Amazon which I thought was going to be a nice little addition to my library. Just a guilty pleasure book but one I wanted. I was a good little consumer, making sure it was hard cover, it was being sent from a reputable seller, and that it was in English (don’t ask).

Then it arrives and I’m just bummed. Not because of the book, per se, but because now I have to worry about the format of the text when I’m buying a book.

So as I said, buying a book just got harder. A little, sure, but it’s now one more thing.

Fuck.

Bookmark and Share

What Does Zend Server CE Have to Offer?

Posted in IT, Rant, Servers on July 29th, 2009 by Eric Lamb – Be the first to comment

Since I had to setup a whole new computer I decided to move away from the IIS experiment I’ve been working on for the last year and try something a little different. I’d heard about Zend Server CE before but after a failed attempt to get it working a few months ago, because of IIS ironically enough, I hadn’t really given it the attention I thought it deserved. After having played with it for about a week I have to say I’m completely… underwhelmed.

Failed to Login

Failed to Login

Zend Server is supposed to be a complete Web Application Server that is purpose built for php development. It includes application monitoring, problem root cause analysis and and extended caching capabilities. Pretty enticing really.

Unfortunately, Zend Server CE doesn’t include any of the above bells and whistles. Instead, it’s a stripped down version that appears to just match the features and functionality of XAMP or WAMP (Apache, php and mysql wrapped in a nice little installer for Windows).

I’ve used both used both XAMP and WAMP and, with little exception, I’ve always wished I’d gone with a manual installation instead. It’s not that they’re bad programs, it’s nice that they’re available for newbies, but my needs aren’t easy to package up in a “one size fits all” package. I like to try new things and experiment and sometimes what I want to do isn’t easy without breaking something. Admittedly, I haven’t tried to use any one size package for a few years so this may not be the case anymore.

Either way though, I know I have a bias; I might even be a bit of a snob about the issue. Totally possible.

That being said, after installing Zend Server CE, which went very smoothly actually, I was confronted with what appeared to be an incomplete installation of php; php-win just didn’t work. It did nothing in fact; I couldn’t get it to do a damn thing. Since I do a little maintenance scripting with php-cli (and php-win.exe is essential on Windows) this was a pretty big issue.

On top of that, I just couldn’t figure out how to modify the –configure options so changing the setup was obviously going to be an issue. I don’t know if I’m an idiot but I just couldn’t figure it out.

Then the let down happened; I was under the impression that there were going to be some cool profiling toys to play with. Instead, there’s a web GUI for configuring PHP, which is pretty nice I guess, but for me, it’s just easier to edit php.ini directly than navigate through a web interface. Kind of useless. What with the integration with Zend Debugger I was really expecting more.

Ultimately, it seems that if you’re a complete newbie to php Zend Server CE is a worthwhile fit but if you actually know what you’re doing you’re still better off setting up a development environment manually.

This is pretty disappointing. A product from Zend, that’s supposed to ease the pain of php development being released to the community, offering nothing more than you could already get from a dozen other programs kind of seems like posturing. I understand the desire to have a demo of a paid product but it should, you know, be different.

A good change I’d like to see would be to include some of the more advanced features like the Application problem diagnostics and the Application monitoring (alerting) functionality in the CE version. It would benefit the community far better than the current version.

Bookmark and Share

Don’t Just Jump In and Code. Ever

Posted in Brain Dump, Programming, Rant on July 23rd, 2009 by Eric Lamb – 1 Comment

Obvious statement; programmers are, at their core, are problem solvers. Yes, our output is code, but at the base level the entire process of creating the code is in response to some sort of problem. On top of that, once the initial problem is solved we’re still responsible for fixing new, unknown, issues when they come up.

Problem Solving Flowchart

Problem Solving Flowchart

Solving problems is what we do. I was reminded of this the other day when a bug was logged about a project I’m working on.

The issue was that the tab ordering on a form, where you use the tab key to move between fields in a form, was skipping the select fields in FireFox on a MAC. Since I wrote the program the issue was reported in so the responsibility for fixing it fell to me.

Now, how would you solve the issue?

Assuming you took exactly the same path I did, you would probably attempt to replicate the issue and found that, yes indeed, when tabbing between fields in a form the order for the tabs was unreliable; it would skip all the select boxes. Seeing the proof, you might start looking into what could be causing it.

Immediately, all sorts of suspects come to mind:

  1. The field “label” elements could be wrong.
  2. The divs the fields are placed in are out of order
  3. FireFox could just be broken (hey, it does happen)

As do a couple “simple” solutions that remove the issue without technically fixing the problem:

  1. Set a dedicated “tabindex-n” in each field element. This could force the tab flow but it’s not known if it will fix the issue .
  2. Write FireFox specific JavaScript to force the tab order in that browser (costly but certain to fix)

You now sit at a crossroads of sorts; you can figure out why tabbing isn’t working by eliminating suspects or you can attempt to bypass the issue entirely and use  one of the above “simple” solutions or you take door number #3 and do more research on the issue before making a decision on direction.

We’ve seen it time and time again; programmers eager to just jump in an start changing things, writing things, and just creating things. This is always, 100% of the time, no excuses, unequivocally the wrong move.

Doing, just basic, research on the issue produced this gem from CoolWeblog:

I just spent the better part of an hour trying to get tabindex to work under Firefox/Mac OS X.

The solution lies not in Firefox, but in the Mac OS X preferences.

Apple Menu > System Preferences > Keyboard and Mouse > Keyboard Shortcuts

and under “Full Keyboard Access” choose “All controls”.

Sweet lord….

Attempting any of the above solutions would have been a HUGE waste of time; essentially just grasping for straws.

Bookmark and Share

Exclusive DLC is Bad for ME

Posted in Brain Dump, Rant on June 15th, 2009 by Eric Lamb – Be the first to comment

Really, I should call this post “I whine about how Bethesda told me to Fuck Off and hand over the money” but it’s a little too wordy. Instead, just a quick little rant on why exclusive downloadable content (DLC) is a really bad call for consumers.

Fallout 3

Fallout 3

I never really care too much about “deals” made between companies. I understand that nearly everything is a business, especially in the US, so deals are pretty common and I just accept it. I’ve never really been burned by them until recently though.

This particular case was with the Bethesda video game Fallout 3. I definately wouldn’t classify myself as a gamer but I do play them; probably more than I should. I just don’t follow any games. To be even more clearer: I DO NOT CARE ABOUT VIDEO GAMES. I just like to play.

One day I saw a commercial for Fallout 3, and having played the first 2 Fallout games, as well as Oblivion, I immediately went out and bought the game for the Playstation 3 (PS3).

Excellent game. Just a really, really, deap and immersing experience. I enjoyed it a lot.

Once I was done, and the game makes sure you are done once the game is beat  (unlike Oblivion), I put the game up and went back to my life.

Then I heard Bethesda was coming out with downloadable content for Fallout 3 and I started looking into it. Turns out the DLC was only for the Xbox and not the PS3; Microsoft, the fuckers, paid a shitload of money to lock this in.

Sigh…

Here’s the problem; I had paid the same amount for the PS3 version as the 360, $60, and while I had a 360 I decided on the PS3 version because, well, the 360 was having non-RROD issues and I didn’t want to go through the trouble of getting the damn game to work.

And I got hosed for it.

The lesson, apparently, is that Microsoft has no issue forcing my decisions. If I want to get full value out of the games I buy, and they are available for both the PS3 and 360, I had better buy for the 360 because they will ensure I regret that decision. I resent the crap out of that.

Like I said, I understand the business decision to do this (obligation to turn a profit and all that). But I also think it’s a slimy, short thinking, decision that runs an unacceptable risk of alienating customers.

It’s a good thing both Bethesda and Microsoft make good video game products.

Bookmark and Share

Just How Good Are You?

Posted in Brain Dump, Programming, Rant on May 22nd, 2009 by Eric Lamb – 5 Comments

What do doctors, lawyers, programmers and strippers have in common? The need for continuing education (ok, strippers probably don’t but, you know, strippers. Think about it).

I realized early on that I was never, ever, EVER, going to be done learning about programming. Until I retire, and probably not even then, I’m going to spend a good portion of my life with my nose in a book, reading blogs, and/or diving into subjects WAY above my head.

stripper

stripper

I don’t think this is as bad as it might sound though. I really love this shit. You have to if you want to be taken seriously. I accept that I’m not a Wozniak or Cutler; I have to actually work to understand this profession.

Oddly, I’m in the minority here. In my, limited, exposure to other programmers I can say definitively that the majority just plain suck; mostly because they refuse to grow and learn.

I’ve heard all the arguments before, “My weekends are mine”, “I work hard enough; I don’t have the energy”, and the best ever, “My employer should pay for this like Google does. Whah!!”. (I know Google doesn’t, in fact, do this but people still say it.) All just pure crap excuses for maintaining a level of competence just high enough to not get fired.

Bottom line: working 8 hours a day is just not enough to matter. If you think you’re a programmer and you don’t spend time improving your skills you’ll quickly, really quickly, become obsolete. It just doesn’t matter if .Net is going to be around forever and your employer won’t ever upgrade from 1.1; you’re a hack (and not in a good way).

The crappy developers rarely, if ever, read blogs, books or articles on anything related to development. And when they do, it’s usually just to reinforce a preconceived notion they already had. You’ve seen it; “See! Look, I’ve been saying all along Java sucks and here’s an article on Reddit.”

On the other hand, good developers spend time thinking about their projects. They read books about programming concepts like Code Complete and The Mythical Man Month. They’re interested in the past; learning about how Windows NT was built or how AOL was founded is a good read to them. When asked for weekend plans they actually weigh programming against it.

I’m a little sick of the discrepancy here; there are just way, way, too many crappy programmers out there. Just lazy, untalented, bastards.

If you’re not living programming to your bones chances are you’re just not going to succeed. Sure, you can make a living but you’ll never be anything more than what you are right now. If the idea of never excelling doesn’t scare you do us all a favor and just stop writing code. Just stop right now.

Bookmark and Share

How to Own a Mistake

Posted in Rant on April 24th, 2009 by Eric Lamb – Be the first to comment

I wasn’t going to post anything today, I’ve been pretty busy and am getting out of the habit of posting on Fridays, but this just has to be noted.

Today, I received an email from Emma Email Marketing about a special offer where they will plant 10 trees in my honor if I sign up with them.

In an annoying twist the email was sent with the personalization set to the wrong name. Check out the below screenshot. Oops…

Wrong Name...

Wrong Name...

They probably flipped their shit when it was discovered but they handled it in a really classy way. They owned up to it. Imagine that; actually admitting your mistake.

They promptly sent a followup email apologizing for the error and making me aware that they were aware.

Owning the Issue

Owning the Issue

Too many times I’ve seen companies just brush this sort of thing under the rug, just hoping no one calls them on it. It’s nice to see that Emma, at least, has the integrity to call themselves out and deal with the issue immediately.

Now, it should probably be mentioned that I don’t do business of any kind with Emma. I’ve only done research into their company and didn’t really find them to be the perfect fit for my needs at the time. Now that I see their integrity though, I’m going to take a second look.

Bookmark and Share

For your Perspective: My Email Hell

Posted in Rant on March 25th, 2009 by Eric Lamb – 2 Comments

I was walking down the hall the other day when I heard one of the employees complaining about how much email they get. Apparently, this particular employee gets over 50 legitimate emails a day!

That got me thinking about how much I get so I kept my email for an entire week. Usually, I’ll delete anything I don’t need to keep and file those I do, but instead I kept a gnarly Inbox for 7 whole days.

Gates of Hell

Gates of Hell

When 7 days had passed I compiled a list of the daily emails I get:

20 emails from my direct boss
10 emails from each member of my team
5 emails from the Creative Director
10 emails from Velvet Hammer employees (SW manages their IT)
10 emails from the CEO of StreetWise
4 emails notifying me backups have happened on my server*
around 100 emails warning me about suspicous activities on all my servers combined (around 4*)
4 emails notifying me about log changes to my servers*
1 Windows SBS Server Performance Report
4 emails notifying me of system changes on my Linux servers (if something changes that is)
3 email inbox quarantine summaries from Postini
20+ bounceback emails from random email campaigns
around 20 emails notifying me about the firewall banning an IP address
Task Reminder from my companies collaboration system
4 emails notifying me about cPanel changes on my servers
3 Website Pulse Daily Monitoring Log emails
4 cron.daily notification emails for various cron scripts I run
2 emails notifying me the firewall tried to update itself and the status of the attempt
4 emails notifying me that yum tried to update itself
3 emails notifying me cPanel updated it’s license ping

By my count that’s over 200 legitimate emails I get on a daily basis. This doesn’t include spam or any of the abnormal emails I can get.

I’m sure this isn’t any kind of record or anything but the next time you’re thinking you have it bad just remember me :)

Bookmark and Share

Language Select Screens Die!

Posted in Code, Programming, Rant on March 13th, 2009 by Eric Lamb – 1 Comment

One of the things I’ve done way too much of is the creation of language select pages. These are the types of pages on a website that visitors first encounter asking them to pick their language and they are a pain in the ass.

Weirdly, it’s a trend to have language select pages that contain a country flag. There’s a pretty strong arguments against this approach though, which makes a lot of sense considering there is no real correlation between country and language. It seems to me that any country with any amount of immigration knows this is true.

Dunce

Dunce

Now, I may not like language select pages as a web developer, which I’ll go into more detail on in a minute, but I reeeaaaallllllly hate them when I visit a website that uses them. No matter what link I go to, whether I go directly to a page from a search engine or a bookmark, unless I’ve been through their language page I get forced to deal with it.

That’s just jarring and a little rude to me. I have the link. Just show me the stuff already!

Anyway, this begs the question, “WTF?” because nine times out of ten the website already knows what language I want pages served in.

Why It’s Stupid…

See, all modern browsers send this data along with every page request but, as evidenced by the proliferation of language select pages, web developers have yet to take advantage of that info.

In FireFox 3 go to Tools->Options->Content->Languages

FireFox3 Language Select

FireFox3 Language Select

In IE 7 go to Tools->Internet Options->Languages

IE 7 Language Select

IE 7 Language Select

In Google Chrome click on the little wrench icon in the upper right hand corner and select Options from the drop down. Select Minor Tweaks and choose Change fonts and language settings.

Chrome Lang Select Page

Chrome Lang Select Page

In php you can access this info using the below variable.

<?php 
echo $_SERVER['HTTP_ACCEPT_LANGUAGE']; 
?>

In ASP.NEW you use the below:

<% Response.Write(Request.ServerVariables("HTTP_ACCEPT_LANGUAGE")) %>

In PERL the below does it:

print $ENV{'HTTP_ACCEPT_LANGUAGE'};

On my computer using FireFox 3 this is the value:

 en-us,en;q=0.5

So right there it’s saying I’m in the US and I prefer English as my language. It’s trivial for any programmer worth their salt to parse that into something usable. Use that as my preference instead of wasting my time by making me click on a stupid flag.

Bookmark and Share
« Older Entries
Newer Entries »
  • Subscribe: Entries | Comments
  • About Me

    Email Email
    Twitter Twitter
    310.739.3322
  • Categories

    • Brain Dump
    • Business
    • Code
    • IT
    • Programming
    • Rant
    • Servers
  • Archives

    • February 2012
    • October 2011
    • August 2011
    • July 2011
    • June 2011
    • May 2011
    • April 2011
    • March 2011
    • February 2011
    • January 2011
    • December 2010
    • November 2010
    • October 2010
    • September 2010
    • August 2010
    • July 2010
    • June 2010
    • May 2010
    • April 2010
    • March 2010
    • February 2010
    • January 2010
    • December 2009
    • November 2009
    • October 2009
    • September 2009
    • August 2009
    • July 2009
    • June 2009
    • May 2009
    • April 2009
    • March 2009
    • February 2009
    • January 2009
    • December 2008
    • November 2008
    • October 2008

Copyright © 2008 - 2012 Eric Lamb - All rights reserved