lo.calho.st

  • posts
  • about

  • An ultra-low profile Chiffre: Le Oeuf Nov 22, 2024
  • My latest ergo design: the Solanum Sep 22, 2024
  • The server has been brought to life Jun 1, 2024
  • It's time for a new server May 12, 2024
  • Adapting to just 34 keys May 3, 2024
  • Expanding LVM PVs and LVs Apr 26, 2024
  • Stick a trackball on your keyboard Apr 14, 2024
  • Audio controls in Home Assistant using MQTT Apr 3, 2024
  • It's really easy to make a bike electric Apr 1, 2024
  • Introducing another split keyboard: the Chicklet Dec 27, 2023
  • Blue tape or Kapton? Why not both? Oct 20, 2023
  • A 60% ortho keyboard with a trackpad: tamago v2 Sep 28, 2023
  • Streaming QR code detection in Home Assistant Sep 27, 2023
  • It's always DNS; or: why I closed my Comcast Business account Sep 27, 2023
  • Geocircles Aug 24, 2023
  • Moving to Hugo and Cloudflare Pages Aug 23, 2023
  • The homelab post Aug 23, 2023
  • I designed another weird keyboard: tamago60 Apr 24, 2023
  • I made my custom keyboard wireless Mar 20, 2023
  • The intransmissible packet Mar 6, 2023
  • Keycard door access in Home Assistant Jan 12, 2023
  • Typing on a weird keyboard: a retrospective Dec 29, 2022
  • Adapting CEC controls to RS-232 Dec 26, 2022
  • Zip tie to smartify: the dumbest way to upgrade your appliance Sep 16, 2022
  • Scraping wildfire timeseries data with NLP Jun 5, 2022
  • Designing a split keyboard: the egg58 Apr 12, 2022
  • A demonstration of TDOA multilateration Feb 20, 2022
  • How not to build a gaming PC Feb 5, 2022
  • Revised smart doorbell adapter circuit Dec 11, 2021
  • Pulseaudio configuration for soundboard routing Jun 25, 2021
  • Adapting a smart doorbell to an incompatible digital chime Jun 19, 2021
  • Dependency and build management for sourcemod with sourceknight Jun 14, 2021
  • Tools to check for compromised Keepass passwords Nov 19, 2020
  • A highly customizable RGB controller implementation for Arduino Mar 28, 2020
  • Timelapses from Landsat data Mar 8, 2020
  • An automated workflow for fetching and mosaicing Landsat imagery Mar 7, 2020
  • Generating terrain meshes for 3D printing Oct 5, 2019
  • A graphical tool for configuring Alesis V-Series MIDI controllers on Linux. Nov 12, 2017
  • Reverse engineering the Alesis V-series SysEx protocol. Sep 8, 2017
  • Using black magic to make a fast circular buffer. Aug 15, 2017
  • Proving a mathematical curiosity. Jun 21, 2017
  • Generating spectrograms the hard way with numpy. May 18, 2017
  • Integrating GitLab and Google Calendar. Apr 25, 2017
  • Adding custom fields to packets in ndnSIM 2.3 without forking the entire repository. Mar 16, 2017
  • An idiot's guide to fulltext search in PostgreSQL. Feb 23, 2017
  • Fun with integer division optimizations. Feb 21, 2017
  • The problem with Python's datetime class. Jan 14, 2017
  • Using bcache to back a SSD with a HDD on Ubuntu. Jan 6, 2017
  • Parallelizing single-threaded batch jobs using Python's multiprocessing library. Dec 23, 2016
  • The fruits of some recent Arduino mischief. Dec 21, 2016
  • Optimizing MySQL and Apache for a low-memory VPS. Oct 17, 2016
  • Information-centric networking for laymen. Oct 8, 2016
  • Why are tuples greater than lists? Oct 3, 2016
  • Quick postfix & dovecot config with virtual hosts (Ubuntu 16.04) Aug 23, 2016
  • An easy way to visualize git activity Jun 11, 2016
  • Adventures in image glitching Jun 9, 2016
  • What's inside a PEM file? Apr 28, 2016
  • My first adventure with Let's Encrypt on nginx, dovecot, and postfix Mar 28, 2016
  • Demonstrating the double-DES meet-in-the-middle attack Feb 4, 2016
  • A fun experiment with Twilio Jan 9, 2016
  • No, fingerprints are not secure Dec 2, 2015
  • Time clocking at the command line Sep 2, 2015
  • A C++ encapsulation of the Linux inotify API Feb 1, 2015
  • RIOT OS ported to TI Tiva C Connected Launchpad Jan 31, 2015
  • Roll your own dynamic DNS (Ubuntu) Jul 24, 2014
  • Quick and easy OpenVPN server config (Ubuntu) Jul 21, 2014


© 2014 - 2024 Travis Mick. All rights reserved.