raganwald
(This is a snapshot of my old weblog. New posts and selected republished essays can be found at raganwald.com.)

Tuesday, July 22, 2008
  A Brief History of Dangerous Ideas


(Brief because (a) I really don’t know that much history, and (b) there’s really only one idea here with a few examples, and once you get the point, we’re done and can move to the outro.)

Astronomy and Celestial Mechanics were dangerous ideas because they undermined the most powerful organization of their day, The Church. That’s why people have been banned, tortured, and burned at the stake for talking about these ideas.

Crossbows were a dangerous idea because they allowed an untrained peasant to kill a knight. Longbows were not a dangerous idea, because only trained archers can kill a knight with a longbow, and the nobility were the only people who could compel peasants to practise yeomanry.

Cryptography is not a dangerous idea, because we really don’t know if any of our algorithms and protocols are resistant to the NSA. This was hi-lighted when researchers “discovered” differential cryptanalysis. When they looked at the DES algorithm IBM has been promoting since the 1976, they found that it had been specifically tuned to resist differential cryptanalysis. IBM ‘fessed up: the US government had told them to tune things that way without explaining why, leading us to conclude they had known about this attack for decades before it became public knowledge. Today, we have no idea whether what we think is strong is actually strong or whether it has vulnerabilities and back doors governments can exploit.


Zed and Reg at Rubyfringe exchanging dangerous ideas, photo by Libin Pan

Miles Davis was a walking, talking, trumpet-playing dangerous idea. Not because he reinvented Jazz five different times (Dear Steve: Apple II, Macintosh, iPod/iPhone, Pixar. One more for the tie, two for the record.) Miles was an egocentric, venal man who worked the system, not undermined the system. But he was still dangerous because he got white people directly interested in black music. There was no Elvis or Vanilla Ice or anyone else between his music and the mainstream audience. For a government intent on keeping America’s two dominant cultures divided through fear, anything uniting them was a threat.

People say Miles’ legacy is his music. To me, Miles’ lasting legacy is people like me, people with one parent from each culture who grew up dancing to the same music together. People who, incidentally, do not vote for governments that take a divide and conquer approach to culture.

And on to tech. Microcomputers were not a dangerous idea. But personal computers were dangerous. It took decades for IT departments to regain control over people bringing their own computers to work. They can thank Microsoft for helping them get back into the driver’s seat.

(This, incidentally, is why I really dislike Microsoft’s policies: it has nothing to do with their lack of taste, it has to do with their mission to make the computer on my desk belong to my IT department or the record label or the movie studio or—I suspect—the government.)

Web applications are dangerous. Never mind the fact that they make desktop applications obsolete. The people who built desktop applications just go and get jobs writing web applications. Same people, different shit. But as Giles Bowkett pointed out, web applications just might make venture capital obsolete! When you don’t need hundreds of programmers and distribution channels and all the other friction-managing elements of a company that ships old-school software, you need a lot less money to start a business.

And on to media. You know that the web is busy putting newspapers out of business. My wife and I watched YouTube last Saturday Night. I’m not talking about the advertising business: I think we would have been happy to watch ads to watch our Mitch Hedberg and Billy Connoly comedy clips. But the web lets us choose what we want to watch, when we want to watch it. The network can’t put their up-and-coming show on right after their hit to give it a boost. The new show has to compete on its own merits. That puts users in control, and that’s dangerous.

Joel Spolsky said a similar thing about pricing all music at 99 cents a track: it means the labels can’t kill an artist by sticking their CD in the $3.99 crapola bin. Users choose what they want to listen to. That’s dangerous, again because users are in control.

Okay, that’s enough. Dangerous ideas are the ones that subvert the existing hierarchy of control, not just the ones that shuffle people around in the same old chairs. Apple Macintosh with a GUI replacing a PC with a command line? Not dangerous. Apple Macintosh with a Laserwriter and Aldus Pagemaker allowing someone to launch a magazine in their basement that competes with a company employing dozens of layout artists? That’s dangerous, and that’s interesting.

Dangerous equals subversive equals interesting.

outro

Deep breath. Okay, the next thing is not particularly dangerous for the world at large, but it is for me. I am retiring from blogging and retiring from hacking on Ruby. Maybe I’ll un-retire one day. I don’t know, the future is not set.

Miles Davis wasn’t afraid to move on when the time was right, even if what he was doing seemed to make people happy. Respecting his legacy means seeking what he sought.

