Sudoku Scraper: newspaper sudoku in your Hipster PDA

The other day, I published my Sudoku Scraper code, both on a project page here at Netninja and over at GitHub.

For a while, I have had a little PHP script that scraped the USA Today and New York Times websites for the daily sudoku puzzle.  And for a while, this script was the homepage on my iPhone.  Each day, it would grab the daily puzzles and give me a little text dump that looked something like this:

In that form it is fairly useless.  That prompted me to make the “Sudoku Blank” Hipster PDA cards.  I could then copy down the daily puzzles onto the blanks and solve from there.  I was quite happy with this for a couple of years, but slowly grew tired of having to transcribe the puzzles every day.  It eventually got to the point where I stopped doing the daily puzzles.

Enter this new script.  The new Ruby script, much like the old PHP script, scrapes the two daily puzzles.  It then goes a step further.  Instead of forcing me to transcribe the puzzles (sometimes with errors) onto a blank template, it actually generates the PDF template, already filled out with the day’s puzzles.  Not only that, but if you set it up on a cron job, look at it in the iCab browser on the iPhone, then send it to Printopia, it can be on your printer before you even get out of bed.  I had to use iCab because it turns out that the iPhone’s Safari will not print PDFs.  You can use Safari to send the PDF to some other app that can print (GoodReader, iBooks), but it won’t print directly.  It’s then just a little bit of origami folding to stuff it in your Field Notes book.

More information, as well as the source code, is available on the project page:

Posted in: Projects

Published by

Brian Enigma

Brian Enigma is a Portlander, manipulator of atoms & bits, minor-league blogger, and all-around great guy. He typically writes about the interesting “maker” projects he's working on, but sometimes veers off into puzzles, software, games, local news, and current events.

Leave a Reply

Your email address will not be published. Required fields are marked *