Joke Driven Development

We have TDD (Test Driven Development), BDD (Behavior Driven Development), as well as a whole slew of other methodologies designated as belonging to the Driven Development ™ family. Heck, there’s even Fear Driven Development! I now propose a few new, and completely, irreverent methodologies that may or may not already exist (so advance apologies to anyone who actually has a serious methodology out there). Here goes, in no particular order:

  1. Abuse Driven Development – the developers are verbally abused until they produce the system that the users want, or management wants, whichever yells the loudest. Alternately, the developer or development team abuses the users or management, whichever they hate the most, until they produce the system they think everyone should want.
  2. Pizza Driven Development – management keeps the development team going 24/7 and simply throws a few pizzas in their general direction as an incentive to keep going.
  3. Beer Driven Development – explains a lot of development, actually. Often done in conjunction with Pizza Driven Development.
  4. Fantasy Driven Development – the developers dream of rewriting the system, but like most fantasies, it’s never going to happen.
  5. Wish Driven Development – the developers wish the users would state exactly what they want. The users wish the developers would just build exactly what they want.
  6. Clock Driven Development – the developer will do anything to get the system ready by quitting time.
  7. Anarchist Driven Development – the coder has no sense of order whatsoever.
  8. Rear Driven Development – the developer gets his or her rear kicked repeatedly until the software is done.
  9. Analyst Driven Development – the project is so hopeless the developers need therapy to get through it.
  10. Rage Driven Development – the developers are so angry about what the previous developers did, they rewrite the system.
  11. Fault Driven Development – whoever gets blamed for a problem has to develop the solution.
  12. Fight Driven Development – whoever loses the fight has to develop the system.
  13. Trump Driven Development – whoever has the more important boss wins.
  14. Hype Driven development – any project that is being pushed by the marketing department.
  15. Litigation Driven Development – any project initiated by the legal department, whether there’s an active lawsuit involved, or not.
  16. Aspirin Driven Development – the project is bad enough that you start off each day swallowing a couple of aspirin (after swallowing your pride, of course).
  17. Epiphany Driven Development – just after checking your code in, you have an epiphany and realize you need to do it over.
  18. Acronym Driven Development – features keep piling on as management and developers alike start arguing for all the latest technologies, even when they’re incompatible or overlap each other.
  19. Whine Driven Development – you code furiously just so you don’t have to listen to your boss or the users whine one more time about the system.
  20. Tantrum Driven Development – similar to the above, but actual crying and stamping of feet may be part of the daily routine.
  21. Bully Driven Development – similar to the last two, except yelling and baseball bats may be involved.
  22. Secrecy Driven Development – the side project that you really spend most of your time on.
  23. Feline Driven Development – while your head is turned, your cat walks all over your keyboard and turns out to be a better coder than you.
  24. Bloat Driven Development – every time a user has a brain twitch, a new feature is added to the project.
  25. Golf Driven Development – the boss got an idea from one of his/her golf buddies. He/she thinks it’s cute to yell “Fore” before giving you the bad news.
  26. Funeral Driven Development – fear of your impending doom at the hands of the users drives you forward.
  27. Shame Driven Development – you gripe and moan about some piece of code you’re looking at, then realize you wrote it three days ago. You rewrite it and hope no one notices. Later that day, you find a printout of the original code on the bulletin board, annotated with all kinds of rude comments.
  28. Easter Driven Development – you spend more time on the Easter eggs than on actual functionality.
  29. Failure Driven Development – it can’t possibly fail again, right?
  30. Buzzword Driven Development – similar to Acronym Driven Development, but this involves words you boss can actually pronounce, and sometimes even spell.
  31. Bogie Man Driven Development – more effort is spent on appeasing some vague and mysterious bogie man’s practices and procedures (real or imagined) than actual useful software.
  32. Sci-Fi Driven Development – your code reflects your taste in movies, books, and comics all too well.
  33. Permission Driven Development – the organization requires permission to do almost everything. Eventually, someone gets the idea to require permission just to turn on your computer. They decide to implement it as an internally accessible web form, complete with management approval workflow and email notifications. Nobody sees the inherent problem in this, and the company goes under.
  34. Caffeine Driven Development – coffee, tea, soft drinks, etc., and all your coding is basically done between pee breaks.
  35. Vaporware Driven Development – this is a project initiated by the marketing department. It’s always 3 months from deployment.
  36. Demo Driven Development – your manager insists on having you do one demo after another of the wonderful features in your system. Unfortunately, you never have time to actually implement any of the features.
  37. Heisenberg Driven Development – you can either get all of the features implemented, or all of the bugs fixed, but not both.
  38. Framework Driven Development – your team never saw a framework they didn’t love. New developers need at least two years just to get up to speed on all the frameworks. By that time, the frameworks have all turned over two new versions, and the developers have to keep starting over. Actual feature development on the project comes to a standstill.
  39. Frankenstein Driven Development – the entire system is component based, but most of the components don’t work very well together.
  40. Manual Driven Development (a.k.a. Documentation Driven Development) – More time is spent documenting the system than actually developing the system. You end up with a bookcase full of documentation. Ironically, the system is no more complicated than a tic-tack-toe game.
  41. Administrivia Driven Development – your team spends more time filling out forms with all kinds of details that only one person in the entire company actually cares about, and that person isn’t even in management.
  42. Revenge Driven Development – you code furiously to build a better system than your arch enemy in the company, based on a snide remark he/she may or may not have made at your expense.
  43. Pig Slop Driven Development – your coding standards are non-existent. The maintenance programmers who inherit your code want to kill you.
  44. Pun Driven Development – your code is heavily laced with intricate puns. The maintenance programmers who inherit your code want to kill themselves.
  45. Riddler Driven Development – you inherit a code base that is full of code that resembles the plot line from the original Batman TV series.
  46. Music Driven Development – You better use C-Sharp, or B-Flat Smile