Remember how I said that microcomputers were not dangerous, but personal computers were? Right now, I would say this: Ruby is not dangerous, but Rails is dangerous and Merb is dangerous and Sinatra is dangerous. Rewriting for Ruby is interesting. I believe it is useful. But is it dangerous? No.

Likewise, I can say with a clear conscience that while writing is gratifying, and trying to write out and explain ideas has helped me understand things, the writing I’ve been doing is not dangerous. It doesn’t subvert.

So while hacking away on Ruby the language and blogging about software development is gratifying and useful, they are not dangerous activities. They are microcomputers, but they are not personal computers.

I am going on vacation from August 2nd through 10th. During that time I plan to do absolutely no thinking about computers. For what it’s worth, I will be engaging in activities with faux danger: wreck diving and sport climbing. (p.s. these are not solitary pursuits: if you want to try some of the world’s greatest wreck diving and sport climbing, get in touch).

When I return, I will give things some serious thought and hopefully, discover a way I can help make our world a more dangerous place.

Thank you ever so much for your support and interest and feedback. Especial thanks to my fellow bloggers like Joel, Joey, Giles, Damien, Obie and so many others who exchanged ideas with me and kept the debate alive. And Reddit? And Hacker News? You rock, you are the future. I can’t wait to see how your communities and technologies evolve.

Warmest regards,


Reginald Braithwaite
 

Comments on “A Brief History of Dangerous Ideas:
Good luck!
 
This is too bad for your loyal readers, hopefully very good for you. Good luck Reginald!
 
"For a government intent on keeping America’s two dominant cultures divided through fear"

The government of the time would not be able to think of this, would not be able to implement it. Some local politicians ran on racial fears; pumping them up during elections. But the gov't didn't have any idea how to generate the racism in the first place.
 
I will sorely miss your thought provoking musings. Best of luck in whatever adventure you choose to pursue next.
 
Though I'll miss your code and your insightful articles, I wish you the best!
 
Good luck in your future endeavors.

I sincerely hope this will result in another approach to sharing your thoughts and insights, but that's selfish of me.

I've been SCUBA diving for a bit under 10 years now, but mostly do shore dives (univer$ity happened), including wrecks and stuff. I do this mostly in Ontario. I'd love to get together some time. I would even be willing to completely ignore the software field during diving trips if you wish so. The diver's hand signs are not ideal to talk about abstractions anyway ;-)
 
Steve Jobs did not invent the Apple II. Steve Wozniak invented the Apple II. Jobs has more work ahead of him if he wants to eclipse Miles Davis.
 
I'll miss your thought-provoking blog entries but I hope you find what you are looking for in your adventures. It was totally awesome to meet you at RubyFringe! =)
 
Thanks very much for you insightful writing. I hope you'll reconsider your decision in time, but the best of luck with making things dangerous.
 
Thankyou for writing such a thoughtful and entertaining blog. I've learnt a lot from it, and enjoyed myself at the same time.

Best of luck finding and pursuing your dangerous ideas.
 
Yesmar:

And Miles Davis didn’t invent the music he popularized, either. he had an ear for what was next and an amazing talent for recruiting young and talented musicians that blossomed under his leadership. Miles and Steve have a lot in common.
 
Good luck, and have fun!
 
I'm glad to have met you and briefly talked to you during RubyFringe and right after. I'll miss your articles and advice, but I understand the need to do something different.

The best of luck in whatever you choose to do next and I hope that we can stay in touch.
 
Best Wishes for a fun future Reg.

I've enjoyed and been provoked to think on many of your blog entries.

Thanks,
Jonathan
 
Thank you.
 
There's going to be a huge Reg-shaped hole in my aggregator, and I doubt it'll be filled for a good long time.

May life treat you well, Reg.
 
Aw, man. I'm going to miss your writings.
 
Loved reading your blog, best of luck to you.
 
Good luck. Have to say that I'll miss your insightful articles though.
 
I agree with 99% of what you said. I just disagree that subversive = interesting 100% of the time.

Vandalism isn't always interesting, but sometimes it can be. Sometimes subversion is downright entertaining
 
First time reader, enjoyed your post and all the best going forwards.
 
Thanks so much for sharing so much through your blog. You've shaped my views a great deal over the last couple of years.

BTW, what are the five Miles reinventions? I only think of Birth of the Cool, Kind of Blue, and Bitches Brew.
 
All the best, Reg. Hack more on lisp. You know lisp is dangerous, it subverts the control of language design from an official "language designers" to you.
 
