Archive for February, 2012

No application without a library, no web site without an API?

Tuesday, February 21st, 2012

When I wrote the first versions of Dynamite and Unshield (eight and nine years ago!) I decided from the start that each project had to be implemented in two parts: a library (hopefully reusable) and a command line tool using the library. I believe I learned this from cURL and ...

Setup a new headless Ubuntu VM in VirtualBox on FreeBSD

Friday, February 10th, 2012

Download from http://virtualboxes.org/images/ubuntu-server/ VBoxManage register "/storage2/virtualboxes/Ubuntu server 11.10/Ubuntu server 11.10.vbox" VBoxManage list vms "Ubuntu server 11.10" {231c28f0-19bb-48d7-9db4-ba29de37e5fd} VBoxManage modifyvm "Ubuntu server 11.10" --usbehci off VBoxManage modifyvm "Ubuntu server 11.10" --pae on VBoxManage modifyvm "Ubuntu server 11.10" --nic1 bridged --bridgeadapter1 em0 VBoxManage sharedfolder add "Ubuntu server 11.10" --name backup --hostpath /backup nohup VBoxHeadless --startvm "Ubuntu server 11.10" -n 2>&1 & Connect ...

Moving a DokuWiki site to a new server

Tuesday, February 7th, 2012

I have customized my DokuWiki installation to allow multiple wikis, similar to running multiple WordPress blogs on different domains. My /etc/dokuwiki/local.php looks like this: This means that I have multiple DokuWiki sites in my /var/lib/dokuwiki/ directory. To copy only one of them: Copy the /etc/dokuwiki/hostname directory and symbolic links Copy the /var/lib/dokuwiki/hostname directory and symbolic ...

Installing tarsnap on a vanilla Ubuntu server

Saturday, February 4th, 2012

cd /var/tmp/ curl -O https://www.tarsnap.com/download/tarsnap-autoconf-1.0.31.tgz  (or actually the latest version from https://www.tarsnap.com/download.html) sudo apt-get install gcc e2fslibs-dev zlib1g-dev libssl-dev make cd tarsnap-autoconf-1.0.31 (directory name corresponding to the downloaded tarball) ./configure && make && sudo make install sudo tarsnap-keygen --keyfile /root/tarsnap.key --user username --machine machinename (note that my blog converts two dashes to a single long dash so you need to ...