If you get the LMIC_ERROR_TX_NOT_FEASIBLE error when doing TTNMapper or generally using the arduino-lmic library (my version is 3.3.0) then do this patch in src/lmic/lmic.c. This patch was shown to me by Chris from Accelerando Consulting. Original code: u1_t maxFlen = LMICbandplan_maxFrameLen(LMIC.datarate); if (flen > maxFlen) { LMICOS_logEventUint32("frame too long for this bandplan", ((u4_t)dlen << 16) | (flen << 8) | maxFlen); return 0; } New code adds a check for maxFlen: [Read More]

Course Syllabus for Making New Friends as an Adult

I wish a semi-sane version of this was real, to be quite honest. Course Objectives Making new friends as an adult is difficult, especially for students who have just turned thirty and are approaching the precipice of death. This class will teach you how to navigate this emotionally demanding field, so that you can finally make new friends who will never find out about that one time you ate mulch for seven dollars. [Read More]

Automatic RDP Certificate on Windows 10 Pro With LetsEncrypt

I’m sick of the “this doesn’t have a certificate” warnings. I: have a Windows 10 Pro machine want to use a LetsEncrypt certificate for RDP connections. don’t have an AD/IPA/whatever domain to join have the machine’s hostname in Cloudflare DNS In this example I’ll use workstation.example.com as the hostname I’ll connect to, change this for your own hostname. Install CertifyTheWeb. Copy this powershell script to somewhere you won’t delete it (eg. [Read More]

Design vs Implementation

I’m trying to make a small pogo-pin jig so that I can program the ESP8266’s that make up a lot of projects I play with. Similar to the design in the article “Pogo Pins Make Light Work of IoT Switches”, I want some modules I can clamp over the top of things like the Sonoff Basic R3 or the D1 Mini without soldering on wires or pins. The one I’m having the most fun with lately is the DETA wall switches - I can’t stand doing fiddly OTA updates - serial flashing my favourite build is just easier. [Read More]

Disappointing Padlocks

I have some tool boxes that have ammunition in them and I’m not exactly sure where they keys are. I figured I’d set myself the challenge to open them with the lock picks I bought years ago and never used. Literally pushed a pick all the way in once and the first lock popped open. Laaaame. Second one took about ten seconds of random jiggling. The LockPickingLawyer would be suitably ambivalent about them - I didn’t expect much from home-brand locks I bought from a place literally called “Super Cheap Auto” [Read More]

Monitoring cloudflared for fun and profit

This is a very hacky script for monitoring cloudflared, it requires curl and jq, which I think you should have on there anyway You need the following line in the config.yml file, which sets cloudflared to expose the metrics/monitoring endpoint, or --metrics localhost:40355 on the command line: metrics: localhost:40355 And… here’s the script. TL;DR, it checks the /ready endpoint, which returns {"status":200,"readyConnections":4} on good, or a 503 on not-working. #!/bin/bash SYSTEMD_TOPIC="cloudflared_monitoring" METRICS_PORT="40355" CLOUDFLARED_STATUS="$( curl --silent --max-time 5 "http://localhost:${METRICS_PORT}/ready" | jq -r '. [Read More]

Apple M1, terraform and golang

I was trying to apply a messy terraform config recently and kept running across an issue where the AWS provider would seemingly just get itself hung, using ~150% CPU. Killing it, deleting the terraform.tfstate and init/refresh/apply seemed to make it work sometimes. I thought I was having network connection issues, as it’d hang in random parts of a refresh or something like that. The cause Turns out it’s an issue with Rosetta 2 and golang fighting. [Read More]

Facebook Messenger weirdness on macOS

I’m stuck using Facebook Messenger, and they love trashing system performance in the browser, so I tried the “native” macOS app recently. I’m not sure what I did, but after posting a sick medieval meme, it started reloading itself over and over. Kill, open, repeat - it just hung. Stuck cache? This is starting to turn into a theme… I figured deleting cache things worked last time, let’s try it again… [Read More]

IPA and the Stuck Cache

Went to grab a krb ticket today, and this was a fun error to get. I checked all the usual timestamp things… nothing wrong there. [[email protected] 15:41 ~]$ kinit Password for [email protected]: kinit: Clock skew too great while getting initial credentials It wasn’t happening for anyone else, and it was working earlier, so that’s weird. This was the error in the log files, that someone helpfully grabbed: Dec 10 15:45:08 ipaserver. [Read More]

AWS on Hosting Your Own DNS Services

Having just built a cluster of PowerDNS Authoritative servers in AWS, behind the Global Accelerator product, this AWS Security Blog Post gave me some great confirmation that I did things properly! 🧐 [Read More]