I went to pull the gadgetbridge repo today and look at this shit. Someone issued a DMCA takedown because "reverse engineering of my work or sharing images from my work is strictly forbidden"?! Fuck off asshole, you can't copyright that. Apparently the reverse engineering is bluetooth logs. What a dick.

This Belkin Lightning cable's connector just cracked open… but I put it back together. One half locks into the other. Good design.

Apple just announced a new image codec that's based on HEVC but it's not named BPG?! New proprietary thing? No, an ISO standard apparently, created by MPEG.

It's sad that Apple likes MPEG though. I wish they didn't hate Google and just adopted WebP.

So Amazon Lambda has a 6 MB limit on request (and response) size. Binary files have to be Base64 encoded (LOL) which makes the limit even SMALLER! So my micropub media endpoint chokes on full DSLR resolution photos. Yeah the "right way" is to have the API Gateway endpoint upload to S3, and the upload event trigger the Lambda processing which would download from S3, and use a separate Lambda for authentication on that endpoint… but I need the processed URLs in the response body. I need everything to happen in one request! How did AWS engineers not see that use case coming?!

People running Postgres on ZFS in Serious Production™ will tell you to set recordsize to 8k or 16k, because performance. Don't listen to them if you're just running personal stuff on VPSes with expensive storage! Small recordsize kills compressratio. So turn it up and rewrite the database with VACUUM FULL ANALYZE. (My Matrix server: going up from 16K to 128K raised compressratio from 2.11x to 3.08x! That's with lz4.)

Mozilla finally approved Transmitter! Finally!

If that's the new "streamlined review process" I can't imagine how slow the old one was. Although I definitely got into the big initial wave of everyone publishing WebExtensions…

Seems like the node.js world isn't too excited about WebAssembly on Node. Come on, it's cool! You could just take a node_modules folder full of image encoders, crypto libs and compressors from a Windows machine to a Raspberry Pi running FreeBSD and it would just work! (And it's sandboxed.)

Quake Champions is awesome (as in the gameplay — performance is meh).

Amazon Web Services is not awesome: it wasn't really obvious that promotional credits aren't spent on reserved EC2 instances :( Also HardenedBSD was behaving weird on it (secadm kernel panic, Python libssl segfaults).

But with regular FreeBSD I've set up a Matrix homeserver (Synapse) on EC2! I am now @greg:unrelenting.technology :) It's working as my new IRC bouncer, so with that I've been able to say goodbye to the previous VPS that served this website (which was still running my ZNC).

It's terrible hot take time:

React is capitalist. Since it's been ported to many platforms (browsers, node.js, iOS, Android, now even Sketch) it is designed to let businesses reach customers on all platforms with less development effort, instead of hand-crafting apps that care about each individual platform's users. And there's a sort of lock-in, you're not a web/iOS/Android developer, you're a React developer. That's kinda like businesses trying to lock you in to their ecosystems (Apple, Microsoft).

In contrast, Polymer is good and communist fully embraces the web as the only platform, which is good for the open web.

Since 2017-02-01 I've been working on a big change to Sweetroll, the engine that powers this website, and today it's finally live, right here! (Also it's now on my newer VPS, hosted at prgmr and running HardenedBSD 11. The old one was FreeBSD 10 at DigitalOcean.)

tl;dr about the change: from one Haskell app powered by a Git+JSON store and embedded Duktape templates (lol) to two services (Haskell + Node.js) backed by Postgres. It's really cool. I'll be writing more documentation for it soon.

I just realized that it’s possible to make a WebExtension version of micro-panel. Not sure if that enables any cool benefits though… maybe using one token for the panel and a share panel in the browser or something.