Ways that Code.org Can Excite People about Programming

Unless you’ve been busy living under a rock or preparing inside your bunker for Armageddon, you’ve heard of Code.org and their goal to excite the public about the potential prospects for everyone in regards to programming. Codecademy even claims that it can empower the common layman with the skills to become an employable programmer…in only 3 months! However, despite all of their efforts to galvanize people, the impact has been nominal at best. What’s really needed is an effective campaign to convince people to join the world of developers. Some useful ideas that come to mind are:

  • Spread the rumor that advanced coders are able to summon the power of hadouken when they reach a high enough level.
  • Stress how developers gain an infinite amount of patience by dealing with the both complex systems and less-than-complex managers.
  • Pitch how one can become enlightened and attain a higher level of philosophical understanding about Hobbes’ sentiment towards mankind, as you attempt to make one Web page consistent across dozens of browsers and platforms.
  • Showcase the absolutely festive environment that one expects with the sausage party that is a programmer’s career.
  • Demonstrate the power of software development by showing how one junior developer can commit several lines of code and cause the entire downfall of a project and/or system.
  • Emphasize how programmers acquire skills that are essential assets in a modern technological society (but will become useless in the event of a great solar flare and its crushing blow to our global infrastructure).

Peter Bolton is the author of Blowing the Bridge: A Software Story and has also been known to be a grumpy bastard on occasion.

Lazy Costumes for Programmers

  1. Pour Mountain Dew onto your shirt (as a sugary adhesive) and then cover yourself in crushed Doritos, proclaiming to be the crumbs in a coworker’s keyboard.
  2. Create a noose from some spare cable and put it around your neck. When somebody asks what you are, state that you are the [fill in blank] server that’s always hanging for no good reason.
  3. Find that one guy in your office with anime figures and steal a few of them from his elevated shelf. Then, paint their faces with printer ink and walk around with them, boldly announcing to be the proud parent process of several zombie children. (Avoid the actual owner of the figures for the entire duration of the party.)
  4. Print out three copies of a cute puppy’s face found on the Internet, align them in a row, and tape them to your head. Afterwards, create a collar from a network cable and attach a large name tag which says Kerberos the Happy Scrappy Hero Authentication.
  5. Empty one of your rectangular wastebaskets, draw the face of a demon on its side, and don it on your head to parade around as a corrupted USB stick.
  6. If you and a fellow programmer are feeling a little adventurous, create a ‘cat-o-nine tails’ from the spare mice in the hardware closet and create a spiked paper collar using paper and staples. Now, with one person wielding the tails and with one person wearing the collar, be the sensation of your event by attending as a MongoDB master and slave configuration.

Peter Bolton is the author of Blowing the Bridge: A Software Story and has also been known to be a grumpy bastard on occasion.

The Function Name Hall of Shame

Over the years, I’ve participated in numerous code reviews, and I’ve seen a few function names that were worthy of true shame. However, the Hall of Shame demands only the best (or the worst, depend on your point of view), and so, I have whittled it down to a few of the most worthy. Consequently, I nominate the following for the Hall of Shame:

  1. NOTE: Could this function be any more ambiguous?
    private string GetTableData()
  2. NOTE: Our new programmer just might be dyslexic or suffer from something worse
    public int ManageJoinUsingDelete(…)
  3. NOTE: Do we need to know every step involved in the name?
    private int GetUpperRangeOffsetBySubtractingProductOfTwoSums()
  4. NOTE: I hope that this ‘body’ refers to text and not a dead hooker
    public void EndStreamingNoAttachIfBody(…)
  5. NOTE: This function needs more ‘temp’
    public int PopulateTempTemporaryTransfer(…)
  6. NOTE: This seems so wrong on so many levels
    public bool IsFalse()
  7. NOTE: He’s not exactly creative, is he?
    public void TransformData(…)
    public void TransfromDataPlus(…)
    public void TransformDataPlusExtra(…)
  8. NOTE: They do say that string mathematics is a dying art
    private string CalculateNextLessThanOrEqualNumber(string)
  9. NOTE: ???
    private string GenerateTempGetUpdateOrGetInsertWhereCriteria(int)
  10. NOTE: I like it…straightforward, single in use, and stupidly simplistic
    private string SurroundWithParantheses(string)

Peter Bolton is the author of Blowing the Bridge: A Software Story and has also been known to be a grumpy bastard on occasion.

Crime and Punishment (for Developers): First Edition