5/8/2014 Article Links


I have an idea for a series of humorous decorative figurines. They would feature an old Irish couple, and in each set, the wife will be hitting her husband with some implement (log, frying pan, etc). They will be pure Paddy whack knick knacks.


Security stuff:

Phishing scams increasingly using mobile apps to bait victims (Phishing with bait…who would have seen that one coming?)

Flash and Java still as vulnerable as ever, says Microsoft (Of course, part 1)

Malware infections in Windows PCs tripled in late 2013, Microsoft finds (Of course, part 2)

Fishing for Hackers: Analysis of a Linux Server Attack (Now open for hacking)

Antivirus is Dead: Long Live Antivirus! (This sounds very anti-anti-virus)

When a bad day gets worse—getting hacked twice in one day (When the third time is definitely not the charm)

Don’t let the latest zero-day fool you

US Government Begins Rollout Of Its ‘Driver’s License For The Internet’


Cloud stuff:

OpenStack now does NoSQL (Wait, isn’t that a double negative?)

SDN secrets of Amazon and Google (Now, slightly less secret)


Web and mobile stuff:

Dev Q&A: RequireJS’s James Burke on the JavaScript loader’s future (Required reading)

Apple has its own JavaScript accelerator in the works (Why not? Everyone else has)

Joe Belfiore just wrapped up his Reddit AMA, here are the highlights (WinPhone lives)

What Not Dying Looks Like (50% less pasty?)

CSS Shapes 101 (Sadly, all my CSS is just as out-of-shape as I am)

How to Retain Users with Good Design (And if that doesn’t work, alcohol)

AngularJS: Factory vs Service vs Provider (There’s an obtuse joke about angular in here, somewhere, and I’ll bet it’s acute one)

JavaScript Prototypes, Scopes, and Performance: What You Need to Know (…but were always afraid to ask)


Other stuff:

GitHub releases free and open Atom code editor (Version 2 will be the Molecule Editor)

A case for keeping primitives in Java (Get in touch with your primitive side)

Dockerfiles in a jiffy (It’s all in the pants)

Is devops killing the developer? (Killing them softly)

Meet Betty, the Siri-Like App That Turns Plain English Into Code (I wonder how it will translate swearing)

Top 12 tech hoaxes of all time (It’s amazing how old some of these are)

Arduino Vs. Raspberry Pi: Which Is The Right DIY Platform For You? (Arduino. Now shut up and eat your Pi.)

The Conflict at the Heart of Open Source (Open-heart surgery by amateurs is a conflict)

A C# 6.0 Language Preview (Peek-a-boo! I C# you!)

Using F# and FAKE to build a SharePoint provider-hosted app (I always knew SharePoint was a fake development platform)

Sculpt Your Code In a REPL – Part One (Great…all my code has gone to pottery)

Pattern Matching – Make the Compiler Work for You (Much better than making it work against you)

