I recently had to investigate an LVS-NAT (via ldirectord) system that appeared to be adding a significant delay to many requests that were passing through it.
The HTTP requests I was looking at were taking around 600ms (with a very large variance) to complete via the director machine, instead of a consistent 35ms when made directly to one of the …
The Opscode wiki only provides some rather vague and incomplete hints for migrating Chef to a new server. Below is what I actually did and it worked for me. This is all running on Debian Squeeze and using Chef 0.10.8 from the Opscode provided Debian packages.
Quite a long time ago I talked about setting envelope sender addresses so that I could send mailshots and get back any bounces in a useful way. The missing component to it was to process those bounces within my application. Here, finally, is my write up of how I did this.
After much searching I eventually found the excellent SubEtha …
I administer (mostly through SEOSS) quite a few OpenVZ virtual machines and I recently wanted to create a clone of one onto a local system for some testing. Unfortunately I didn't have an OpenVZ machine locally, so decided I'd have a go at migrating the OpenVZ virtual to a local KVM instance. The process I went through is below.
Please see Part 1 for the start of this series and links to all parts.
For the SupaJam ticket outlet, we didn't need anything too fancy, just enough to present people with a couple of ticket types to choose from and a way to pay for them. Of course we still had the extra requirement of collecting a real name …
Towards the end of May, SupaJam launched the first round of several festival ticket give aways planned for this summer. This wasn’t the first time SupaJam has given away festival tickets, but it is the first time that we've done it in this way.
Technically, it all went well. The days afterwards did include a rather large number of …
However a change to that patch was suggested and before I managed to implement it, the mail plugin underwent a fairly large refactoring which meant I needed to …
I work with grails quite a lot these days. I have about 5 plugins and over 10 projects that I currently work on frequently. Fairly inevitably they use an assortment of grails versions. Manually chopping and changing command lines to execute different versions gets pretty tedious.
The Groovy HTTPBuilder library is extremely useful for interacting with all sorts of things, including remote web services that send back XML responses. In these cases HTTPBuilder will automatically use Groovy's XmlSlurper to parse the response and give you back a GPathResult to make navigating the XML super easy.
However today I've been trying to parse XML that's returned (from …
I recently needed to dynamically resize an iframe based on the size of it's content. This needed to be done for each page loaded within the iframe (as they are of varying length) to avoid an extra level of scrollbars appearing.
You can skip ahead to see the finished product here: Sutton Footprint Calculator. The details of the solution I …
I recently needed a version of rsnapshot that included LVM snapshot support. Unfortunately the version included with Debian Lenny doesn't include this, so I had to create a quick backport.
This is a very quick record of what I did.
Install useful build scripts:
aptitude install devscripts
Create somewhere to store our downloads and built files:
I would have expected the desire to set a specific envelope sender address for mails from a web-app to be fairly common. However finding information on how to do it with the Grails mail plugin (ie Spring mail (wrappers for JavaMail)) proved much harder than I expected.
As an aside, I am slightly concerned that I can't actually recall how I came across that article! I think the influx of links (and general information) from RSS, Twitter and Facebook will eventually make me melt!
Anyway. SparkleShare is something that I've been wanting for a …
I ended up reading the Grails code to figure this out, so I thought it might be useful to record.
One of the projects that I recently upgraded to Grails 1.2 makes use of Groovy HTTP-Builder. If you just pull in HTTP-Builder you'll quickly find that it's dependencies break your grails project. So under 1.1.1 and using …
Just imagine that you have a list (a long list) of names in a spreadsheet (no, it's not suitable for export and processing as a CSV) that are unhelpfully in the wrong format. In my case they looked like "FredBloggs" instead of "Fred, Bloggs".
Following the recent release of Grails 1.2.0 I've attempted to upgrade a few of the projects I work on. Some of these attempts have gone better than others.
For one of the simpler ones I only hit two problems.
Combining Acegi with Enum's defined in the same source file as domain objects no longer works. The grails bug …
I started out with a virtual machine image that was 10GB in size. Within this are two partitions - the first a few hundred MB for /boot and the rest is a LVM partition. The LVM then contains swap, root and /home. In this particular case I needed to make /home bigger, I actually needed an extra couple of GB but …
The Grails mail plugin is an invaluable addition to most Grails based sites - it's a rare website that doesn't need to send email. Some really useful features have been sitting on it's todo list for a while, but it still does a lot as it is.
Unfortunately I must admit that a nicely formatted HTML email looks rather better and more catchy as a newsletter than a simple string of plain text. This goes against my general email preference, but even I have relented in recent times and started allowing my mail client to display HTML email (although I still never send it)!