It’s my personal preference to incentivize fellow developers, in order to truly get the best out of them…but when funds are scarce or when personalities are too strong, draconian measures must be put in place. (Sometimes, it just makes sense to replace cash with pain as the currency to dole out.) However, to be fair, there should be some code of conduct, since it wouldn’t be just to not have a proper system installed. So, here are some proposed punishments that match their dirty deeds:

Crime: Using string concatenation to create SQL, instead of using prepared statements or other similar frameworks/data structures.
Punishment: Be forced to build a chair from moldy wood and rusted nails while blindfolded and then to work from that chair for a year.

Crime: Going on vacation to another part of the world for several weeks and forgetting to commit your code before leaving.
Punishment: Building security will occasionally “forget” that you are an employee, and assuming that you are a domestic terrorist, they will tackle you and blast you in the face with pepper spray.

Crime: Immediately shirking blame and rejecting the claim of a bug in your code, even without hearing the evidence. (Even worse, not apologizing for your behavior when your code is actually found to be the cause.)
Punishment (First Offense): Find the dirtiest computer mouse in the department and be forced to keep it in your mouth for an entire day.
Punishment (Second Offense): Find the dirtiest computer mouse in the department and be forced to hold it in your ass for an entire day.
Punishment (Third Offense): 2nd offense punishment, followed immediately by 1st offense punishment.

Crime: Knowing that a reliable library already exists with desired functionality and writing your own anyway, even though a deadline is approaching.
Punishment: For the next year of your life, you will be required to maintain legacy, never-reusable COBOL code from 1979. More importantly, you will be required to work (and sweat your ass off) inside the VMS machine that currently executes the program, and you will be required to wear the polyester suit of the original programmer while working.

Crime: Putting the majority of your program’s logic and flow inside a database stored procedure, instead of inside your actual application.
Punishment: For your next project, a wall will be placed between you and your computer, and you can only touch your keyboard and mouse via a pair of glory holes. Most of the time, you will only come into contact with your equipment, but occasionally, you’ll encounter “the equipment” of someone else…which may then require a handjob in order to push your next code changes to Github.

Peter Bolton is the author of Blowing the Bridge: A Software Story and has also been known to be a grumpy bastard on occasion.

More Goals for HBO’s Silicon Valley

After already introducing a measurement standard for compression and giving us a mathematical treatise on mass stimulation, the show Silicon Valley can already be considered as productively prolific, in addition to being hilariously comedic. Obviously, the show is capable of giving us so much more, and we should challenge them to surpass their own past achievements. So, I think I speak for all of us when I say that we expect at least one of the following challenges to be met by the end of the second season:

  1. To create the general specifications for the firmware of a “companion” robot being built by Jian, that will possess both the AI needed to pass the Lovelace test and the kinematic equations needed to pass the Linda Lovelace test.
  2. To prototype the first online bartering system and bartering message protocol, which Erlich will build for use in his new (and legal) business project WeedNeed (where people will exchange old mobile phones for drone-delivered marijuana).
  3. To develop (and then open source) a script utility that will allow you to create a customized set of VRF tables and DNS entries, which Gilfoyle will then use to create and traceroute a poem about how much Dinesh is gay for his code.
  4. To invent an accepted scoring system for the static code analysis of Java (probably by Dinesh), in which a minimum score of 90 will get you one free turn with Jian’s new “companion” robot.
  5. To create a simple package for script kiddies that exploits CVE-2014-6271, which Gilfoyle uses to replace the home page for JQuery with a picture of monkeys masturbating.

  6. To roughly outline a new method for software development called The Starving Startup, in which different planning stages of the business are devised at different levels of hunger and isolation of the designers. (Jared had an epiphany for this idea during his latest sabbatical.)
  7. To create an accurate measurement standard for image recognition, that will benchmark Hooli’s new IR system as it attempts to censor the Mad Bomber (who photobombs popular restaurant cams with his penis in hot dog buns).

Peter Bolton is the author of Blowing the Bridge: A Software Story and has also been known to be a grumpy bastard on occasion.

Failed Software Stacks

Some software stacks, like LAMP, flourished…and others, well, they just didn’t make the grade.

Facebook, LUa, and KErberos

Google Wave, ASP, Sparrow, Truecrypt, and Encarta

Flat files, APache, and PYthon

Hadoop, Yo, PErl, Swift, and a Segway

Scala, a CHange purse, Java EE, and Tomcat

F#, Access, IIS, and Longhorn

NOde.js, BLOBs, JQuery, and some Oracle Bloatware

GO, AnguLarJS, Offers, Nest API, and Google Maps

Peter Bolton is the author of Blowing the Bridge: A Software Story and has also been known to be a grumpy bastard on occasion.