Profile cover photo
Profile photo
Will Bond
I moved to
I moved to
Will's posts

If you are having trouble with Arch Linux inside of a VMWare VM and GDM/gnome-shell + 3d acceleration. It is likely due to mesa/mesa-libgl/svga-dri.

I found version 10.0.3-1 for x86_64 at and used:

pacman -U *.xz

to downgrade the three packages.

Doing some research for rMBP purchase, I've uncovered the following info:

The processors for the 13" seem to be:
2.6 GHz i5-4288U (
2.8 GHz i7-4558U (

The processors for the integrated graphics 15" seem to be:
2.0 GHz i7-4750HQ (
2.3 GHz i7-4850HQ (
2.6 GHz i7-4960HQ (

The U processor models in the 13" run the Intel Iris 5100 graphics. The 15" processors have the Iris Pro 5200 with dedicated video ram.

According to the 15" can support up to 4K at 60Hz, whereas the U processors on the 13" can only do 3200x2000 at 60Hz, and only 30Hz at 4K resolution. This information is potentially useful if you are interested in a slightly more future-proof setup.

Both lines seems to support all of the same virtualization features. From looking at the 802.11ac chipsets in the 2013 Macbook Air, it seems likely the rMBP has a Broadcom BCM4360.

Post has attachment
On Friday I released Package Control 2.0, along with a new website for it at

Along with PC 2.0, I released versions of SFTP, SVN, Terminal and Alignment for ST3.


Post has attachment
If you are transitioning to nginx and need to handle case-insensitive URLs (such as migrating from IIS), you will need to use either the Lua or Perl modules for nginx.

Since Lua has a reputation for performance, I chose to utilize the Lua module.

Depending on your distribution and your preferred install method, you'll need to figure out the correct way to get it installed. We run a bunch of custom builds of nginx modules, so my process involved compiling from source.

# On Arch linux, I install the lua libs via:
sudo pacman -S lua51 luajit
# On Ubuntu the dependencies are installed via:
sudo apt-get install lua5.1 luajit libluajit-5.1-dev

# Then I clone the lua nginx module:
git clone -b v0.8.2

# Download nginx:
tar xvfz nginx-1.2.9.tar.gz
rm nginx-1.2.9.tar.gz

# Compile - be sure to set your --prefix if not using /usr/local
cd nginx-1.2.9
./configure --with-http_ssl_module --add-module=$(realpath ../lua-nginx-module)
sudo make install

Then, in the nginx config, the following will do an internal redirect to transparently rewrite URLs to lowercase:

location ~ [A-Z] {
    rewrite_by_lua 'ngx.exec(string.lower(ngx.var.uri))';

If you want to redirect to the lowercase version, use:

location ~ [A-Z] {
    rewrite_by_lua 'return ngx.redirect(string.lower(ngx.var.uri), 

Post has attachment

Post has attachment
If you like Handlebars.js, but want to use them server-side with Python, I recently came across pybars. The new stack for the Package Control channel server and community website is being written int Python 3, so I spent some time getting pybars and all of its dependencies working properly with Python 3.3.

In addition to some compatibility tweaks, I also revamped the readme a little to show how you can use custom helpers and partials. Unfortunately the code for helpers that was previously in the readme was broken.

Anyway, here's my port of it: If I can get the Python 3 compat code into the official versions of the dependencies (pymeta and testtools), then I will send a merge proposal back upstream.

Post has attachment
Recently I've been porting the Package Control community website to python to re-use code from the new version of Package Control. In the process I want to also make it easier for others to contribute to the development of it.

In order to allow others to reasonably work on the site, I need to provide some sample data to be displayed. A full dump would not be feasible since the usage table currently contains over 20M events (400+MB compressed). Because of this I am in the process of writing a script to extract some usage data from the past month and make it available.

One big concern with exposing usage data is the privacy of PC users. While it is possible to opt-out of usage stats via the PC settings, I don't currently have a clear privacy policy on how usage information is used. Right now a user’s IP, Sublime Text version and package info are all captured. Not wanting to expose raw user IP address information, I started looking for a solution to anonymize IP addresses.

With a little searching I found the Cryptopan project ( It looked very promising, however the rest of my scripts are written in python and I'd like to stick with code that will run easily cross-platform.

With a little more searching I came across, which is a python port of the Crytopan project. Thanks to the work of Michael Bauer, I can now easily create anonymized sample data sets for other developers who want to hack on the new Package Control website.

If you are looking for an HDTV to use with a computer, steer clear of Sony Bravia. I spent at least 2 hours last night trying to get text to render crisply without avail. From looking online it seems HDMI + Sony + Nvidia has issues. The workaround didn't fix it. On to TV #3 … 

If you are moving a Windows 7 VM from VMWare workstation (or player) to VirtualBox and get a BSOD, try the following:

1. Open the settings in VirtualBox
2. Remove the virtual disk from VMWare
3. Remove the virtual disk adapter
4. Create a new virtual disk adapter of type SAS and pick LsiLogic SAS on the right
5. Attach the VMDK virtual disk to the new adapter
6. Boot Windows successfully

Post has attachment
Nice to see another MIT-licensed syntax highlighter.
Wait while more posts are being loaded