IOCaging up the RabbitMQ

Here, I’ll show you how to set up rabbitmq, a well-known open source message queue system, based on Erlang/OTP, in a container, using a tool called iocage that runs on FreeBSD, using zfs and jails that have been in base FreeBSD for a decade or longer, connected via tunnels between endpoints using spiped, a robust and reliable tool designed specifically for reliably & securely tunnelling network services across unsecured networks. Background I host my servers on real hardware, mainly because the price and performance is just so much better than virtualised ephemeral cloud services — I’m guaranteed my ECC RAM, and have no concerns about competing with some other transient cloud-induced heisenbug not of my own making. Read On →

The Command-Line RESTafarian

Talking to RESTful endpoints from the terminal

Read On →

Setting up a FreeBSD 10.1 box within vagrant

Here’s a few brief notes on setting up a FreeBSD 10.1 vagrant config based on the current beta. Once 10.1 is released, I’ll turn this into an ansible config, and create a vagrantcloud box. config 4GB RAM if you’re going to use jails etc, otherise 1 is probably enough 20 GB split disk called zroot use VT + EPT virtualisation engine remove soundcard, usb hub add a serial port boot from CD install enable IPv6 use DHCP for everything use zfs everywhere your clock will not be set to UTC use the UTC timezone Before you reboot, let’s make some further changes in the shell. Read On →

Installing ZFS on Debian Linux

Installing ZFS on Debian Linux in Google Compute

Read On →

A RAM-disk based workflow

Using a ramdisk makes everything faster

Read On →

Getting Started with D3

This O’Reilly book is part of the “Getting Started” series, which I have to say I don’t really find valuable other than for a quick flick through a new topic. This is not a reference book that you’ll come back to time & time again, nor is it going to stand the test of time, as is often the case for tech books. Much of the material is now covered in blog posts and existing documentation on the improved D3js site, which wasn’t so slick at the time of publishing. Read On →

Standardising Configurations with Ansible

For one of my customers I need to clean up some infrastructure that has been manually maintained over time. As we have not yet made a decision on what tool to use, I still wanted to clean up some things first but not spend too much time rolling out a tool to help me do that. We are using ssh keys to control access to the servers, and not all nodes have the right keys on them. Read On →

Running IRC Meetings with MeetBot

Running meetings is a black art at the best of times. Running them over IRC is a step more complex. Instead of audio, and people waiting turns, you’ve got a thousand monkeys typing a thousand thoughts. Async. On recommendation from @nslater’s involvement in another project, I gave MeetBot a try. It’s based on a venerable Python IRC bot called supybot, and while setup on debian is a piece of cake, it certainly wasn’t so obvious on my mac. Read On →

Inside Windows Debugging

This book is awesome. It will become your bible for windows debugging, and covers both theoretical aspects such as how the kernel & userland fit together in Windows, details on how 64 bit & 32 bit cohabit etc, and real-world expertise on debugging strategies for remote, local, and virtual machine scenarios. If you are programming or supporting Windows apps & servers, then you want this book. For novices, if you’ve not debugged an NT BSOD yet then this will give you enough understanding and straightforward tips to do so yourself, and for experts, if you don’t learn something new from this book I’d be very surprised. Read On →

Code and Data belong together

After a couple of years of using and abusing CouchDB, I think some of the unique concepts embodied in Couch Apps needs to be spelled out. Code and data belong together Keep your data alive and breathing Share widely Let’s look at the implications of this in more details: Code and Data belong together Data on its own is largely useless to most of us. And ditto for code. But bring the two together, and you have a powerful story to tell. Read On →