colourful words and phrases

techy tangents and general life chatter from a tired sysadmin.

Notes on Open Live Writer and Chyrp-Lite

In my specific environment, for some reason, the default code in IXR-Server::output(str) is Bad. Removing the header(str) calls allows it to work. Needs investigation as to what the fuckle is going on.

XMLRPC.php needs updated to map `blogger.getUsersBlogs` to `this:metaWeblog_getUsersBlogs`. Also needs to map `blogger.deletePost` to `this:metaWeblog_deletePost`

Need to check what the purpose of `/wlwmanifest.xml` is, as OLW requests it frequently

OLW doesn’t support markdown but Chyrp-Lite seems happy with the HTML it sends over. Need to work out how to add better styling (code blocks and inline code etc) to it, if that’s possible.

path for blogger.getUsersBlogs(garbage, user, passwd) is, includes/rpc.php –> includes/lib/XMLRPC.php –> includes/lib/IXR/Server.php –> serve() –> includes/lib/XMLRPC.php –> metaWeblog_getUsersBlogs() –> auth() –> includes/lib/IXR/Server.php –> output() –> sends some headers manually followed by the XML itself.

it DOES actually send it all (far as I can determine) so something else is wrong here; error could be happening between docker container and traefik loadbalancer, or between traefik loadbalancer and haproxy in opnsense.

my feeling is haproxy might be more likely at fault than traefik. unsure.

patches to submit:

- OLW should attempt metaWeblog.getUsersBlogs and metaWeblog.deletePost first when MetaWeblog is the selected API, for compatibility it could fallback to blogger.getUsersBlogs and blogger.deletePost if the MW equivalent fails

- OLW should be able to detect the RPC address via <link rel=”pingback”

- Chyrp-Lite XMLRPC should perhaps support blogger verbs as an alias to MW equivalent API calls

- I feel like maybe it’d be not bad to actually *use* the Client ID token transmitted as arg[0] in the getUsersBlogs call. maybe i’m wrong tho.

- pending investigation, IXR Server should not rawdog the output

Taking a ride on the Universal Serial Bus

Hello! I'd like to take a minute here to talk about some fun I've been having with the USB interface for the Paperang P1 and P2 portable thermal printers.

I discovered recently that these devices had a USB interface (I'd previously thought the USB port was only for charging the internal battery) when I stumbled onto the (Chinese-only) download page for the Paperang software, which contains something omitted from the English variant of the page; Mac and Windows software, and mentions of using USB to print.

Unfortunately the official Paperang software is very sparse in its featureset, and doesn't appear to properly communicate with the P2 model (It'll produce incorrect print results), so I was motivated to try and reverse-engineer the communications protocol used (a fantastic series of blog posts made by a good friend of mine on the subject of hacking a cheap chinese USB mouse provided added inspiration, and I sincerely recommend you read them).

Read more!

On encryption and jails

It was reported recently that Let's Encrypt had recently launched their private beta. As someone who does their best to ensure encryption is as widely-available as possible, I was excited.


New site, fantastically perl-y, because why not

Oops, and then I didn't have a blog for a few months. I pulled down my old blog (formerly located at, partially the .scot TLD launched and I wanted to move to as soon as possible, and partially because I wanted a blog system I was happier working with (The old blog was dotClear-based, and hosted at Gandi because it was a free addon and I was lazy. I'd looked around for a while to see what blogging systems I could try out, but I didn't want to go near Wordpress and none of the other systems really appealed to me. Some friends suggested I try Jekyll, but I couldn't really grok that; I also found Dapper online, but as far as static-site platforms go it wasn't the best for a blog. So I wrote my own.


Gone, but not forgotten

Just a short post today.