I’m not a musicologist, but what about his work with Gil Evans and his Second Legendary Quintet (Davis + Hancock, Carter, Shorter, and Williams)?
 
Will miss your blog Reg. Congratulations on making the choice to pursue what you believe in. Best of luck!
 
I beg to differ with your statement that your writing was not dangerous. You upended a lot of conventional wisdom that the powerful had a lot invested in. I hope that your next venture is at least as influential and subversive.

Warm regards!
 
I'm curious why your decision to blog or not is based on whether it is, as you put it, dangerous. Is it a time issue - you only have time for so much, and you want to devote more of your time to revolutionary activities? Or was this blog always intended to promote dangerous ideas, and you feel it is no longer serving that purpose?

Likewise with hacking Ruby. Is it time, or something else?

I ask because my own attempts at subverting the status quo are mostly orthogonal to my tech interests, and I'm trying to better understand where you are coming from.
 
Avdi:

This weblog has always been devoted to the idea of programming as an act of passion. I perceived that in my own life and in many other programmer’s lives the industry had leeched a lot of the passion out of it, and I wanted to inject a little passion back into the system.

Now it is simply time for me to turn my attention elsewhere, to another kind of change. My aim is to use my programming interests, but that is not the same thing as writing about or evangelizing those interests directly.
 
Reg I've enjoyed your posting greatly: you managed to stay consistently a cut above in your explorations of what code is doing and your explorations have set a great model of what a technical blog could be. There are hordes of pundits talking about platforms and languages, but your discourse on metaprogramming has been transcendent: you consistently focused on what code was doing and how through metaprogramming we could alter that environment. That connected deeply with me even though I am not a Ruby programmer. There are very few people with your talent for both exploring and explaining how code works, and you did both with style and engaged curiosity. Thank you for all your wonderful contributions.

All the best in your future life, whatever it is.
 
Good luck buddy, much luck in life.
 
Good luck. I'll miss reading your posts here. I hope you'll tell us what you'll do instead.
 
Wow I was not expecting that. Well good luck on whatever you do next. Thanks for all the interesting articles that apparently not dangerous help inspire many dangerous ideas.
 
Good luck. You've turned my world on its ear more than once with you excellent blogging. Thanks for that.
 
Well, I think your insightful writing might be more significant than you think; it certainly was significant for me. (I noticed that you hadn't been on reddit for a while.)

Anyhow, best wishes for whatever you do. Change is also good.
 
Good luck Reg! I hope you reach and surpass your goals.

Will you still be posting interesting links on the feed? I long gave up on high-volume aggregators such as reddit or even dzone but still read every link you post through rss.

Thanks for so much interesting and insightful ideas and commentary.
 
I am retiring from blogging and retiring from hacking on Ruby.

Sorry to hear that, dude. Best of luck with your next venture, whatever it may be!
 
Let's see whether the future will bring us a dangerous programming language -- aka, The Nest Big Language. I hope it's not C# 5. :-)

Meanwhile, enjoy your rest and give it a rest indeed. :-)
 
You rock so hard, that it's not even funny.

Your articles have always been great, and there hasn't been a single thing that I've read from you that was without substance.

Though you think some of your writing might not have been dangerous, you under estimate how tamed we are these days, and how low a barrier we have before some of us can look at something as "dangerous".

I wish you all the best, and hope that you find the meaning you seek.
 
Clarification:

“I am retiring from blogging and retiring from hacking on Ruby.”

That’s retiring from hacking on Ruby, not from programming with Ruby.

By which I mean to pay tribute to something else Giles said: Maybe a programmer is a how, not a what. So for my next thing, I wish my programming language to be my how, with my emphasis on the what.

Whereas hacking on Ruby means—to me, at least—exploring what can be done with/to the language for the purpose of helping other people be a how for some other what.

But as I said, the future is not set. Immediately, I will be working on helping a specific open source project incorporate rewrite into their code. We’ll see if it “scales.” After that, I don’t know…
 
I wasn't expecting this from this innocent post title!

Your blog has helped me a lot through the past few years and I enjoyed it very much, thank you!

It's certainly worthwhile to try doing something "dangerous". You will maybe like to meditate this quote from Paul Valery (French poet):

"Le monde ne vaut que par les ultras et ne dure que par les modérés."
(approximate translation: the world is only worth because of "ultras" and only lasts because of "moderates")

Best of luck, Reginald!

Eric.
 
I wish you the best of luck and I will miss the insights.

BTW, I think that Steve is already tied: You forgot to mention NEXT.
 
