I was looking for some way of quickly dashing out melodies on the command line for playback similar to the old PLAY statement in GW-BASIC, but there doesn’t seem to be anything like that.
The closest I’ve been able to come to is using abcMIDI to accept a melody in abc notation and generate a MIDI file, and then having timidity play it back.
That means I have to learn abc notation.
Ah, memories! Recall writing a simple emulator for a subset of the 68000 instruction set once upon a time. Certainly one of the less sucky 16-bit processors.
All tools expand in functionality until they’re Turing complete.
Toggling mute on the default source (e.g. microphone) in PulseAudio
This isn’t very well documented, but if you want to toggle mute on your mic, run this:
pactl set-source-mute @DEFAULT_SOURCE@ toggle
A possibly overly cute game for teaching CSS flexboxes.
git bisect is great for finding where things went wrong, but not so great at finding where they went right, such as when a fix was introduced for an issue. This explains how to trick
git bisect into letting you do just that.
Vertex is a theme for GTK 3, GTK 2, Gnome-Shell and Cinnamon
And quite a pretty one at that.
Hi, NewsGator users (all two of you)!
The feed for this site seems to have been broken in NewsGator as they do some canonicalisation of URLs that doesn’t play well with the code for this site.
I’ve added a quick fix to the code to allow it to work again.
I’m not sure if the problem is on NewsGator’s end or mine, but I’ll investigate the relevant RFCs to see if I’m not canonicalising URLs properly on my end.
This evening’s mini-project.
I’ve been told that there’s some awkwardness with it and UEFI, but this looks like it works with FreeNAS pretty much out of the box, which is nice!
Again, this is going on my RPi 3.
Because I’m considering making my RPi 3 a hidden master DNS server and possibly doing DNSSEC zone signing on it rather than out in the wild.
This book intends to be a little guide about how to be the Erlang medic in a time of war. It is first and foremost a collection of tips and tricks to help understand where failures come from, and a dictionary of different code snippets and practices that helped developers debug production systems that were built in Erlang.
From the author of Learn You Some Erlang For Great Good!, which I’m going back over again to refamiliarise myself with the language after… oh… quite a long time.
A less horrible format for Python docstrings in Sphinx.
Keeping track of this stuff is something I’ve meant to do for a very long time, but never have. It’s not so much that I have a tight budget that I need to stick to so much as it would be nice to have traceability.
Kind of like a lightweight React. Not sure if I’m sold on it, but I know a couple of personal projects where it might be worth trying out.
Should do these. Probably won’t, but probably should.
A Vim plugin manager, like Pathogen or Vundle, but better!
I like the fact that it can do lazy loading and it can also automate a lot of nonsense surrounding updates.
Linux is a shitfest (from a BSD user’s perspective), but Windows is an even bigger shitfest, apparently.
Sorry for the downtime
You might’ve noticed this site was down.
What happened is that lir, the server it was running on, started experiencing drive issues. I’ve had to migrate as much as I can over to a VM in the meantime.
One pleasant upshot is that it’s allowing me to try out some stuff I hadn’t tried before. For instance, this site is now running on Nginx rather than Apache, and I’ve switched to using FreeBSD packages rather than ports. This latter change has its upsides and downsides, such as no longer running the site over HTTP/2 any longer, but overall is probably a positive.
The worst part so far was dealing with DNS as the VM formerly acted as a secondary nameserver running Knot DNS 1. In moving over, I switched from Knot DNS 1 to Knot DNS 2, which was painless enough in itself, but as I didn’t want the pain of setting up OpenDNSSEC again, I decided to using Knot DNS 2 to do zone signing… which lead to a number of zonefiles being overwritten. Thankfully, I keep everything in a git repo, so recovering the originals was straightforward, and I’ve updated the two most important domains - stereochro.me and talideon.com - with new DS records. I’ve two .eu domains (which aren’t actively used, and are mainly testbeds) where I need to provide the updated DNSKEY records to the registry.
Last up will be setting up mail again. I’m moving from Postfix to OpenSMTPd.
This isn’t really how I’d wanted to spend Paddy’s Day, but it’s the first free day I’ve had to do all this stuff.
The title’s a bit inflammatory, but the article itself is good. The headings mostly give a good summary:
- You probably won’t end up using just channels (due to dead goroutine leaks)
- Channels are slower than implementing it yourself
- Channels don’t compose well with other concurrency primitives
- Callbacks are strictly more powerful and don’t require unnecessary goroutines
- The channel API is inconsistent and just cray-cray
Also, linked half-duplex channels would be help the garbage collector, and it would be nice to be able to
select on condition variables.
Also, here’s a one-page version.
libpostal is super, super impressive!
Nice use of FIFOs and simple lock files in a shell.
tk.phpautodoc is sphinx extension to embed PHPDocs to sphinx document. It works like sphinx.ext.autodoc.
I’ve some legacy PHP stuff that needs documenting, and phpDocumentor is useless because it does only automated API documentation, and seems to be incapable of dealing with prose documentation, which, frankly, is a big bloody thing to omit from a documentation tool!
tk.phpautodoc looks like reasonable way of doing what phpDocumentor can do, except with Sphinx.