Yegge-dex

Jump straight to the 'Dex

About this

Steve Yegge had an Amazon-internal blog called "Stevey's Drunken Blog Rants" from 2004-2005. When he left Amazon, he cleaned them up and made them public. Steve is an extremely engaging writer and he's got a lot of thought-provoking ideas. As an added bonus, when you read his posts chronologically, they work like a story: the developer's search for the One True Programming Language (amongst other things).

It's a story I think a lot of us can identify with.

When Steve started work at Google, he moved his blog to Blogger. Unfortunately, Blogger has no satisfying way to read each entry in order (that I could find!). So I wrote this little Ruby script to grab the blog's Atom feed and created the index below.

# nokogiri is a XML/HTML parsing wrapper can be installed via gem
# It uses libxml2 (was included with Slackware on my machine)
require 'nokogiri'
require 'date'

# yegge.xml downloaded via URL:
# http://steve-yegge.blogspot.com/feeds/posts/default?max-results=500
yegge = Nokogiri::XML(File.read("yegge.xml"))

# get each entry title, url and date
yegge.xpath('//xmlns:entry').each do |e|
	title = e.search('title')[0].text
	url = e.search('link[@rel=alternate]')[0]['href']
	date = e.search('published')[0].text
	date = Date.parse(date).to_s
	puts "<p><time>#{date}</time> <a class=\"entry\" href=\"#{url}\">#{title}</a></p>"
end

Anyway, I made this for my own reading enjoyment so I could continue the "story". But it occurred to me that others might enjoy it too. So I've pieced together everything I could find in order to make a complete (?) index of his postings in chronological order and made this page.

2018-01-24: In a bizarre case of synchronicity, I am creating this page today and I see that, lo and behold, Steve just moved from Blogger to Medium yesterday. So I'm starting a new section for those articles as well.

I'll probably just manually update the list when Steve writes new entries (whenever I find out about them). I have no plan to automate the process.

2018-Current (newest first)

These are from Steve's account on Medium. Steve is currently employed by Grab.

Google doesn't necessarily need innovation

Why I left Google to join Grab

2006-2017 (newest first)

These are from Stevey's Blog Rants on Blogger. Steve was employed at Google during this time.

Why Kotlin Is Better Than Whatever Dumb Language You're Using

The Monkey and the Apple

The Borderlands 2 Gun Discarders Club

The Borderlands Gun Collector's Club

Hacker News Fires Steve Yegge

eBay Patents 10-Click Checkout

Haskell Researchers Announce Discovery of Industry Programmer Who Gives a Shit

Wikileaks To Leak 5000 Open Source Java Projects With All That Private/Final Bullshit Removed

Blogger Finger

A programmer's view of the Universe, part 3: The Death of Richard Dawkins

Have you ever legalized marijuana?

Story Time

A programmer's view of the Universe, part 2: Mario Kart

Fable II: Arguably Better than Getting Your Head Crapped On

Ejacs: a JavaScript interpreter for Emacs

A programmer's view of the Universe, part 1: The fish

The Universal Design Pattern

The Bellic School of Management Training

Programming's Dirtiest Little Secret

Business Requirements are Bullshit

Done, and Gets Things Smart

Rhinos and Tigers

Dynamic Languages Strike Back

XEmacs is Dead. Long Live XEmacs!

Settling the OS X focus-follows-mouse debate

js2-mode: a new JavaScript mode for Emacs

Four console games you might like...

Get that job at Google

Portrait of a N00b

Emergency Elisp

Blogging Theory 201: Size Does Matter

Code's Worst Enemy

Boring Stevey Status Update

Ten Tips for a (Slightly) Less Awful Resume

Stevey's Tech News, Issue #1

How To Make a Funny Talk Title Without Using The Word "Weasel"

Rhino on Rails

Rich Programmer Food

That Old Marshmallow Maze Spell

A Noogler's View of Google

The Next Big Language

My save-excursion

The Pinocchio Problem

Parabola

I take it all back! Send me your money!

Egomania Itself

Part 2 of Good Agile, Bad Agile.

Good Agile, Bad Agile

Fantastic rant! Absolutely top-notch reading no matter what your opinion is on the subject of Agile.

Blogger's Block #4: Ruby and Java and Stuff