Microsoft Language Stack Analogy (Comparing languages to vehicles)

Rust for C++ programmers – part 5: borrowed references (Better steel yourself for this one)

Fostering Healthy Non-Professional Relationships (Step away from the keyboard, and no one will get hurt)

Linus Torvalds Receives IEEE Computer Pioneer Award 

Why our startup failed (How things end down)

5/5/2014 Article Links


The Irish don’t celebrate Cinco de Mayo. They do celebrate Fifth of Gin.


Security stuff:

Data breaches 9% more costly in 2013 than year before (this isn’t helping my feelings of insecurity about the Internet at all)

IBM rolls out new security suite, services as Target CEO’s head rolls (Hmm…bowling with CEO heads…I sense a new game idea)

11 reasons encryption is (almost) dead (It sure smells dead)


Web and mobile stuff:

Thanks to Tom Wheeler, the end of the open Internet is nigh 

iPhone 6 release date, news and rumors (It’s not a tumor…wait…never mind)

This AI tells you if your website is too cluttered (or you could just have your Mom look at it)


Cloud stuff:

Cloud Apps Soar, CIOs Take on New Role (Now with more fluff)

Run your own cloud storage for less, EMC says (…with their help, of course)


Microsoft stuff:

Microsoft Is Technology’s Comeback Kid (No kidding?)

Microsoft’s decision to patch Windows XP is a mistake (darned if they do, darned if they don’t)

Microsoft reissues botched Windows 8.1 Update KB 2919355 (hopefully, this doesn’t bring on another round of botulism)

High-tech Gaming Is Giving K-12 STEM Education A New Way To Play: A First Person Perspective by Corinth CEO Ondrej Homola

Bing Ads Jump Start (Add some bada boom to your bada bing)

Make Windows 8 Games with Construct 2 (Pro Construct advice)

Building Blocks: Initialize() C#, .NET, & JavaScript Dev Skills

Unity 3.5 RTW: Now with more Peace, Love, and Rock ‘n’ Roll (Wasn’t there something about drugs and something else in there?)

Twenty C# Questions Explained (Because they don’t feel like answering any more)


Other stuff:

Hadoop, Python, and NoSQL lead the pack for big data jobs 

Graphic Design Tips for Game Apps 

Not Your Father’s Java: An Opinionated Guide to Modern Java Development, Part 1 (In other words, check your own opinions at the door)

Experiencing Silicon Valley overload? For help, look inward 

Apple, Facebook, others defy authorities, notify users of secret data demands 

79 Percent of IT Administrators Want to Quit Due to Stress (The remaining 21% work for insurance companies)

4/28/2014 Articles Links


There’s a band called 1023MB. They haven’t had any gigs yet.


Security stuff:

US CERT and KB 2963983: Don’t use drive-by-enabled Internet Explorer (Ugh, here goes another round)

Microsoft confirms Internet Explorer zero-day 

Sure disaster: How not to do the Internet of things (Back away from the toaster and no one will get hurt)


Other stuff:

IBM puts all its cloud services in online marketplace (That should make both of their cloud customers happy for about two minutes)

The state of the Internet: Faster, with more IPv6 — and more attacks (More thrills. More chills.)

10 users IT hates to support (Be the first IT Tech Pro to collect all ten!)

Forget Your ISP: Mesh Networks Are The Future Of The Internet (Wake me up when it actually happens)

Having High-Tech Gadgets Is a Career-Booster, Says Study (There you go, another reason to buy more electronics, as if you really needed another reason)

The Face Recognition Algorithm That Finally Outperforms Humans (It nose who you are)

Top 10 Mistakes that C# Programmers Make (Read the article, and learn how to C Sharper)

What’s left of NoSQL? (MoSQL – you see, if you read the alphabet left to right, M is left of N. Go ahead and slam the browser shut indisgust, now)

4/23/2014 Article Links


A woman was suffering from a pain in her abdomen. Along with a battery of other tests, the doctor ordered an X-ray. She went into the doctor’s office to review her case. When she entered, the doctor was talking on the phone and the lady noticed the X-rays laying on the desk. The woman smiled as a kitten walked around the edges of the X-ray, staring down at the picture. The lady thought it was cute, although a bit odd that the doctor would have a kitten in the office. Anyway, she talked to the doctor and decided on a course of action, and the lady went home. Two days later, she received the bill in the mail. For some reason, the X-ray cost $5000! She immediately called the doctor’s office to find out what was going on. They informed her that the cost was extra for the cat scan.


