# Blog Posts

## General purpose computing is the best!

Once I’d added the Mac Mini to the rack, there was a space in the bracket it was mounted on that was designed to hold one or two Raspberry Pis. I had a Pi sitting about, so of course I added it to the rig thinking “I’ll work out what to do with that later…”

Of course, it’s proved invaluable…

I added a Raspberry Pi to my streaming rig on spec, and of course now it's indispensible
• 1 like
• 0 reposts
• 0 replies
• 0 mentions

## Evolving my streaming setup

Back when I first started streaming on the internet, I used a Logitech webcam and some lights I had picked up for doing product photography and such for the Loafery and some audio gear I had because, well, recording stuff is just fascinating. It was okay, but even with decent lighting and audio, the webcam was frustrating to control (basically, there was no control), so I picked up a cheap capture card from Amazon and drafted my Nikon D810Absolutely not the camera I would recommend if you’re going out to buy a camera for streaming – it’s primary virtue being that it’s the camera I already owned.

Will I ever learn to leave well enough alone? I've written up the state of my streaming setup here.
• 1 like
• 0 reposts
• 0 replies
• 0 mentions

## Quick site update

I’ll get back to the gory details of my webmention catcher later, but I’ve been doing a bit of site gardening. Hopefully this means that our index page is looking much nicer, and things are a bit more parseable by IndieWeb tools. Also, I hope, I’ve added some gadgetry that means that brid.gy will automatically tweet a link to this page once I’ve posted it.

I've been doing a bit of gardening on my blog and hopefully setting up auto tweeting too.
• 0 likes
• 0 reposts
• 0 replies
• 1 mention

## Keep it Simple, But Where's The Fun In That?

The beauty of using a static site generator to build your website is supposed to be that it’s all delightfully simple. Simple markdown formatted files go in at one end and a slim, fast and easy to serve website comes out the other end. All that remains is to upload those files to the appropriate directory on your server and all is well.

But never underestimate the ability of a long time Emacs user to complicate things.

• 0 likes
• 0 reposts
• 0 replies
• 1 mention

## We have WebMentions

Taking one more step on the road to full IndieWeb citizenship or whatever it’s called, Just A Summary now displays webmentions.

• 1 like
• 0 reposts
• 0 replies
• 0 mentions

## «tap tap» is this thing on?

In which Piers attempts to explain why he’s not been blogging in years, and makes vague noises about getting back to it again, in the hope that this time his IndieWeb inspired enthusiasm will last longer than a couple of weeks.

• 6 likes
• 0 reposts
• 0 replies
• 0 mentions

## Adding a generic oembed handler for Hugo

If you’re at all like me, you have content on a bunch of different sites (Instagram, Youtube, Flickr, Soundcloud, Bandcamp…) and, especially for multimedia content, it’s great to be able to link to ’live’ versions of that content. Of course, all those sites will let you ‘share’ content and usually have an ’embed’ option that hands you a bunch of HTML that you can paste into your blog entry. But screw that! I’m a programmer for whom laziness is one of the cardinal virtues – if it’s at all possible, I prefer to let the computer do the work for me.

Hugo1 sort of supports this out of the box with its youtube, instagram, vimeo etc. built in shortcodes. The thing is, they’re not lazy enough – you have to dig into each URL to extract a content ID and pass that in to {{% youtube kb-Aq6S4QZQ %}} or whatever. Which would be kind of fine, if you weren’t used to the way sites like Facebook, Twitter, Tumblr and so on work. With those sites, you enter a URL and they disappear off behind the scenes and fill in a fancy preview of the page you linked to. Why can’t Hugo do that?

• 0 likes
• 0 reposts
• 0 mentions

## My Virtual Gig-Like Thing

On Thursday the 9th of April at 7pm UK time, I’m streaming my first attempt at a full folk club style gig from my study to my Twitch stream and I would love for you to be there.

• 0 likes
• 0 reposts
• 0 replies
• 0 mentions

## A Wizard of Earthsea

This was the first.

Before I read Tolkien at the suggestion of the wonderful Miss Reese, my teacher for my last year of primary school; before I pulled Diana Wynne Jones, Alan Garner, Susan Cooper and others from the shelves of Bawtry’s small, but enchanting branch library; before Anne McCaffrey’s DragonSong found me in my school library and set a fire in my imagination. Before all that, I read A Wizard of Earthsea and it stuck with me.

• 0 likes
• 0 reposts
• 0 replies
• 0 mentions

## "A recipe is just a directed acyclic graph…"

In the last post I handwaved the way I represented bakery formulae in the bakery database, so here’s a little more detail. It helps to think of a bakery formula as a node on a directed acyclic graph with weighted edges, where the weights are literally weights. Here’s the graph a for a couple of products