Blogger's Block #3: Dreaming in Browser Swamp

Blogger's Block #2: Anime for the Nonplussed

I was extremely surprised at how much I enjoyed this post. And now I want to watch all of Steve's recommendations.

Blogger's Block #1: Joelprah

Clothes for the Soul

Get Famous By Not Programming

Wizard School

Shiny and New: Emacs 22

(Not) Managing Software Developers

Oblivion

Psh. Whatever!

Software Needs Philosophers

Lisp is Not an Acceptable Lisp

Execution in the Kingdom of Nouns

A classic poke at OO and Java in particular. This may have been when I started reading Steve's blog. Or it may not.

Moore's Law is Crap

The Truth About Interviewing

Math For Programmers

An excellent follow-up to Steve's 2004 "Math every day" pledge. There's a list of mathematical topics to study, some advice as to how to study, and what you'll get out of it. Great stuff! Wish I'd had this in high school!

Blog Or Get Off The Pot

2004-2005

These are from Stevey's Drunken Blog Rants. Steve was employed at Amazon during this period.

Bambi meets Godzilla

Digging Into Ruby Symbols

A little anti-anti-hype

Transformation

I relate to this one very much. It mirrors so much of what I've learned over the years and I agree with his conclusions: you can't automate programming (yet) and smaller code is better code.

Is Weak Typing Strong Enough?

Decision Time

Allocation Styles

Comparing programming languages by a new dimension: flavors of memory allocation.

Duck Season

Miracle Interview

Tin Foil Hats and Rubber Ducks

The Emacs Problem

This is a wonderful explanation of Lisp's "code is data" advantage. It gives me something new to ponder every time I read it.

Language Grubbing

The Art of the Witch Hunt

Scheming is Believing

An entertaining, circuitous, and excellent explanation of the advantage of Lisp (and Scheme)'s austere syntax.

Choosing Languages

You Should Write Blogs

Fantastic! One of my top favorite Yegge posts. This chock full of sharp ideas regarding the value of writing your thoughts for others to read. "Often I'll get discouraged because I feel like I'm writing about things that have already been discussed into the ground by others. The thing I have to remember is that there's a "right time" to learn something, and it's different for everyone."

Ten Challenges

Okay, I love books and book lists. This is a great followup to Ten Great Books. I am very interested in five of these titles. Oh, who am I kidding? I want to read them all.

Practicing Programming

Effective Emacs

Why Phone Screens Matter

The Numbers Minilanguage

Age of the Racecar Driver

the Google at Delphi

Innovation 101

Godel, Escher, Blog

Ancient Languages: Perl

I am thankful for this article. I'm not kidding. I was honestly wondering if there was something wrong with me. I knew I was supposed to still love Perl, but I just...couldn't anymore. It's not me. It's not the community. It's the language. Steve explains it as only Steve can. Thank you, Steve.

Ten Great Books

This post may be where I first heard of the book The Little Schemer. Looks like I ended up reading it in 2007. Well, if it was, then that book alone was worth reading Yegge's blog. My own top-ten list would be different, but it would certainly include some of these recommendations. A great list and an entertaining read in its own right.

Google's Secret Weapon

Math Every Day

Steve makes a commitment here and he follows through with it, as evidenced by future blog posts. There are also some great tangents about von Neumann, computer system architectures, programming languages, and how mathematics helps us solve previously untractable problems.

Ten Predictions

What You Need To Know

A Software Fable

A Quick Tour of Ruby

Being the Averagest

This is really no big deal

It's Not Software

Language Trickery and EJB

Tour de Babel

One of my all-time favorite posts. Covers only a few languages and is hugely opinionated. But that's what I love about it. I never get tired of reading this one.

The Five Essential Phone-Screen Questions

When Polymorphism Fails

my .emacs file

Saving Time

Waste Management

Scripting Windows Apps

Practical Magic

Singleton Considered Stupid

The Nonesuch Beast

A great description of the incompatibility between complexity and ease of use.

Lisp Wins (I think)

More OCaml

OCaml

This is why I love Steve's blog so much. I find entries like this one so relatable. I, too, had this exact reaction to OCaml when I first learned it. (And, like Steve, I end up sticking with OCaml as a 'daily driver' language.)

The Next Big Thing