Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: What are the best programming books for someone in prison?
16 points by syedkarim on Feb 7, 2012 | hide | past | favorite | 18 comments
A friend of mine went to prison 17 years ago (robbed a bank; first offense; no one was hurt, but they through the book at him). He'll be released in November and is trying to figure out what to do with the rest of his life (he's 39).

I told him the only truly meritocratic profession in the world is programming. He's done a lot of VB/Access-work for the prison factory and really enjoys it, so this path is probably a great fit for him. He'd like to use the next 9 months to learn as much as humanly possible about the general fundamentals of computer science and, more specifically, the basics of what is needed to be a web developer.

Unfortunately, he is limited to book-learning because, well, it's not like they have a One Laptop Per Inmate program. Additionally, his facility does not allow actual programming texts to be received/read by inmates. The more technical/instructive/informative a book is, the more likely it is to be returned to the sender. Yes, it sucks. But it is the reality of the situation.

He is, however, allowed to receive/read books that are conceptual in nature. Based on these constraints, which programming-oriented books (they must be physical books, as opposed to ebooks and pdfs) do you recommend I purchase for him? Given the constraints, what books do you recommend?

Here's another idea: Since your friend is coming out in 9 months anyway and there's so much risk involved in trying to sneak in a programming book, he should probably spend his time developing another equally useful skill: writing well.

As many other successful programmers have noted (Spolsky, Yegge) and demonstrated, effective communication, especially through writing, is a very useful and necessary skill for a programmer. So, maybe you should send him just some good books on writing well.

In general books, I can think of Strunk and White, On Writing (by Stephen King). But some examples of good writing about programming could also help:

The Best Software Writing (edited by Spolsky)

Joel on Software (the best articles from his blog)

Steve Yegge's blog posts (others might disagree but I think he is an excellent writer).

Paul Graham's essays

raganwald's old blog - http://weblog.raganwald.com/

James Hague's blog - http://prog21.dadgum.com/

Rands in Repose - http://randsinrepose.com/

I would look into donating the books to the prison library. Censors usually don't go to town on books that are donated, whereas things that are sent in via the mail to a specific inmate are scrutinized to an unimaginable degree.

I just double-checked with him about this: The prison library no longer accepts book donations of any kind. And the Inter Library Loan program has been shut down. He told me not to try to make any sense of it.

I find it shocking that "technical/instructive/informative" books are disallowed. I can't begin to fathom a reasonable explanation for that.

To be more helpful, a mathy algorithms text, like CLR (http://www.amazon.com/Introduction-Algorithms-Thomas-H-Corme...) might slip through the censors and be a good option--depending on whether your friend is comfortably enough with thinking about code abstractly.

I was told that staff has explicitly stated to him that the institutional policy does not encourage inmates to pursue white-collar professions upon re-entry.

Mathematics is probably "theoretical" enough? A good Discrete Mathematics text, Perhaps some others. He'll have some mathematics knowledge around which to orient his programming. And people have been learning math for a long time -- meaning, long before computers.

Related, a good book on logic, including logic as implemented in circuits.

I recall a fairly intense "computer science survey course" back in college, that started with and, or, not gates and built up through adders, etc, to an ACU. Introduced a pseudo assembly language. I forget how far it continued beyond that. Something like that book I can see doable in good part on paper and in thinking, and it would provide some fundamental background that many programmers don't have or don't retain.

It might also be helpful to give him a good, concise book on project management. So that he has some idea what people are talking about when he encounters the work environment.

And there are always some of the classics, both for insight and for cultural orientation. Brooks' "The Mythical Man Month". Kidder's "The Soul of a New Machine". Some years back, I rather enjoyed "Where the Wizards Stay Up Late", for it's take on the early development of what we now call "the Net".

If you're sadistic (and willing to risk some bucks against the chance of censorship), you can always send him Knuth's compendium. ;-)

This is absolutely the right direction--thanks! The one book on the list that might get kicked back is "Structure and Interpretation of Computer Programs". Too bad, since it's probably the most concrete. This is a great starting point, thanks again.

Ditto on "Code." As a non-programmer learning to program, it was everything I needed to know to wrap my head around how everything actually works.

Here's a good list of highly-praised books. Most of them look like they could make it past the censors: http://stackoverflow.com/questions/1711/what-is-the-single-m...

From those I personally recommend "Structure and Interpretation of Computer Programs" and "Gödel, Escher, Bach". SICP might not make it through, but GEB definitely would (although its direct relevance to day-to-day work in web development may be questionable, it should do a lot to spark an interest in computer science).

Just a suggestion, but what about books which don't look at all technical but are full of cartoons and humour, eg "Land of Lisp" ( http://nostarch.com/lisp.htm ) , the Head First books and so on ? These might be acceptable.

Secondly, one of the most common comments on HN is how few programmers are also any good at design, so perhaps books focused on design, usability and typography would be another option.

I have done work at a charity that mails donations of books to prisons called "Books Through Bars", and I am always excited to get a request for books on programming. You may want him to send a request to them, there will be some lag time, but it sounds like he has a bit of time left.

I'd go with "Code: The Hidden Language of Computer Hardware and Software" or a Donald Knuth book.

If he's already doing VB/Access work for the prison, could you not slip in a .net book as a means to help him in his work there? Or donating it to the library (as tdfx suggested) sounds like a good way around it.

In theory, that's a good workaround. But that's based on our understanding and what is logical and reasonable to us. My apologies for the tone of that statement--it's not at all directed at you; you could not believe the obstruction he has had to deal with as he has put himself through undergrad and graduate school through mail-in correspondence. He was hoping to pursue a phd, but the administration would not allow him to pursue his research project, so he had to stop at a master's. Bettering himself has been no easy task.

We pursued the option of donating to the library, but the correctional officers do keep a good watch on what comes as donations, apparently. He has also tried to order programming books through the Inter Library Loan program, but no luck. He learned VB/Access through material that was available in the factory and, of course, just figuring things out through trial and error. But I'll ask him about this option in more detail.

A php mysql book like this may be a good start.


As helpful as that book would be, I'm almost certain it wouldn't be allowed. He's ordered a few of those types of books before and they were all rejected by the facility.

Would you be able to send him photocopies, as "letters"?

Yes, I could. But I live in Poland, so mailing an ebook (100 pages?) would be incredibly expensive--and there's still no telling that he would actually receive the letter. Out of curiosity, what title did you have in mind?

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact