Escapism: Visiting the place of the unicorn
A story of 2 fantasy lands.
The first is Distopia.
- Out of uni worked at a enterprise, waterfall shop. Lots of detailed documentation.
- Felt wrong, couldn’t pinpoint why. 20 yrs of exp later gives insights.
We has false assumptions:
Know what we make: Software isn’t physical. Hard to reason about. Not governed by physical laws unlike a building architect.
Know what we want: Software is hard to imagine. Clients often would say, “That’s not what I wanted.” even after we delivered what they asked for. We don’t know what we should do to maximize business value.
Know what will happen: We don’t know the future. We had the wrong forecasts. We don’t know anything. We ignored our ignorance.
- Conservative: Learn from the past
- Ostrich Algorithm: Ignore everything and wait. Good strategy… when situation will recover. Easy for us to choose. Instinctual.
Be careful, unless you go forward with a false assumption.
In the past computers, software, and network was expensive. Possession was power. Had to optimize not to fail.
Now, computers, software and network are universal and ubiquitous. Possession is not enough. It’s all cheaper. We have better tools. We have better languages. Ruby. (And the crowd goes wild)
We have open source software. Great learning tool. Before, you didn’t have access to an operating system to read and study. Now we do.
We can collaborate on the internet. Social coding. We can do greater work than our own ability.
We have more power, freedom, joy.
However, we can’t ignore the mess. It’s reality. What we need is GC, garbage collectors. Not memory management, but waste. We rely on them to get the job done.
They are who:
- Write books
- Give talks
- Write frameworks
- Write languages
- Write gems
As the open source community we must move forward or die like a shark.
A programmer is a creator. Come join open source software as a contributor. Make the world better. Be a GC. Take a part in keeping up the fantasy land. The fantasy land facade is a direct result of the efforts of GCs.
Examples: Contribute to CRuby. Fix bugs in OSS. Give a talk at a conference.
Create a great fantasy land. Take part and change the world. It’s the key to OSS and Ruby. I’m not a great programmer. I create bugs, but I respect myself and change the world.
Notes from RubyConf 2013.