• 0 likes
• 0 reposts
• 0 replies
• 0 mentions

## Running a bakery on Emacs and PostgreSQL

Just over a year ago now, I finally opened the bakery I’d been dreaming of for years. It’s been a big change in my life, from spending all my time sat in front of a computer, to spending most of it making actual stuff. And stuff that makes people happy, at that. It’s been a huge change, but I can’t think of a single job change that’s ever made me as happy as this one.

• 0 likes
• 1 like
• 0 replies
• 24 mentions

So, you want to play Devil’s Advocate, but you’re afraid you might come across as a bit (or a lot) of an asshole? Here’s some suggestions for how to avoid that.

• 0 likes
• 0 reposts
• 0 replies
• 0 mentions

## Bakehouse Diary

Back to the bakehouse

• 0 likes
• 0 reposts
• 0 replies
• 0 mentions

What’s going on?

• 0 likes
• 0 reposts
• 0 replies
• 0 mentions

• 0 likes
• 0 reposts
• 0 replies
• 0 mentions

## MacOS Sierra Niggles

I shouldn’t be surprised. Every time I upgrade the OS on my Macbook a few little behaviours I’d taken for granted start breaking. It’s just the way of the world. Here’s a couple of things I’ve fixed already

• 0 likes
• 0 reposts
• 0 replies
• 0 mentions

## Bakehouse Diary

Weeks 3–11 - Hurry Up and Wait

• 0 likes
• 0 reposts
• 0 replies
• 0 mentions

## Bakehouse Diary

Week 3 – Musical interlude

• 0 likes
• 0 reposts
• 0 replies
• 0 mentions

Week two – SQL

• 0 likes
• 0 reposts
• 0 replies
• 0 mentions

Week one – Rust

• 0 likes
• 0 reposts
• 0 replies
• 0 mentions

## Static migration

Finally catching up with Dominus

• 0 likes
• 0 reposts
• 0 replies
• 0 mentions

## We Deserve Better

One hundred years ago , we got caught up in a really stupid war. War’s never what you’d call a good idea, but the first world war is the benchmark of stupidity (unless you’re Michael Gove, but he’s fast becoming the new benchmark of stupidity).

Something strange happened at the end of the war. In 1914, only around 30% of the adult population had the vote. By February 1918, a general election was years overdue. The Russians had killed the Tsar and were embracing communism; the women’s suffrage movement was threatening to start up again; and millions of returning soldiers — men used to violence by now — would have no say in how they would be governed.

• 0 likes
• 0 reposts
• 0 replies
• 0 mentions

Where do Moose roles come from and what are they for?

• 0 likes
• 0 reposts
• 0 replies
• 0 mentions

Some things never disappoint. And reading Alan Turing is one of those things. In an earlier post I told an incorrect anecdote about Turing, and Russ Cox pointed me at proof, in Turing’s own words, that I was wrong. I don’t know why it’s taken me so long, but I finally got around to reading his /Lecture to the London Mathematical Society on 20 February 1947./

Wow.

• 0 likes
• 0 reposts
• 0 replies
• 0 mentions

## Big Data and Singing Crowds

I watched the rugby yesterday. England vs Wales at Cardiff Arms Pack. It was a great game of rugby - England were comprehensively outthought by a Welsh side with more experience where it counts, but by gum, they went down fighting to the very end. It’s going to be an interesting few years in the run up to the next World Cup.

While the game was going on, I found myself wondering why the crowd’s singing sounded so very good.

• 0 likes
• 0 reposts
• 0 replies
• 0 mentions

## Getting Softer

Welcome back. I realise that I left off without telling you how I’d chosen to wire the matrix up. I’m basing my layout on the Jesse’s “Blue Shift” layout:

However, the Maltron has a slightly different layout and I’m less gung ho about getting rid of the extra little finger keys, especially the left hand control and the shifts. The layout I’m starting from looks a little like this:

• 0 likes
• 0 reposts
• 0 replies
• 0 mentions

## Fun with solder