Web and mobile stuff:

TypeScript 1.0 Released and Open for Contributions

Coding error protects some Android apps from Heartbleed (Hmmm, like two sound waves cancelling each other out)

Go 1.3’s first beta promises a sleeker, faster language (Go ahead, have a go!)


F# stuff:

What is FSCL? (F Sharp to OpenCL)


Alea.cuBase 1.2.680 Released (I CUDA had a V8!)

How to design a language integrated compiler with LLVM (Show it a little LLOVE)

GPU Applications for Modern Large Scale Asset Management (One manager says to another, “I see you’ve finally made an asset of yourself.”)


Other stuff:

In programming, a little guidance goes a long way (Ironically, lack of guidance can take you even farther, because you’ll be instantly lost)

When the solution is the problem (1 = 1)

Verizon: Web apps are the security punching bag of the Internet (Big surprise)

Do more with less: Lambda expressions in Java 8 (Speak up about this topic. The silence of the lambdas must end!)

GNU Compiler Collection gains major new functionality (Good Gnus)

Be careful what you wish for: The dream job that wasn’t (I missed it by *that* much!)

4/18/2014 Article Links


Sign outside a florist’s building – “Spring is here! I’m so excited, I wet my plants!”


Security stuff:

The plot to kill the password (In theaters now!)

German researchers hack Galaxy S5 fingerprint login (Well, that didn’t take long)

The security of the most popular programming languages (Where’s SafeAndSound.NET?)

Apple, Google, Microsoft, Samsung and Carriers Back Anti-Theft Measures for Smartphones (Well, it would be bad if they backed pro-theft measures)

Rushed Heartbleed fixes may expose users to new attacks (This is starting to give me heartburn)


Other stuff:

Continuous Development: The New Maintenance Reality (Continuous job security?)

Cortana Easter Egg resurrects Clippy as your personal digital assistant (Oh, good, Clippy is resurrected just in time Easter egg)

Microsoft cloud service lets firms tap data from Net-connected gadgets (Be the first kid on your block to connect them all!)

Nashorn: JavaScript made great in Java 8 (JavaScript tries to horn in on Java)

Sessions from Build 2014 (In case your company was too cheap to send you…or didn’t care…or thought it was a home improvement expo…)

Three’s a charm? Windows 8 patches could pave multiple paths to Windows 9 (Or, multiple paths to other operating systems)

Silicon Valley’s 19 Coolest Places to Work (Those of us who live in the rest of the world can dream on)

Congrats on the new job! Please disregard all the red flags (Frequently, there’s a reason why they have an opening that doesn’t involve someone having just retired or died)

4/15/2014 Article Links


I just thought of a neat project. Go out and gather up old board games, in the boxes. You will need a lot of games. It’s OK to have multiples. Next, stack them up to build a big chair with these boxes. You now have a throne of games.


Microsoft stuff:

Microsoft releases Windows Phone 8.1 developer preview

Microsoft releases Cortana-based MSDN Voice Search app for Windows Phone 8.1

Windows Phone App Studio 

Windows Phone 8.1 now available on Windows Phone Preview for Developers

Is Windows 8 development worth the trouble? (the answer, as always, is “it depends”)

Using Visual Studio to build Universal XAML Apps (Pick a language, any language…well, as long as it’s C#, C++ or JavaScript…)


Web development:

X-Tag – The Custom Elements Polylib (“X-Tag is a small JavaScript library, created and supported by Mozilla, that brings Web Components Custom Element capabilities to all modern browsers”)

Angular and Durandal Converge (Crunch!)

Write Better JavaScript with Promises (I only promise you’ll do as well as you can, and no better)

Alternatives to Prefixr (Postfixr?)


Other stuff:

Developers Need to Broaden Their Range (Just don’t blow your stack in the process)

Too big to trust? Google’s growing credibility gap Uncredible!)

Sloppy but secure: Open source TrueCrypt passes audit (That cryptkeeper is so darn funny…oh, wait…nevermind…)

Google may boost search rank of sites with encryption, report claims (Hmmm…those who control secrecy rise to the top?)

Bend It, Charge It, Dunk It: Graphene, the Material of Tomorrow (Don’t dismiss this too quickly. Be flexible.)