duncan­lock­.net
Schmatic diagram showing two phones
Figure 1. In an ideal world, I’d like something like this - and vice versa, please.

My wife and I currently live in Canada, and our families are back in the UK. We’d been using Skype to chat with people in the UK, but I was getting frustrated with Skype’s limitations: it either ties you to a computer and WiFi, or running a battery hungry app which slows down your phone. It doesn’t work very well over the 3G phone network here and while it’s free to make Skype to Skype calls, it’s fairly expensive calling real phones. I didn’t really want to buy a dedicated Skype phone - we both already have mobile/cell phones. And, to top it all off, the Skype software for Linux is the poor cousin of the Windows one …

Continue reading “Magic Phone Numbers: My VOIP Setup, with voip.ms”

How Figures & Images work in Pelican, by default

By default Pelican does a great job with figures and images, thanks to built-in support in ReStructuredText [1][1] . Pelican will turn this rst input:

.. figure:: {static}/images/better-figures-images-plugin-for-pelican/dummy-200x200.png
    :align: right

    This is the caption of the figure.

    The legend consists of all elements after the caption. In this case, the legend consists of this paragraph.

into this HTML output:

<div class="figure align-right">
    <img alt="/static/images/dummy-200x200.png" src="/static/images/dummy-200x200.png" />
    <p class="caption">This is the caption of the figure.</p>
    <div class="legend">The legend consists of all elements after the caption. In this case, the legend consists of this paragraph</div>
</div>

Which, given this CSS:

/* Styles for Figures & Images */

img {
    border: 1px solid #bbb;
    border-radius: 3px;
    padding: 4px;
    float: left;
    margin: 1em …
Continue reading “Better Figures & Images Plugin for Pelican”

As I mentioned previously, this site was put together using Pelican - a static site generator, written in Python.

Blueprint style diagram showing a brown Pelican, flying. The diagram point out it's Yellow Head, Large beak and pouch for fishing, long neck, white chest and grey body.
Figure 1. Pelecanus Occidentalis - the Brown Pelican. Original clipart Flying Pelican from OpenClipart, by molumen, Public Domain. More on Pelican, the bird.

Static site generators take your content, pour it into your templates and output the result as static pre-generated HTML, CSS, JS & image files. You can then just upload the resulting folder of output to your server and you’re done. All you need on the server is a web server of some sort, like Apache or Nginx - anything really - all it’s doing is serving static pages.

The huge advantage of this setup is simplicity:

  1. You can write your content in Markdown [1], reStructuredText [2] or AsciiDoc [3] - all simple text formats, designed to facilitate writing and get out of …
Continue reading “How I built this website, using Pelican: Part 1 - Setup”

Ever tried to copy something onto a USB flash drive, only to discover that the file was too big to copy?

This is because most USB Flash drives are formatted using the FAT32[1] filesystem - which only supports individual files up to 4 GB in size, no matter how much free space you’ve got. It also only supports drives up to 2 TB, can’t store symbolic links, can’t store files with these characters in the name: "*/:<>?\| – and is generally pretty crappy.

The solution is to use a better filesystem

There are many filesystems to choose from - but there are a few criteria that a good USB flash drive filesystem needs to meet which cut down the choices quite a bit:

  • Compatible with every computer - just plug it in, and it should work
  • Has no permissions, or optional …
Continue reading “Using UDF as an improved filesystem for USB Flash Drives”

I recently needed to convert some Apple Lossless music files to FLAC. Here’s how to do it:

If you don’t already have ffmpeg or libav-tools installed, do this:

$ sudo apt-get install libav-tools

Then run this to do the conversion, in the folder with music in:

$ for f in *.m4a; do avconv -i "$f" "${f%.m4a}.flac"; done

And that’s it - it will convert all the .m4a files in that folder to .flac files, preserving the metadata. You can now delete the .m4a files if you want:

$ rm ./*.m4a
Continue reading “How to convert Apple Lossless/ALAC/.m4a files to FLAC with avconv, on Ubuntu Linux”

Blueprint style diagram showing the compose key sequence for the Euro currency symbol.
Figure 1. Just hold down your chosen compose key, then press the other keys in turn: [compose key] + e + = gets you a Euro symbol.

The compose key on Linux is incredibly useful, but not configured by default - and on XFCE there’s currently no graphical UI to change it. However, it’s pretty simple to change…​ here’s how to make the Caps Lock key your compose key:

In the file /etc/default/keyboard, change XKBOPTIONS to look like this:

XKBOPTIONS="compose:caps"

Save the file. You can now either reboot, restart X, or see Activating your change without rebooting, below.

If you don’t want to use Caps Lock as your compose key, there are some other options to choose from in this file: /usr/share/X11/xkb/rules/xorg.lst - search for ‘compose’, they’re listed towards the …

Continue reading “How to set your Compose Key on XFCE/Xubuntu & LXDE Linux”

I’ve been meaning to consolidate my personal websites onto this domain for a long, long time. My original personal website, dflock.co.uk, started in the late nineties - and has been getting a bit long in the tooth of late.

Screenshot of the current version of the dflock.co.uk website homepage
Figure 1. Static text files - the gift that keeps on giving.

That site has been up, looking mostly like that, for ~15 years - with zero maintenance or downtime. Nice to know it’s still valid CSS 1.0 :)

When I created that site originally, the options were either Adobe PageMill, or hand editing HTML in a text editor. I’ve never been a fan of WYSIWYG (what-you-see-is(supposedly)-what-you-get) editors - and the early ones were…​ not good, so I wrote all the HTML code by hand.

That site also has some data heavy pages, which are manually published from …

Continue reading “Welcome to the New Site; same as the Old Site.”