Skip to Main Content

The AnonyBox – Squid, SOCKS, and OpenVPN, all for $15


With the recent return of CISPA, I purchased an anonymous VPN account with PrivateInternetAccess.  This system suited me fine for browsing, and had pretty good throughput, but soon caused some common problems.

I have seven systems in my internal network.  Some of them need to be accessible remotely (not possible through the VPN), some need to be anonymous only some of the time, and some need to be totally anonymized.  I could have set up openVPN on each system, and configured each with an extremely complicated iptable, but it seemed like overkill.

Then, by complete accident, I found the perfect solution:

pogoplugproThe PogoPlug E02

Adorama had these little linux-based NAS systems on sale for an amazingly low $15, so I bought 3 just on a whim.

When I got them in the mail, the first project to spring to mind was what I’m calling: The AnonyBox. It is a stand-alone VPN client and SOCKS/HTTP Proxy host for my network.  With it, I can simply set any machine or program that needs anonymity to use it as a proxy, and everything else runs as expected.

I’ll detail the steps necessary to set up this stand-alone anonymizer in my next post.

jSlabify – jQuery Plugin for Simple & Powerful Slabbed Typography


I ran across Brian McAllister’s slabtext jQuery plugin, and was immediately taken by the concept of algorithmically slabbing text. That, of course, led me to Erik Loyer’s slabtype algorithm. After taking a close look at the algorithm, It seemed a bit complicated to me. The algorithm first creates an optimal slab, based on the width of the box and the font-size of the container, then resizes the result to match the height of the container. The end result has the potential to create very sub-optimal slabs, when height is a factor.

I redesigned the slabbing algorithm, at the cost of a few CPU cycles, to produce a much more optimized slab, when the container height is known. Rather than basing the slabbing algorithm on font-size and a magic ratio, jSlabify bases its slabs on comparing proportions. It renders the text as a single line, and captures the dimensions and the area, in characters, of the resulting box. Then, it calculates the height, in characters (read: row count), necessary to contain the same area (read: number of characters) in a box proportional to the container. The relevant formula is:



Demo | Live Demo | Download