Hacker News new | past | comments | ask | show | jobs | submit login
SICP optimized for Kindle (github.com/jonathanpatt)
242 points by ique on Sept 24, 2011 | hide | past | favorite | 40 comments

I read SICP in high school, and it really changed how I thought about programming. Before that, the languages I knew were Python, Java, C++. Ooh, ooh, and TI-BASIC. It seemed to my naive like languages were done. I'd written a language of my own, and looking at it now, the changes I'd made look so shallow nowadays...

SICP changed that. SICP didn't talk about classes/objects by introducing the syntax, it gave a problem where polymorphism was a perfect solution, and built up an object system from scratch. SICP didn't talk about mutation as just something you do --- SICP discussed how it solved a specific problem. Not claiming that SICP is the be-all end-all of textbooks; but if you're motivated and already know how to program, it is an a brilliant excursion into the fundamentals of programming. In any case, after SICP I realized that language theory is a branch of computer science itself; a branch I soon fell in love with.

There's a continuation to this story --- the summer after high school, I wrote a compiler and started reading lambda the ultimate. Learned type theory, started writing Haskell and Common Lisp, and quickly produced several dozen interpreters... And now I'm doing research under Sussman himself!

And so for this Kindle-optimized SICP, thank you! I'm sure it will get at least one more young hacker into language theory...

> I read SICP in high school

In my alternative life I would have done the same. Good luck to you with your endeavours.

In my alternative life I would have done the same.

I, too, wouldn't have minded getting a head start.

But keep in mind there's less than a year's time between being a senior in highschool and UCB CS61A, (the former) MIT 6.001, Stanford CS107, etc.

Yes. I read SICP being an experienced C++/imperative engineer.

On the other hand, I wouldn't have that enjoyable mind-shifting experience if I started with SICP in the first place.

And now you realize all you need is Lisp ;D

[sigh] you sound like Sussman. Unfortunately, being interested in language theory means giving up on a languages being perfect...

The sad part about this is that it shows how much Kindle's current PDF conversion service needs to improve. I have tried sending PDFs to the email conversion service and more often than not it screws up diagrams, figures and equations. Even text documents, which you don't need to pass through the conversion, don't always render well (try transferring any RFC to your Kindle and see how it comes out).

PDF conversion is a difficult problem. To my rudimentary understanding of the format, PDF documents aren't really plain text, they have no semantic information, they are just individual glyphs and figures mapped to absolute coordinates on a fixed-size page. This format is really meant to be as a portable printer-friendly document format, not ereader-friendly dynamically resizable format.

I can't comment on the RFC part of your comment.

PDF started as a pure (100% ASCII!) page description language, but it later was transformed to a binary format, and even later, accessibility support made it easier to retrieve the text from a PDF document (before that, all you would have were the glyphs. For English text, these often mapped 1:1 to characters, but they did not need to) and some support for reflowing documents was bolted on (http://www.adobe.com/uk/epaper/tips/acr5reflow/).

Both accessibility and this reflowing do require participation by the creator of the file, though.

You should try this program out: http://willus.com/k2pdfopt/ Ingenious for multi-column pdf's :)

I did something similar for Project Gutenberg texts: a set of scripts to download them in bulk, do some textual reformatting and file renaming on them, all geared toward making them better looking and more accessible for my ebook reader (which is not a Kindle, but the texts might me more palatable on a Kindle too...). Without this preprocessing the Gutenberg texts were almost unreadable on the ebook reader.

I describe it at http://www.michielovertoom.com/python/gutenberg-ebook-scrapi... and the source is on Github, too.

JIT. After hours, my workmates and I just started watching SICP vids/"taking" the MIT opencourseware.


OK HN, what's the super power you have? This is like the 10th time you delivered something I wanted in less than 24 hours of just thinking of it.

Thanks a lot.

Any help on how to get this on to the kindle. I've cloned the repo but I'm not sure how to transfer it to my kindle.

It looks like, though, that the sicp.mobi file is from the original repo (revision date of Jan 10) and the fork that this post points to includes a series of improvements to the text (revision date of Sept 18) that the .mobi hasn't been updated to take advantage of. Thus, it looks like the .mobi needs to be recompiled to include the improvements that @jonathanpatt has committed. There is also a pull request on the original repo that should likely be included in any revision, too: https://github.com/twcamper/sicp-kindle/pull/5

The .mobi file is a Kindle document. Either plug your Kindle into your computer (it works just like a USB drive) and drop the .mobi into the documents folder, or send it as an attachment to your Kindle's email address. (You can find your Kindle's address here: https://www.amazon.com/gp/digital/fiona/manage/#manageDevice...)

I believe the sicp.mobi file is the one you are looking for. Download it, and copy it to the documents folder on your kindle, when you've attached it to a computer.

It's a .mobi file. You can transfer it to kindle in either of the 2 ways.

1) Connect your Kindle to computer and copy the book to documents folder in your Kindle.

