Boss, we need more RAM!

Boss, we need more RAM!


Above, is a screenshot I captured this morning, the same firefox process as I am typing. People say a picture worth a thousand words, so I think the screenshot above tells it all.

To let you have a fair judgement, I have vimperator and firebug installed, with ONE tab open. I left my computer running in the office over the long weekend.

Read More

How not to start your Friday

$ sudo vim /etc/hosts

Enter some lovely vimlicious commands on the file, and then proceed with the accidental “:w ~”. That erroneous command, will unfortunately write the file as “~” to your current working directory.

So we obviously don’t want that silly “~” file in our lovely clean directory so we’ll go ahead and remove it.

Now watch this:

$ rm ~
rm: cannot remove `~': Is a directory

That doesn’t make sense, it should be a file. Oh well. “I don’t have to stuff around.” so I’ll just:

$ rm -rf ~

And then it slowly dawns….NOO!

CTRL+C,CTRL+C,CTRL+C,CTRL+C,CTRL+C...

And there you have it. A recursive delete on ALL my files in my home directory. Nice. I’ll spend the morning rebuilding my Dev environment.

Read More

The opposite of the #1 Coding Ninja trophy…

The opposite of the #1 Coding Ninja trophy…

So… even awesome Ninja Coders sometimes slip up and allow things that are… less than awesome. For example, completely hypothetically of course, a developer might insist that the release site is down and/or unavailable. One might, then, at closer inspection find that the developer managed to misspell the word ‘release’.

Mistakes like these are not acceptable from Awesome Coding Ninja’s.

To remind our resident Coding Ninja’s that only the most awesome things are acceptable we have two trophies. For outstanding performance and achievement in the Art of Software Engineering we have the #1 Coding Ninja Trophy. This trophy shows a developer’s peers that his skills are currently highly regarded and has recently accomplished an awesome feat of technical supremacy. Since the trophy is an empty Red Bull can (empty since people love to drink awesome and only 1 since it’s the recommended daily allowance… says so on the can…) other ‘normal’ people can also admire the technical genius of the developer in possession of this sought after symbol of Awesome.

The second trophy, cleverly designed to remind a developer that only the most awesome things are acceptable, is the “Luser of the week” trophy. As you can see from the image below, a sad face is displayed right underneath a word that may be read as “Luser” which is very similar to “User”, to remind the developer that “if it’s not awesome it makes you sad”. One might also notice that the trophy is constructed from… “green tins of liquid that shall not be named”. This indicates to everybody around what a sad situation was created by the holder of the trophy. Nobody likes sad and thus the “green tins of liquid that shall not be named” are full, since no awesome person would lower themselves to drink such awesomeless drinks.

The Luser of the Week trophy.

Always make it awesome. Don’t be a luser.

Read More

Facebook: The sad sad truth.

Facebook: The sad sad truth.

Ok, so everybody has a Facebook account. If you don’t, you might not actually exist. Actually, you might as well not exist.

The difference between ‘existing’, though and ‘other people giving a crap about you’ is more adequately illustrated in the picture below.

I know you’re laughing but I also know your little inside voice is going ‘OMG, it happens to me… I’m so sad’. Yes, you are.

 

The sad reality of Facebook...

Read More

Happy happy Red Bull Friday MOTD 0×02

Happy happy Red Bull Friday MOTD 0×02

Fridays are indisputably the most awesome day in the week. It is perhaps not blatantly obvious why this is so.

The reason that Fridays are the most awesome, opposed to Saturdays for example is that Friday afternoon is as far from Monday morning as you can get with no work in between. Saturday, while awesome, is not the most awesome because it is right before Sunday (which lacks awesome) which is right before Monday. Mondays are like the black hole of awesome. It sucks the awesome right out of everything in the world. Except when you’re on holiday that is.

The Happy Red Bull Friday message of the day is:

Happy happy Friday! Drink Red Bull, it’s main ingredient is awesome. It is also the main ingredient IN awesome. Only Stephen Hawking truly understands that.

Read More

xkcd: The workarounds that users invent.

xkcd: The workarounds that users invent.

As usual, xkcd speaks the truth, the whole truth and nothing but the truth so help me Google.

I’ve witnessed some of these epic workarounds that people invent when they don’t fully understand what’s going on. I’ve invented a couple of epic one’s myself, especially in new programming languages.

One (there are others…) specific example I remember of Epic Workaround Woo By @shawn_hamman was on a loan origination and servicing project many, many years ago in Visual Basic 6. I hadn’t been programming in it (VB6) for very long (at all, would be a more appropriate term) when I started on the project. It was during the ramp up phase and we were busy building a proof of concept to illustrate how the UI was going to function while the company hired the rest of the development team. The ‘proof of concept’ turned out to be the actual product in the end…

You may laugh at what comes next. I’m only a little embarrassed.

There was a requirement for a “combo box” that couldn’t be edited. The VB6 ”combo box”, by default, allows you to enter text or select an item from the drop down. The editable text, in this case, was an unacceptable situation.  Not being used to Visual Basic and being relatively new to commercial programming and being pragmatic about software development I set about building a work around for this. I made a OCX component with this editable “combo box” and through an elaborate set-up of triggers, methods and checks made it un-editable. Essentially replacing the text in whenever it changed to what was there before, except when you selected an item which would then… you get the idea.

It did the job ok. Sort of.

The problem was that shortly after that the feature creature got hold of it and the OCX got a built-in label and validation… it kept growing. It was a problem because every time the OCX changed an elaborate update of the entire project had to happen on every developers machine, the old OCX had to be unregistered, the new one registered, Source Safe updated… for every  bug fix. It took weeks.

Of course, a senior developer was hired eventually who took one look at my work of art, barked a laugh and pointed to the “list box” control.

Some xkcd win and awesome

The original is here: http://xkcd.com/763/

Read More

If only real life was as simple as working on a Linux box…

If only real life was as simple as working on a Linux box…

So, I’ve done a test and it seems that, while xkcd are made of win, the method indicated in the following instructional cartoon doesn’t work.

I’ve tried many different ways of putting the instruction across, none seem to have worked thus far:

  • sudo project be complete
  • sudo stop making changes at the last minute
  • sudo be reasonable with your last minute requirements

So far, none of these commands have worked and people are starting to look at me funny. Real life sudo, the ultimate power, that doesn’t work.

Sudo. The ultimate power.

Awesome xkcd lives here: http://www.xkcd.com/

Read More

The Programmer Hierarchy

The Programmer Hierarchy

Of course, since I can fling a bit of assembler around when I need to, I obviously agree with this chart (…mostly). I think every programmer should be forced to learn assembler when they start out, so that they properly appreciate how a computer actually works… and to scare off the wannabe programmers who shouldn’t really be in the job in the first place.

I’ve never really tried to learn Lisp though I’ve considered it a couple of times. The one thing that puts me off is that any programming language that uses more parenthesis than actual code can’t be a proper programming language.

Also, Ruby? I have one thing to say about that: Python > Ruby. That is all.

The Programmer Hierarchy

The Programmer Hierarchy

Read More

This is what the team is going to do today.

This is what the team is going to do today.

It’s Tuesday, the first day back after a long weekend and we’ve got stuff to do. On a deadline. An ugly one.

So, today, and tomorrow and for the rest of the week, the team will do this:

 

 

 

Rock. It's what we do.

Rock. It's what we do.

That is all.

Read More

The reality of software development projects

The reality of software development projects

Another oldie but a goody, making a bit of fun of the software development process. Mostly the massive amount of miscommunication that goes on during the software development process. And there always is… massive amounts. On the other hand, you must consider that from a developers point of view, user’s don’t speak a civilised language anyway…

Basically the only way to ever avoid disaster on a software engineering project is to have awesome developers who can roll with the punches. There are always punches and the ones who can’t roll and accommodate break and broken developers don’t develop awesome software. They definitely don’t release awesome software.

Flexibility in your development team, then, is generally your only hope of putting out passable software in a reasonable time.

The reality of software development.

The reality of software development.

This is why I make my developers from willow branches.

Read More