Z
Zed Shaw
sheddingbikes.com · Personal blog · on HN since 2010
Zed Shaw writes about programming, web servers like Mongrel2, and his Learn X the Hard Way books.
What HN saysHN commenters link his posts on Mongrel2's design and polling benchmarks, and his free Learn Python the Hard Way PDF as a way to start with Python.
90HN people shared it
40linked it in comments
70stories submitted
5.9Kstory points
14 years agolast shared
2010people per year2026
Most-shared posts
- 1Zed Shaw: Github's Favorite Joke7 people · 286 points · first shared 2011 · 136 comments on HN
- 2How To Write a Learn X the Hard Way5 people · 194 points · first shared 2010 · 50 comments on HN
- 3Tir: A Mongrel2+Lua Micro-Framework4 people · 120 points · first shared 2010 · 55 comments on HN
- 4Shedding Bikes: post your observations on programmers and programming4 people · 2 points · first shared 2010 · discussion on HN
- 5Common Programmer Health Problems3 people · 402 points · first shared 2010 · 184 comments on HN
- 6Mongrel2 Says, "Goodbye Python"3 people · 246 points · first shared 2010 · 236 comments on HN
- 7Zed Shaw: "poll, epoll, science, and superpoll" with R3 people · 227 points · first shared 2010 · 141 comments on HN
- 8Zed Shaw: Why I Don't Use Tor3 people · 181 points · first shared 2010 · 158 comments on HN
- 9Zed Shaw is Writing A Book Teaching Beginner Python3 people · 179 points · first shared 2010 · 111 comments on HN
- 10Why I Use Fossil3 people · 159 points · first shared 2010 · 52 comments on HN
- 11Making Debian Responsible For Its Actions3 people · 84 points · first shared 2010 · 161 comments on HN
- 12LearnPythonTheHardWay.pdf3 people · first shared 2010
- 13Products For People Who Make Products For People2 people · 281 points · first shared 2010 · 79 comments on HN
- 14The Long Beard's Revenge2 people · 226 points · first shared 2010 · 104 comments on HN
- 15Zed Shaw: Launchpad vs. Github/SysAdmin vs. Coder2 people · 179 points · first shared 2011 · 64 comments on HN
What HN people wrote when they linked it
wetbrain · 2012-05-21
Check out http://sheddingbikes.com/posts/1289384533.html,
>Instead of one gigantic process that has to handle all of an application, you'd have a handful of little ones. Instead of scaling massive applications across a cluster, you just scaled each interface out as needed. Instead of upgrading the whole enchilada at once, you just upgraded each interface only if it needed it. Instead of worrying about migrating user's coroutines across upgrades you just did the "Erlang trick" and moved them over to the new deployments.
He goes on to describe Tir, the natural style, and Lua's coroutines. Great intro to a fun framework.
jerf · 2011-10-28
I would love to see "someone" do that benchmark; using epoll, accept as many sockets as possible, for the sake of argument let's stuff one byte down them, and then properly shut them down.
I'm curious how close to the limit of the underlying poll technology we're getting, because it seems like everyone is converging in roughly the same area, in an order-of-magnitude sense.
I also find myself wondering about the implications of these artificial benchmarks and the stuff Zed discussed here: http://sheddingbikes.com/posts/1280829388.html
steventruong · 2011-07-08
And the follow up post: http://sheddingbikes.com/posts/1306948009.html
js2 · 2011-05-07
Fossil is a great little SCM, written by the author of SQLite. This is probably the most controversial page on the fossil-scm.org site. It is intended, I think, to be provocative - don't take the bait. :)
Instead, explore the other documentation on the site and see whether it's an SCM for you.
Zed Shaw wrote a perfectly reasonable post about why he uses it:
http://sheddingbikes.com/posts/1276624594.html
Discussion: http://news.ycombinator.com/item?id=1433387
Also http://news.ycombinator.com/item?id=809493
charlief · 2010-10-27
Python totally, and here is an excellent book to help you get started:
http://sheddingbikes.com/LearnPythonTheHardWay.pdf
eitally · 2010-09-22
Because this was the "Original Bike Shed Email" that gave rise to, oh, http://www.sheddingbikes.com.
I think this was posted more in response to Zed's popularity now than because of Parkinson's idea as demonstrated on the FreeBSD discussion.
zedshaw · 2010-04-26
You should check out my follow-up project where I try to do better:
http://sheddingbikes.com/posts/1272132621.html
And this post about two alternatives to DiP that are better written and easier for both expert and beginner:
http://sheddingbikes.com/posts/1272216358.html
Scriptor · 2010-04-24
He wrote earlier that he's basically doing both, with http://oppugn.us/ for rants, which can be contributed by other people as well, and http://sheddingbikes.com/ for more thoughtful and calmer essays.
voidfiles · 2011-10-17
If you are looking for something that is more front-end specific Paul Irish has put together a really great list of blogs, and made a google reader bundle out of them.
http://www.google.com/reader/bundle/user/11165870484951445324/bundle/f…
Some standout blogs that I always read about programming are:
http://www.quirksmode.org/blog/ - Was writing about JS before it was cool, now it just has some of the most detailed coverage you can get of new things happening in js.
http://dailyjs.com/ - a great daily roundup of the news in the JS community
http://www.nczonline.net/ - A developer who lead many FE efforts inside of Yahoo, very outspoken about how JS should work.
http://www.joelonsoftware.com/ - Joels essays can be a bit cantankerous, but also paradigm changing.
http://sheddingbikes.com/ - pretty much everything that zed shaw does is fucking awesome. Take it with a grain of salt though.
UPDATE:
Oh, I almost forgot steve yegge, http://steve-yegge.blogspot.com/ - In a few essays from steve my programming world opened into one of ideas, and not just syntax.
ryan-allen · 2010-06-16
Everyone's said this, I'll say it too: Awesome!
I fell into programming by accident at about 21, and I remember what it was like, it's much as you described. Fun times!
All the advice here is good, but nobody has recommended you read "The Pragmatic Programmer", which I found to be a bit enlightening. I still go back to it years later to read and ponder.
Good luck! You sound like you wont need it. It's a damn good career for those who enjoy it and are willing to put in some effort.
EDIT: I never did a CS degree, but considered doing it many times (if work dried up, it never did). I believe though that the people you meet and work with is a major part of doing a degree, so that'd be why I would go. I get to work with good people anyway. This article was posted on HN recently and I think is relevant:
http://sheddingbikes.com/posts/1275258018.html
I admit there are CS-type stuff I can't do (but I know where and who to ask) because I never did a degree. Saying that though, I have worked with people who have had CS degrees and couldn't code themselves out of a paper bag. If I were to go back in time to when I was your age, I'd do the degree, though.
seancron · 2012-12-24
Just a heads up: this isn't the latest template according to http://news.ycombinator.com/item?id=4953872
If you're looking to do a LxTHW, you should contact Zed to get the latest base structure.
Edit: Also, if you want to write a Learn X The Hard Way you should read this post about how to do it (http://sheddingbikes.com/posts/1288945508.html)
mwargh · 2012-12-21
Thanks for you appreciation :)
As to naming, Zed Shaw is OK with this: http://sheddingbikes.com/posts/1288945508.html
threedaymonk · 2012-10-20
The only prominent Fossil user I'm aware of is Zed Shaw, and he's since recanted after losing data and having trouble upgrading: http://sheddingbikes.com/posts/1306005291.html
pragmatic · 2012-07-03
Zed Shaw uses state machines in Mongrel2 to handle connections.
http://sheddingbikes.com/posts/1278464593.html
Here's the image of the state machine: http://sheddingbikes.com/mongrel2_state.png
Now imagine having something like that (say a prettier version of that chart) for web interactions with your complex web app.
dalke · 2012-06-14
Ain't going to happen. An old-ish comment from the author on github:
"Before [fossil] I wanted to publish my stuff I had two choices: Give my data to services like github, bitbucket, launchpad and then deal with all the whiners who don't like whatever I chose like somehow that makes their tribe inferior."
He has some code on github, but see http://sheddingbikes.com/posts/1306816425.html where he explains that it's mostly because his collaborators prefer it.
Finally, read http://zedshaw.com/essays/why_i_gpl.html to see the author's view of people who request a license change. Basically, he doesn't like those people.
Uchikoma · 2012-05-28
Thought this was the definitive blog post on the issue:
http://sheddingbikes.com/posts/1280829388.html
"epoll is faster than poll when the active/total FD ratio is < 0.6, but poll is faster than epoll when the active/total ratio is > 0.6."
MartinMond · 2012-03-05
Yeah, I think we'll migrate all our private stuff to http://gitlabhq.com/
The way GitHub reacted (blocking @homakov) is just wrong and destroyed all my confidence in them. Even more so when it was pointed out that @zedshaw crashed GitHub and didn't get blocked. http://sheddingbikes.com/posts/1306816425.html
Edit: Given that they have now stated that suspending @homakov was only temporary I no longer bear any ill will towards them.
I'm still disturbed by their security practices though. I expected better by the github guys and I don't like what this implies about the rest of their App.
(And yes I am using attr_accessible and not attr_protected since its inception)
Edit 2: See here http://news.ycombinator.com/item?id=3664839
My worst fear that GitHub is using unsafe mass assignment everywhere was NOT confirmed.
ricardobeat · 2012-03-04
Remember when Zed Shaw took down GitHub for purely personal reasons, disturbing service for millions? I don't remember him getting suspended, his account is live and well at http://github.com/zedshaw
http://sheddingbikes.com/posts/1306816425.html
cornet · 2012-01-15
Context found here http://sheddingbikes.com/posts/1306816425.html
stdbrouw · 2011-10-19
Good points, cheers. It's messy (at the very least just visually) but there are some standards.
I'll stick to my assertion, though, that more people need to think about this stuff, because the organically grown processes don't always cut it — otherwise, you wouldn't have frustrated rants like those of Zed Shaw (http://sheddingbikes.com/posts/1297662169.html) and Jason Scott (http://ascii.textfiles.com/archives/808).
ashley_woodard · 2011-09-05
You might be thinking of Zed Shaw's article "Launchpad vs. Github/SysAdmin vs. Coder": http://sheddingbikes.com/posts/1299555462.html
Prometheu5 · 2011-06-26
If you are interested in some hypothetical pondering about how secure Tor is not, here's some food for thought: http://sheddingbikes.com/posts/1293530004.html
dexen · 2011-06-16
Zed Shaw (yes, that Zed) has a good text on `ad hominem' and similar in this blog post:
http://sheddingbikes.com/posts/1293530004.html
and the relevant HN discussion: http://news.ycombinator.com/item?id=2045120
jz · 2011-06-01
Background: http://sheddingbikes.com/posts/1306816425.html
In all fairness, the guy was being a dick (no pun intended) to Zed. However, Zed should have kept the insults to the troll and left Github, Powerset, Engine Yard, and the Ruby community out.
swah · 2011-03-31
I'm confused - there are some Perl modules and some LuaJIT modules. Is it Lua you will be programming if you use this?
Also, if you're interested in that combination, have you seen Zed Shaw's Tir? (http://sheddingbikes.com/posts/1289384533.html) Its Lua+ZeroMQ+Mongrel2.
skymt · 2011-03-04
A couple similar frameworks -- Flask [1] and Tir [2] -- use the term microframework or micro-framework.
[1] http://flask.pocoo.org/
[2] http://sheddingbikes.com/posts/1289384533.html
mnutt · 2011-02-10
I don't think it's really fair to lay all of the blame with node and ruby/rails in this case; the distro package managers are just as much at fault:
http://sheddingbikes.com/posts/1285063820.html
It really just depends on what you're trying to do. As a desktop user you probably care most about stability; we can't have a python upgrade breaking apt. As a developer it's often important to have an up-to-date version of the tools and libraries you're using.
praptak · 2010-10-24
This analogy has been explored in "The Inmates Are Running the Asylum" book by Alan Cooper. It's a good book, despite some deserved criticism ( http://sheddingbikes.com/posts/1285436217.html ) it raised.
rryyan · 2010-10-14
The article in question: http://sheddingbikes.com/posts/1285659877.html
ars · 2010-09-28
This is a reply to http://sheddingbikes.com/posts/1285659877.html which was discussed here http://news.ycombinator.com/item?id=1734936