Where were we? Ah yes, I’d just unwired my Maltron, pulled out all the switches, ordered some Cherry MX brown stem keyswitches from a Deskthority Group buy and a Teensy++ from Pieter Floris. Now all I had to do was work out how I was going to wire the thing up. Jesse’s article had some great pointers, but as I disassembled the Maltron wiring loom, I gained a great deal of respect for their decision to use fine enamelled wire (which a bit of googling revealed to be solderable copper magnet winding wire - I bought some 30SWG stuff from wires.

• 0 likes
• 0 reposts
• 0 replies
• 0 mentions

## In which Piers prepares to void the warranty...

Some years ago (I have the awful feeling it was 1999) I was stricken with a bout of tingly numbness in my right hand. When you’re a computer programmer, the thought of being unable to type, and thus unable to program isn’t something you ever want to deal with. Terry Pratchett’s words about gnawing the arse out of a dead badger if it would make it better spring to mind. So, I replaced my mouse with a trackball, got a better chair and invested three hundred and some pounds of my own money in a Maltron keyboard.

• 1 like
• 0 reposts
• 0 replies
• 0 mentions

## Belated OSCON writeup

I had such fun. Though I’m never, ever, livecoding half an unwritten talk in an Emacs window again. You want proof? Also. I’m not dead, I’m just writing a book on Higher Order Coffeescript for O’Reilly and I alternate between bouts of horrid mental block and massive splurges of disorganized content where everything seems to be more important than everything else.

• 0 likes
• 0 reposts
• 0 replies
• 0 mentions

## Turing

Today is Alan Turing’s 100th birthday. I’ve been thinking about him lately, in particular about a story that demonstrates the perils of working with genius. The story goes that, when Turing was working with the Manchester Baby (the first stored program computer ever built. Just) a colleague wrote the first ever assembler which would turn (relatively) human readable assembly language and turn it into the ones and zeroes of machine code that the machine could actually execute.

• 0 likes
• 0 reposts
• 0 replies
• 0 mentions

## An instructive joke for all occasions

Two bulls were grazing at the bottom of the big pasture, when the farmer let a load of heifers in at the top gate. “Hey,” said the young bull to the old, “What do you say we run up there and fuck us a couple of heifers?” “Well,” said the old one, “You’re welcome to do that if you want to, but I plan on walking up there and fucking all of them”.

• 0 likes
• 0 reposts
• 0 replies
• 0 mentions

• 0 likes
• 0 reposts
• 0 replies
• 0 mentions

## References in Child of the Library

I sometimes think that I should have published the lyrics to Child of the Library with a bibliography. The references in the second verse are all obvious to me, but I’m a white middle class English boy who grew up around boats. My childhood reading and yours may not intersect all that much. So… The Walkers and the Blacketts Also known as the Swallows and Amazons. Swallows and Amazons is the first ‘big’ book that I can remember reading for myself.

• 0 likes
• 0 reposts
• 0 replies
• 0 mentions

## The Further Adventures of Child of the LIbrary

Orâ€¦ what I did this summer. Summer as been frantic. Mostly joyous, but frantic. I had talks accepted at both YAPC and OSCON. Because YAPC was in Asheville, and the Swannanoa Gathering Traditional Song Week fell the week after YAPC, that meant I flew out to Asheville for an intense fortnight of Perl community engagement followed by a week spent singing myself hoarse and being blown away by Sheila Kay Adams’s singing and her stories of mountain life and listening to future stars like Sam Gleaves and inspiring activists like Saro Lynch Thomason.

• 0 likes
• 0 reposts
• 0 replies
• 0 mentions

## A Child of the Library, revised

Here’s a revised version of A Child of the Library.

• 0 likes
• 0 reposts
• 0 replies
• 0 mentions

• 0 likes
• 0 reposts
• 0 replies
• 0 mentions

## Save Our Libraries

So, on Saturday, the opening line, and pretty much the entire tune, of a song banged on my head as we went to our local Library to fill our boots with books and generally get with the “Save our Libraries” message. Here it is. Sing it out. Sing it loud.

• 0 likes
• 0 reposts
• 0 replies
• 0 mentions

## The OSCON Proposal I really, really want to be accepted

Open Ears, Open Mind, Open Mouth. Music Making Made Easy Blurb Our bodies are the most versatile and sophisticated musical instrument we know. From the complexities of making at beat with our hands and feet to the surprising simplicity of harmony singing, we are all of us musicians. Abstract Musicmaking isn’t some kind of sophisticated profession that requires the intervention of gatekeepers and techno priests. You don’t need autotune, you don’t need a record label, you don’t need drums, a guitar or anything else but your hands, feet, ears, brain and mouth to make music that will satisfy you for the rest of your life.

• 0 likes
• 0 reposts
• 0 replies
• 0 mentions

• 0 likes
• 0 reposts
• 0 replies
• 0 mentions

## A Handy Builder Pattern

I’m working on a web service, and that means that I need to build lots and lots of mildly different looking HTTP requests with various combinations of headers and requested URLs. The camel’s back got broken this morning when I realised I didn’t want to be writing a method called ssl_request_from_uk_with_bad_cert, which builds me an HTTP::Request with a particular combination of headers, that I can use with Plack::Test to test our webservice.

• 0 likes
• 0 reposts
• 0 replies
• 0 mentions