Blog of Rob Galanakis (@robgalanakis)

Archive for December, 2013

Multiple return values and errors

I was pointed at a rather simplistic article on arstechnica about why most programming languages only return a single value from a function, and thought about my “first class tuples” post from a few weeks ago. Python can effectively support multiple return values due to its built-in tuple unpacking,...

Read more

TDD via Tic-Tac-Toe

For the last few years, I’ve done a fair bit of teaching of TDD, usually 1-on-1 during pair programming sessions but also through workshops. I’ve tried out lots of different subject matter for teaching TDD, but my favorite has been Tic-Tac-Toe (or whatever your regional variation of it is). It...

Read more

Reflections on porting Planet

I use the Python Planet software to generate the RSS feed and static site  for planet.tech-artists.org, like is done for planet.python.org. I’ve been using it for several years and recently got the urge to do some open source work, so I “forked” the original Planet code (actually, the Bazaar...

Read more

Removing external hiring as a tool (Part 3 of 3)

In this post I hope to explain how hiring externally as a tool for fixing problems ultimately leads to a weaker organization. When I began writing this post, I was having a hard time. Whereas the post talking about what a bad idea firing is was easy, the situation is...

Read more

“Delighting customers” is Lean’s secret handshake

Whenever I see the words “delighting customers” (which is, let’s face it, an awkward phrase) in a non-Lean context like a job description, I can feel the author winking at me. It tells me “we try to be Lean and if you get our drift you probably want to...

Read more

All languages need first class tuples

I was doing some work on a Flask app today and built up some chart data in Python that had a list of two-item tuples like [(<iso datetime string>, <value>), ...]. I needed to iterate over this same structure in JavaScript and of course was reminded how great it...

Read more

Removing firing as a management tool (Pt 2 of 3)

So in my last post, I wrote about the possibility of taking hiring and firing off the table as a management tool. In this post, I will focus on the firing. Firing itself has two halves: individual dismissal as a way to fix performance problems, or layoffs as a...

Read more

Removing hiring and firing as a tool (Pt 1 of 3)

Inside of Mike Bland’s response to my Project as a Ship post is this comment of how he organized his Google Grouplet: I had no power to hire or, truthfully, even fire anyone. The best I could do was persuade whoever was interested to participate, to give them the clearest...

Read more