2) Send the .mobi file as an attachment in email to your Kindle specific email id. For incurring no charges, use the free.kindle.com id. Once you connect to Wi-fi next time, book will be transferred to your Kindle over the air.

I uploaded a copy to http://puremango.co.uk/sicp.mobi

Which you should be able to download directly from the kindle's web browser. For some reason trying to download it directly from github fails when you try to access it directly from the kindle.

Hope that helps.

Plug it into USB, drag it into the Documents folder once the Kindle comes up as a volume on your machine.

Post from six months ago for getting epub version of SICP (with a user's link to another Kindle version and links to ways to convert epub to mobi) http://news.ycombinator.com/item?id=2419516

I did something similar but for the AI Foundations of Computational Science (http://artint.info/html/ArtInt.html) by scrapping the HTML, stripping the heading/footer sections and creating an epub book.

Unfortunately my ebook Reader (PRS 950) does not seem to like it as it resets while loading the ebook. I wish I could share the results but the book is under CC "no derivatives" license.

I'm reading the Amazon converted version now which is not perfect. Thank you for this gift.

This is really great. I was thinking about buying a TouchPad for all my textbooks, but I greatly prefer the e-ink display of the Kindle. With this, I no longer have an excuse for the TouchPad.


Anyone care to do this for Introduction to Algorithms?

Been meaning to read it, but the PDF version on my Kindle is a chore to get through.

SICP is under some sort of Creative Commons license but I'm pretty sure Intro to Algorithms isn't.

Thank you to the poster and the author of this document.

Trying to read SICP on the new kindle in PDF format was impossible!

A friend tells me that for PDFs, the way to go is a Nook Color, which can be rooted to run Android, which has a good PDF reader. New it's $250 (which is what he has), refurbs are available for $180 from Barnes & Noble:


Or, if you want an eink reader, you could get a PocketBook (probably model 902 or 903; see http://www.pocketbook-int.com). From the site:

  formats: PDF, RTF, FB2, Docx, TXT, 
  including DRM .epub
I have just bought it, so far pdf looks good on it. Of course, it has only been a few days.

Anyone has any idea if I can load this book onto my Kindle app for iPad?

Ok I just discovered a way to do so. Kindle for iPad/iPhone doesn't allow an official way of loading your personal documents to be loaded onto your app. So a nifty trick is to use the iPhoneExplorer app on your Mac and open your iPad/iPhone in it. Then just drop the .mobi book onto Apps>Kindle>Library>eBooks. That's it.

Hmm, I'm fairly sure I loaded books on the Kindle app for the iPad by just mounting it, the app shows up as a folder. Or maybe that was iBooks...

I just did it by browsing on my iPad to the github source for the sicp.mobie and clicking "view raw". The iPad then offered to let me open the file in the Kindle app.

It doesn't see to sync to my Mac Kindle app though.

That works too. Cool.

The Kindle app shows up in iTunes when you sync your iPad, same place as the iWork apps. You can just drag & drop the .mobi file there and it will load it into the Kindle app on the iPad.

I have an Android tablet. Is the HTML version still my best bet?

I haven't tried but if you have the Amazon Kindle App installed - you should be able to download the sicp.mobi file from the link above and that should open up with the Kindle app on your tablet.

If that doesn't work - get one of the many Mobi readers from Android market - https://market.android.com/search?q=mobi+reader&so=1&... .

There's also an epub conversion floating around. It's been mentioned on HN and, IIRC, is also hosted on Github.

I hadn't noticed the problem with the remaining GIF's to be converted to SVG. Seems like potrace or similar would make short work of that.

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