130 lines of bash to connect my headphones
BlueZ says "Connected: yes", no sound comes out. The bash script that escalates until Bluetooth headphones actually produce an audio sink.
If I don't write it down somewhere then I'll forget I did it. ...
BlueZ says "Connected: yes", no sound comes out. The bash script that escalates until Bluetooth headphones actually produce an audio sink.
A custom Ansible module that SigV4-signs AWS OpenSearch API calls to manage ISM policies idempotently.
Daily workflow for selling SPX iron condors: one slash command to open, one to manage, and two CSVs that hold every cash event.
This blog is a git repo of markdown files. I edit posts locally and push them live with a 440-line Python CLI ( bearblog.py , requests the only dependency). Bear Blog has no public API, so the CLI logs in with account credentials, keeps the session cookie, and drives the same dashboard form endpoints the web UI uses. python bearblog.py list # uid + title of every post python bearblog.py new…
Manage tenants as data, not code.
When you build an agentic tool, split the work by one question: does this step have a single correct output? If yes, write code. If no, write a spec the agent reads. I have a tool that picks and manages long-dated SPY call options. The split falls out cleanly. The numbers have one right answer, so they live in Python. One script fetches the chain and computes a delta for every contract; another…
I run self-hosted MediaWiki and put uploads in Linode Object Storage instead of serving them from disk. Linode is cheaper than AWS for my stack, and the AWS extension works with Linode’s S3-compatible API. Extension:AWS configuration for Linode My LocalSettings.php files look something like this: wfLoadExtension( 'AWS' ); $wgAWSCredentials = [ 'key' => getenv( 'LINODE_OBJECT_STORAGE_ACCESS_KEY' )…
I wanted log observability without paying for log retention. Datadog's free tier includes StatsD ingestion, so I wrote a script that uses a generator to tail the log file, parses out what I care about, and ships metrics without retaining anything. The example here counts response status codes from nginx access logs. Finding the Log File Docker writes container logs to a JSON file on the host. The…
I wanted a way to queue up social media posts from my phone or the web and have them go out on a schedule without paying for anything. Trello is free and has an API, so I used a Trello board as a post queue. No need to build a front end. What It Does You create Trello cards on a designated list. The card title becomes your post text. Attach an image and the card description becomes its alt text.…
In 2014 I had no problem getting interviews with my resume. A minimalist thing — where I've been, a few bullet points, some technology name drops. That was all it took to get companies on the phone. In 2026 that same approach wasn't getting past ATS filters. It turns out you need to keyword match the job description so their AI-driven screening software will pass your resume along to a human. So I…