Flipping the
Bozo Bit

A conversational podcast questioning everything there is to question about software development.

Episode 15: Flexibility

Keith and Christoph discuss what “flexibility” might mean for an ongoing, evolving architecture.

Let us know what you think!

Episode 14: Set My Language Free!

Christoph and Keith explore the intersection between the technological bedrock we take as given when we develop software systems, such as operating systems, TCP/IP networks, files, automatic memory management (and maybe even HTTP), and the free floating ideas we have before we ever write a line of code.

Say ‘technological bedrock’ represents constraints (or the reality) you can’t change, and ideas represent imaginitive worlds you want to bring into being. If that’s the case, then programming languages become the means by which you move from imagination to reality. They’re artistic materials: the raw stuff out of which a representation is made.

If so, why do language developers (and perhaps more earnestly, language users) insist on hardening languages to a sub-set of possibilities? This language requires built-in unit tests, that one doesn’t. The one over there insists that everything is an object, while this one insists that everything is a value. Finally, we have a language with a type system so rich it’s turing complete, while over there, a string is a number, depending on what it contains.

Wouldn’t it be great to have a language in which you can build just the OO you needed, when you needed it? Or what about one in which compile-time static typing were optional for just those areas where it provides real benefit?

What if we think of programming languages more like poets think of words, or painters of paint?

This and more on Flipping the Bozo Bit Episode 14.

Some fun stuff mentioned (sometimes in spirit) in Episode 14:

Let us know what you think!

Episode 13: All Aboard

In our last episode, we took as our starting point the notion that Scrum and/or Agile Software Development is more about how to manage tasks than about how to design software, both for quality, and for the humans who need to maintain and extend it. We explored ways of getting design into the process as much as possible.

In this episode, we continue the theme by starting with the notion that Scrum/Agile, again, for all its success as a task management, estimation and communication strategy, has nothing to say about building and maintaining a great team.

You might find yourself joining a team successfully leveraging Scrum for all its worth yet be at a loss as to how you can contribute. It’s not that you don’t understand the process. That part’s easy. It’s that, well, there’s the software, the ecosystem, the politics, the personalities, the design and the architecture. The technical debt.

How might you onboard a team member when the project is complicated and the existing team are battle-hardened verterens? Does the nature of the project — its design — make this any easier? How do you define success for the new guy? Is there a place for ownership and responsibility?

This and more on Flipping the Bozo Bit Episode 13.

Let us know what you think!

Episode 12: Agile Design

What if we made design a part of the Agile Software Process?

In This Episode:

Let us know what you think!

Episode 11: Functional Reactive Programming

What’s the deal with FRP? Christoph gives us the skinny on Functional Reactive Programming.

In This Episode:

Let us know what you think!

Episode 10: Javascriptocalypse

What if you wanted to write a fancy in-browser app but were less than enthusiastic about the Javascript ecosystem?

In This Episode:

Links:

What is it with all this CamelCase. Aren’t we done with that yet?

Let us know what you think!

Episode 9: Internalizing Open Source

What if you ran your internal, closed-source, proprietary, mega-corporate projects like open source projects? Similar styles? Similar tools?

In This Episode:

Links:

Let us know what you think!

Episode 8: Clean Room Development

This one’s all about the music. What if you had to rewrite your software after every release?

In This Episode:

Let us know what you think!

Episode 7: Steel Mills to Data Warehouses

What if you can’t duplicate your production stack for testing and so on? For instance, factory software? I’m starting to think this whole podcast is, ultimately, about design.

In This Episode:

Let us know what you think!

Episode 6: Lazy Package Objects

Thought experiments are all well and good, but sometimes you gotta try ’em out to see what’s what.

In This Episode:

Let us know what you think!

Episode 5: A Walled Off Garden of Perfection

Can’t change your variables once you assign a value? WTF? Surely, this is something up with which we cannot put! Or: a round-about introduction to some of the concerns addressed by the functional programming paradigm.

In This Episode:

Let us know what you think!

Episode 4: The March of IDEs

In this episode, we start with our conclusion and try to move on from there.

In This Episode:

Let us know what you think!

Episode 3: Technical Debt On Wheels

What if you were required to write a prototype for every significant development of your software system?

In this episode:

Let us know what you think!

Episode 2: Unitless Tests

Our second podcast. This one got away from us in length, but it all adds up. Somehow. Does a project’s implementation strategy affect team dynamics? What if you couldn’t include tests in your source tree? Digressions abound!

In this episode:

Let us know what you think!

Episode 1: Origin Stories

Welcome to the first episode of Flipping the Bozo Bit, a casual, conversational, podcast questioning the truisms of software development and management with plenty of digressions mixed in to taste.

Let us know what you think!