Code Review 6: Bowling Kata, Erlang edition

Posted in erlang with tags , , , , on October 13, 2010 by moffdub

I spent most of the past month interacting with the score server. The Armstrong book details two “stages” of distributed programming: running on two Erlang nodes on the same machine and running on two Erlang nodes on different machines.

First, I added some functionality to the server:

Continue reading

Helltime for October 11

Posted in Helltime with tags on October 11, 2010 by moffdub

Announcer: Now for quick hits and commentary on software development topics from around the web, the EIP web-ring brings you the stigmatized spawn of a refactory, MoffDub, and Helltime!

Battling a cold and lack of connectivity between physically-separated Erlang nodes, I bring you abbreviated Helltime.

  • Uzelezz gives a two-part post on test principles, a good restatement and expansion upon Uncle Bob‘s advocacy of clean tests, something I have been trying to practice myself.
  • A post on the MuleSoft blog gives a good introduction for why and when Kanban should be introduced, but the post dances around a basic issue: how do you determine the WIP limit?
  • The official Google blog announces the inevitable, that they will soon be driving all of our cars. Hell no. I see first hand how software is written and I’ve meet a lot of the people who write it. In no way do I want these people involved in how many left turns I make into oncoming traffic.
Announcer: You’re reading the EIP web-ring.

Helltime for October 4

Posted in Helltime with tags on October 4, 2010 by moffdub

Announcer: Now for quick hits and commentary on software development topics from around the web, the EIP web-ring brings you the stigmatized spawn of a refactory, MoffDub, and Helltime!

  • Michael Stonebreaker beeps out a communication of the ACM on why Enterprisey shops aren’t biting at NoSQL. Three cited complaints are low ACIDity, low-level query language, and low (no) standardization. From what I understand, NoSQL and its cohorts have a shot at the latter two. ACID properties are a property of the database system, and some, like MongoDB, let you choose how consistent you want to be (at the expense of other guarantees).
  • Omar Al Zabir thinks that my shop breaks one of the ten commandments of caching: caching configuration settings. Indeed, most of our configuration settings, be them Spring properties or the legacy route, are loaded once per JVM, and any change to them requires a server restart. We even had a production issue that was solved by a mere restart. It’s no joke.
  • Matthew of “You The User” embodies the Peter Principle with gems like this:

    If you aren’t being challenged in your job – leave.

    If you aren’t sweating it at present and feeling under pressure – leave.

    If you think you understand everything that you are doing where you are currently working – leave.

    More shocking is that nobody in the comments section has brought this up. If the comments section lacks the obvious – leave.

Announcer: You’re reading the EIP web-ring.

Waterfall with a Scrum board

Posted in The Industry with tags , , , , on September 29, 2010 by moffdub

Having barely survived our last project, despite numerous sabotage attempts by management to derail the Agile process, I entered the our new project’s Sprint Zero with a laundry list of problems to nip in the bud. I was unable to catch those weeds during our last project because I wasn’t around for Sprint Zero back then.

Aside for a setback or two, I think we have entered Sprint 1 in pretty good shape, but one challenge that I have had to deal with nearly each day is the slippery slope of technical enabling and technical stories.

Let’s take it from an originalist’s perspective. A story which is “technical enabling” is supposed to enable the technical team to start work on a business story. “As a team, we need to get smart on the interface to the state machine system so that we can plan what the design will be”.

Likewise, a story which is “technical” involves purely technical work and does not involve business value to your client.

Continue reading

Helltime for September 27

Posted in Helltime with tags on September 27, 2010 by moffdub

Announcer: Now for quick hits and commentary on software development topics from around the web, the EIP web-ring brings you the stigmatized spawn of a refactory, MoffDub, and Helltime!

  • Daniel Jalkut has a post on his Red Sweater blog about masking failures in a system, and it echoes some of the biggest complaints against the Null Object Pattern. Fail as early as possible. Just make sure your error handling will log the exact line of code causing the problem.
  • Interestingly enough, CrossTalk‘s September/October issue has some hidden flame bait in an article about static analyzers:

    Embedded systems expert Jack G. Ganssle advocates doing inspections before testing because inspections are 20 times cheaper than writing tests: “It is just a waste of company resources to test first

    The rest of the article is wordy but makes the point that a good static analyzer is written for humans, and since certain problems are undecidable, an ideal tool will automate what it can and provide information for what it cannot and let the human review.

  • Fellow WordPresser Luke Palmer is all philosophical as he considers what is the fundamental unit of a computer program. The assertion: programs are made of ideas.

    Yes, this is true. It also sounds very ethereal. But it can be said about most things, can’t it? This isn’t to say that I agree with the original idea, that fundamentally, programs are made of instructions. I’m not so sure that the question even makes sense, but put my back against a wall and I’d say that programs are made of abstractions. There isn’t a line of code that people write today that isn’t aided by ignoring some underlying detail.

Announcer: You’re reading the EIP web-ring.

Die

Posted in Uncategorized on September 22, 2010 by moffdub

I have identified the root cause of all of the problems, angst, and illness in the software development world.

Managers.

You, managers, are a disease. Your entire class of job function is a farce. You have no business in the labor force, other than as the floor sweeper at the post office. Your work is so irrelevant that they gave you your own office to isolate you from the people who make you look good.

All you do is get in the way. You are the one not committed to the project. You are the one with a bad attitude. You are the one who is always negative. You are the ones who are always arguing. You are the one who is difficult to work with.

You do nothing but work the phones and stare at your calendar, and most days, you can’t even get that right. How dare you blame the people doing the actual work. How dare you tell me how to do my job. All you can do is claim unwarranted credit and assign blame for your own follies.

You are clueless. You are arrogant. You are meddling. You are incompetent. You talk for the sake of talking. You are completely disconnected from reality. You have no right to tell me how easy my job is.

Stop ignoring us.

Stop talking over us.

Stop interrupting us.

Stop distributing your workload on us.

Stop abdicating your already-scant responsibilities.

Stop forcing your sick ideology on us.

Check it out, open source version of the real poster, GNU License, all that stuff:

Your entire kind needs to be eradicated.

Announcer: You’re reading the EIP web-ring.

Helltime for September 20

Posted in Helltime with tags on September 20, 2010 by moffdub

Announcer: Now for quick hits and commentary on software development topics from around the web, the EIP web-ring brings you the stigmatized spawn of a refactory, MoffDub, and Helltime!

Announcer: You’re reading the EIP web-ring.
Follow

Get every new post delivered to your Inbox.