Trade unions are also dangerous. The idea that the proles should be able to organize and negotiate the terms of the compensation for their product (labor) is abhorrent to the elite, and despite affirmation by the courts and Congress has been utterly crushed and driven from our minds.
 
Where will you climb?
 
This August, I will be diving in Tobermory and climbing around Lion's Head, both here in Ontario.
 
Will you still be posting interesting links on the feed?

I don’t know how interesting they will be, but I think I will keep that up :-)
 
The rewrite gem is technically hacking on Ruby. If you're not doing that for a while, who is taking over the maintenance and future development of that project?
 
That's deep....
Thanks for a very nice post.
There's much more on this topic...
I hope it will be continued.
 
Thank you for your all the craft you have shared with us. I would really miss your writings - both the style and the crunch. And I cannot help hoping that one morning my feed reader would be saying "raganwald (1)", hiding something other than delicious links.

Best of luck with your other plans too.
 
The rewrite gem is technically hacking on Ruby. If you're not doing that for a while, who is taking over the maintenance and future development of that project?

That is a very good question. At the moment, the answer is no-one.
 
For what its worth, I think your writing falls squarely in that 1% of software development blogs that ARE remotely dangerous. I have found your writing to be a great positive influence. I hope that one day I will be able to communicate my own ideas with a similar degree of skill.

My RSS reader will not be the same!
 
Thank you for everything you've written - you've made me stop and think on lots of occasions and often made me see things differently. Good luck!
 
I'm not even a ruby programmer but I've enjoyed reading your blog over the past year or so. Good luck for the future and great final post by the way!
 
Will miss reading your articles. Good Luck !
 
What a bittersweet final posting. I don't even program Ruby, but I read your blog regularly for inspiration and to gain new ideas and insights. Good luck -- go forth and subvert!
 
I will miss your writing. It has inspired me. Best of luck in your future endeavors.
 
All the best Reginald. --Hari
 
Very good.......motivational spirit

How to get so much energy in real sense...why so many variables distract us despite our honest attempt...
 




<< Home
Reg Braithwaite


Recent Writing
Homoiconic Technical Writing / raganwald.posterous.com

Books
What I‘ve Learned From Failure / Kestrels, Quirky Birds, and Hopeless Egocentricity

Share
rewrite_rails / andand / unfold.rb / string_to_proc.rb / dsl_and_let.rb / comprehension.rb / lazy_lists.rb

Beauty
IS-STRICTLY-EQUIVALENT-TO-A / Spaghetti-Western Coding / Golf is a good program spoiled / Programming conventions as signals / Not all functions should be object methods

The Not So Big Software Design / Writing programs for people to read / Why Why Functional Programming Matters Matters / But Y would I want to do a thing like this?

Work
The single most important thing you must do to improve your programming career / The Naïve Approach to Hiring People / No Disrespect / Take control of your interview / Three tips for getting a job through a recruiter / My favourite interview question

Management
Exception Handling in Software Development / What if powerful languages and idioms only work for small teams? / Bricks / Which theory fits the evidence? / Still failing, still learning / What I’ve learned from failure

Notation
The unary ampersand in Ruby / (1..100).inject(&:+) / The challenge of teaching yourself a programming language / The significance of the meta-circular interpreter / Block-Structured Javascript / Haskell, Ruby and Infinity / Closures and Higher-Order Functions

Opinion
Why Apple is more expensive than Amazon / Why we are the biggest obstacles to our own growth / Is software the documentation of business process mistakes? / We have lost control of the apparatus / What I’ve Learned From Sales I, II, III

Whimsey
The Narcissism of Small Code Differences / Billy Martin’s Technique for Managing his Manager / Three stories about The Tao / Programming Language Stories / Why You Need a Degree to Work For BigCo

History
06/04 / 07/04 / 08/04 / 09/04 / 10/04 / 11/04 / 12/04 / 01/05 / 02/05 / 03/05 / 04/05 / 06/05 / 07/05 / 08/05 / 09/05 / 10/05 / 11/05 / 01/06 / 02/06 / 03/06 / 04/06 / 05/06 / 06/06 / 07/06 / 08/06 / 09/06 / 10/06 / 11/06 / 12/06 / 01/07 / 02/07 / 03/07 / 04/07 / 05/07 / 06/07 / 07/07 / 08/07 / 09/07 / 10/07 / 11/07 / 12/07 / 01/08 / 02/08 / 03/08 / 04/08 / 05/08 / 06/08 / 07/08 /