I rebuilt my design as a Jekyll template, which was largely a simple matter of replacing WordPress’s template tags with the equivalent Liquid tags, and copied all of the posts and comments. (The comments are now powered by Disqus, given the inherent limitations of static pages.)
Everything should be pretty snappy now, since NGINX can just grab a static file and throw it back to you, rather than waiting for a behemoth PHP script to execute numerous MySQL queries and generate a page for each request. Sure, you can set up some excellent caching systems, but that’s overkill for a tiny personal blog. Caching doesn’t do you much good when most of your hits end up being cache misses.
The biggest visual change you’ll see is the revamped Archives page, which is more-than-loosely based on the one from the default Octoress theme. In fact, I borrowed a few things from Octopress. A couple of plugins, a Rake task, etc.. Why not just use Octopress, you ask? I’m not a fan of the directory structure or added hurdles when building a custom theme. I gave it a try, but it seems to me that Jekyll is the way to go if you want to do a lot of customization. If you just want to run a couple of commands and have an instant, generic-looking blog with plenty of amenities, then you may prefer Octopress.
All in all, the migration was fairly painless. The hardest part was writing a custom Jekyll plugin to display image galleries in posts and generate thumbnails. (Okay, debugging my Git post-receive hook was a bit annoying, too…)
I was trying to upgrade NGINX on an Ubuntu 12.04 box today. Preferring to use APT and be a little bit behind the bleeding edge, rather than having to deal with the hassle of compiling from source, I wanted to add the
nginx/development PPA. (NGINX’s development branch is reliable enough for production usage, the development branch merely being subject to more frequent changes.)
When I went to add the PPA with
add-apt-repository, I was met with a “command not found” error. This is a well-documented issue, where the command isn’t installed by default, and has to be added by downloading the
python-software-properties package. To my surprise, it didn’t work. I spent about a quarter hour searching for a reason why, but pretty much every page said “just install
python-software-properties.” Yeah, I already tried that.
I ended up using
apt-file search to discover where
add-apt-repository is supposed to reside.
Apparently, it was moved somewhere along the line. Instead of being in
add-apt-repository is now a part of
software-properties-common. So if you want to install
add-apt-repository for your PPA needs, you just need to apt-get install
This is doubly interesting since I recently watched the American Experience documentary on Silicon Valley, which was sort of Intel’s story. (Intel was founded by people who left Fairchild Semiconductor.)
If you need a redstone current to turn on and off in slow pulses, such as in my recent Minecraft Lighthouse project or for some piston contraption, the 5-clock is the go-to circuit for the job. Usually it looks something like the diagram pictured to the right, taking up a fairly large amount of space for the desired five-tick pulse cycle.
Another method, which takes up a bit less space, uses redstone repeaters wired up in a circle, much to the same effect. Thanks to the adjustable delay on repeaters, as well as their current-extending properties, you can pretty much add additional repeaters on to create whatever delay you want.
After making the aforementioned lighthouse with a repeater clock, I wanted to add a switch so it could be toggled off and on at will. I came up with the modification shown below. When the switch is in the upward position, it kicks out the initial signal to start the clock, and it can keep looping, passing through the block each time. If you flip the switch, it becomes an OR gate and forces the loop to stop. The output wire, which leads to the lamp on the lighthouse, could be hooked up to any of the redstone wires.