Category: Blog

  • Getting started with vim

    I decided it’s finally time that I learn to properly use a terminal-based editor other than nano, since nano is rather limited when it comes to editing source code. vim seemed like a good choice, but I was so daunted by it. Then I discovered vimtutor – it’s a tutorial that takes place entirely in vim, and it’s nicely paced!

    If you’ve got vim installed on your machine, just run vimtutor at a command prompt and follow the instructions from there. Hello, cursor movement using letter keys!

  • PogoPlug as a Siri Proxy

    UPDATE 2012-02-03: I realized I forgot about installing the certificate on the non-4S device. Fixed!

    UPDATE 2012-02-04: amanpatel pointed out on the ArchLinuxArm forums that you need to make sure base-devel is installed. I’ve updated the prerequisites section to include this.

    My wife got an iPhone 4S recently, which of course features Siri, the virtual assistant. I didn’t think I needed a 4S, but I was pretty jealous of Siri. Unfortunately, I don’t qualify for a discounted upgrade since I got my iPhone4 less than a year ago.

    Enter Spire by @chpwn. Spire lets you install Siri on a jailbroken iPhone, but it requires the use of a proxy that lets non-4S devices pretend to be a 4S. I found lots of instructions for getting a proxy up and running as a virtual machine, but I don’t like leaving full computers running all the time. I decided to figure out what would be required to make it work with what we had: a PogoPlug server. (more…)

  • Arcade

    Arcade

    I’ve been working on restoring old arcade machines as a hobby since 2010, and to document my work better I started a blog called 1up Arcade. Since it doesn’t really fit with the types of things I post over here, I won’t be cross-posting, but if you’re interested in that sort of thing, you might want to check out www.1up-arcade.com. I take lots of pictures and I don’t speak in code! 😉

  • TomatoUSB on Cisco Linksys WRT610

    Installing TomatoUSB required first installing DD-WRT, then “upgrading” to TomatoUSB.

    Setting up optware:

    • Added an external hard disk formatted ext3, with a 512MB swap partition. Set up an fstab entry to automount the larger partition at /opt.
    • Followed instructions on TomatoUSB website for installing optware

    Setting up mkvtoolnix:

    • Needed to install prerequisite libraries via ipkg
    • Needed to build Boost libraries. Downloaded from boost.org onto router, installed build tools via ipkg
    • ./bootstrap.sh –prefix=/opt
    • ./bjam –without-python –without-mpi (LOOONG time, a bunch of errors…)
  • Practical Computer Science (Education) with Python

    Yesterday I gave a presentation at the eTech Ohio conference titled “Practical Computer Science with Python.” For the past two years, I’ve been teaching computer science to upper schoolers at Hathaway Brown School in Shaker Heights, OH, and in the presentation I shared some of the reasons why I think Python is an excellent choice for a programming language in an Intro CS course.

    I’ve uploaded the slides from the presentation for your convenience – next year, I’ll try to record any presentation(s) and put them online as well!

    Slides: Practical Computer Science with Python (eTech 2010)

    Links:

  • Better 7-zip on Windows

    I use Macs and I use Windows PCs. Sometimes I have a choice – sometimes I don’t. Overall, I’m definitely more of a fan of the general “Mac” user experience – focusing on making things “just work” with sensible defaults, and using as few clicks as possible to get things done.

    On Macs, there is a wonderful program called The Unarchiver that “just works” for extracting ZIP files. It works very similar to the built-in unzipping functionality, but supports many more file formats. I love it – when I double-click on a compressed file, it expands it in the current folder, and it’s very smart about how to do that. If there’s only one file inside the compressed file, it puts it right in the current folder. If there’s more than one file, it puts it into an appropriately-named subfolder. (more…)