duncan­lock­.net
reddit bots diagram
Figure 1. How much does a software bot weigh, anyway? Heavily modified & adapted from the original public domain robot on openclipart, posted by johnny_automatic.

reddit, the insanely popular internet community, had 71,435,935 unique visitors last month, with over 2,360,783 people logged in [1].

I say people - but it turns out that not all the denizens of reddit are human. There are also bots. Lots and lots of bots. How many? No-one really knows. [2]

This is an interesting and somewhat shadowy facet of the otherwise very public reddit community, so I thought I’d take a closer look…​

What is a reddit bot?

A reddit bot is no different from any other user, as far as reddit is concerned. The only difference is that rather than a human logging in to upvote cat pictures and …

Continue reading “A Marvellous & Incomplete Compendium of reddit Automatons & Bots”

stackoverflow logo is made of people diagram
Figure 1. StackOverflow is made of people - lots and lots and lots of people.

Seemingly like everything else in the world, Stack Overflow is getting more & more competitive as time passes. Gaining a good reputation - and even finding good questions to answer - is becoming harder and harder, as more and more people compete for less and less unanswered questions.

This is fantastic if you want to find an answer - but makes it much harder for newcomers to get started and build a reputation on the site.

This guide will help you jump-start your reputation on StackOverflow and help you get more out of the site.

How to find questions you can answer

Ignored & Favourite Tags

Screenshot of part of my (very long) ignored tags list from Stack Overflow
Figure 2. I don’t know jack: Screenshot of part of my (long) ignored tags list from Stack Overflow

Use the no answers page, the …

Continue reading “The Smart Guide to Stack Overflow: Zero to Hero”

I switched my XFCE machines over to use Compton for window compositing today - and it’s a noticeable improvement.

A compositor glues your stacks of windows together to form the final image that you see on screen. It’s responsible for any fancy effects like drop-shadows, as well drawing windows while dragging, resizing and minimizing or maximizing them. [1]

Compton does this beautifully. It does one thing and it does it well. It provides glassy smooth, tear free compositing and supports a few tasteful effects - drop shadows, fades and transparency.

I stumbled across this while searching for something else and found a great guide in the NeoWin forums [2], where most of this info comes from, so thanks ViperAFK.

Switch off the existing compositor

Screenshot of the XFCE Applications menu, with the Settings Manager highlighted.

You’ll need to switch of any existing compositing you’ve got running, otherwise this won …

Continue reading “How to switch to Compton for beautiful tear free compositing in XFCE

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.”