About me I've been a computer programmer since I first started typing in program listings on a Commodore Vic 20 when I was about 8. My hobbies include electronics, CNC manufacturing, photography, beer and winemaking.
I live with my wife and lots of left-over parts from unfinished projects in Lincoln, Nebraska, USA.]
Blog
20 June 2026, 13:45 UTCPython multiline input: Using _pyrepl in your own code
19 May 2026, 3:41 UTCThe oldest bug I ever fixed? (no)
1 May 2026, 21:49 UTCHaving fun programming
9 March 2026, 20:55 UTCradix40 encoding
15 December 2025, 2:34 UTC"interlz5" in Python -- Apple II text adventure adventures
26 November 2025, 16:09 UTCJunk drawer & embedding
10 October 2025, 20:56 UTCThick As A Brick / St Cleve Crossword solution
8 September 2025, 15:06 UTCMigrating from github to codeberg: existing readthedocs projects
26 August 2025, 13:18 UTCVariations on 'if TYPE_CHECKING'
15 May 2025, 14:33 UTCDear Julian
30 December 2024, 19:06 UTCMutual Tail Recursion in Python, fully mypy-strict type checked
6 October 2024, 19:32 UTCEnabling markdown
6 October 2024, 14:15 UTCTalking directly to in-process tcl/tk
26 July 2024, 0:17 UTCVintage X Bitmap Font "VT100 graphics characters"
9 July 2024, 2:33 UTCdatetime in local time zone
1 July 2024, 18:44 UTCSunflower Butter aka Sun Butter or Sunbutter (plus Chocolate Sun Butter)
2 June 2024, 12:31 UTCAn efficient pair of polynomials for approximating sincos
31 May 2024, 2:04 UTCLeaving my roles in LinuxCNC
13 January 2024, 15:04 UTCLinux ThinkPad T16 Microphone "Muted" Indicator
15 November 2023, 20:46 UTCNotes on using skyui with Skyrim Anniversary Edition from GOG
7 July 2023, 13:49 UTC"Letter Boxed" puzzle statistics
6 July 2023, 19:04 UTCNYT "Letter Boxed" solver in C++
8 June 2023, 22:51 UTCConservation of Experience
11 May 2023, 12:27 UTCXerox 820 & CP/M
27 March 2023, 0:01 UTCWelcome to the Polity
15 March 2023, 19:31 UTCOne way to fix pip externally-managed-environment error in debian
21 December 2022, 15:12 UTCA quick example of transforming Python with libcst
7 November 2022, 1:35 UTCLocal coordinate systems in OpenSCAD
4 September 2022, 2:11 UTCRecent keyboard deeds
31 August 2022, 2:14 UTCDon't wreck your system with miniconda/anaconda
15 April 2022, 16:23 UTCGenerate the 64 GCR values used by Apple DOS 3.3 and ProDos
15 April 2022, 2:14 UTCAn interesting finding about Apple DOS 3.3 diskettes
15 March 2022, 21:13 UTCAn interesting Disk ][ Interface Card Fault
29 January 2022, 19:38 UTCStuff I did in 2021...
5 January 2022, 3:44 UTCWhere should CircuitPython go in 2022?
7 December 2021, 15:07 UTCThe Most Surprising Optimization I've Seen Lately
3 November 2021, 21:27 UTC80columns
31 October 2021, 14:17 UTCEstimating WWVB Signal Health
30 October 2021, 21:12 UTCUse printf() in Arduino programs
25 October 2021, 2:19 UTCCWWVB: Putting what I've learned about WWVB to use in a new decoder
21 October 2021, 0:23 UTCWWVB Observatory
5 October 2021, 23:41 UTCMy experience adding type annotations to a 2.5k-line Python library
18 August 2021, 19:03 UTCUsing Adafruit Macropad as LinuxCNC Control Pendant
9 August 2021, 23:44 UTCOBS "insert current timestamp" hotkey
5 August 2021, 15:41 UTCCollatz-bolge: A non-universal language, unless the Collatz Conjecture is false
13 July 2021, 21:05 UTCHybrid Keyboard Descriptor supports Boot & NKRO
10 July 2021, 19:12 UTCCircuitPython NKRO Keyboard
24 June 2021, 1:43 UTCQuick CircuitPython Driver for ES100 WWVB Receiver
15 June 2021, 14:24 UTCwwvb uploaded to pypi
13 June 2021, 1:15 UTC7 1/2 years of Prius fuel economy
26 May 2021, 17:54 UTCSemi-revived: Novelwriting
18 April 2021, 14:45 UTCMore Fibonacci?
13 April 2021, 2:30 UTCUpdated 'On the license of my Free Software'
9 March 2021, 16:23 UTCSome exercises from Technical Drawing (Giesecke et al., 1949)
24 February 2021, 2:57 UTCCalculating unreasonably large Fibonacci numbers quickly
3 February 2021, 14:20 UTCHeat-staking in 3D prints
30 January 2021, 16:21 UTCwwvbtk: Visualize wwvb timecodes with Tkinter
23 January 2021, 16:42 UTCWrap text according to font width in CircuitPython
6 January 2021, 1:06 UTCSeven Years of Prius (2013) Fuel Efficiency
2 January 2021, 15:30 UTCWhere should CircuitPython go in 2021?
1 December 2020, 2:37 UTCForkAwesome font converted for CircuitPython
6 November 2020, 1:54 UTCHead Scratching C(++) Bug
1 November 2020, 16:18 UTCwwvbgen updates
7 September 2020, 14:31 UTCPi Zero W USB Proxy
27 August 2020, 21:10 UTCGPS and relativity
18 August 2020, 1:55 UTCSome notes on the Si5351a
16 August 2020, 18:05 UTCSi5351 Frequency Planner in Python
18 July 2020, 13:21 UTCQuad CharliePlex FeatherWing hack
17 July 2020, 21:37 UTCMinimal Time-Zone Handling for CircuitPython
16 July 2020, 18:22 UTCCalibrating the DS3231 and PCF8523 RTCs
16 July 2020, 15:12 UTCHelpful Scripts for CircuitPython & Real Time Clocks (RTCs)
9 July 2020, 17:55 UTCRaspberry Pi Gross Hacks
29 June 2020, 1:19 UTCSoftware I want: Self-hosted 3D-printing static site
16 June 2020, 14:04 UTCBlack Lives Matter
19 March 2020, 19:41 UTCUpdates
2 January 2020, 21:15 UTCSix Years of Prius (2013) Fuel Efficiency
25 June 2019, 1:39 UTCFuture directions for SCORPION STARE: 2022 Grant Recipients
6 June 2019, 12:19 UTCYet another Raspberry Pi Stratum 1 NTP server
3 June 2019, 1:17 UTCPrecision vs Accuracy: A Clock
14 May 2019, 20:45 UTCGenerating "Table 6" of the withdrawn SIMON-32/64 paper
8 May 2019, 21:53 UTCCura vs GPX vs dual extruder temperature: A FIX!
22 April 2019, 23:18 UTCKardashev and Drake were wrong: The galaxy is full of hard to detect, slow-growing civilizations
20 April 2019, 15:11 UTCHello, Allo
20 April 2019, 14:54 UTCAnother Qidi Tech I update
7 April 2019, 20:42 UTCLinux: don't wake display on mouse motion
9 March 2019, 1:33 UTCThe Drake-Howard Equation
23 February 2019, 16:52 UTCRe: Ideas box submissions
1 January 2019, 18:56 UTCQidi Tech I
1 January 2019, 15:51 UTCFive Years of Prius (2013) Fuel Efficiency
27 December 2018, 16:17 UTCPierre, 2001-2017; Marie, 2001-2018
18 November 2018, 20:59 UTCCodeword TESTAMENT COBALT
22 October 2018, 20:57 UTCCodeword BISON ZENITH
22 October 2018, 20:16 UTCCodeword BISON MERIDIAN
28 July 2018, 13:19 UTCGPSDO: An attempt that is too simple
24 July 2018, 2:18 UTCkeyestudio gps shield as frequency counter
15 July 2018, 15:59 UTCFun with frequency
30 April 2018, 22:42 UTCAll integers 0 through 1,000,000 from short, digitless dc programs
23 April 2018, 2:50 UTCCode size for bit reversing algorithms
26 March 2018, 23:51 UTCFuzz-testing CircuitPython
17 February 2018, 17:31 UTCWatch Repairs
10 February 2018, 2:58 UTCFinding all numbers produced by short, digitless 'GNU dc' programs
2 January 2018, 19:48 UTCFour years of Prius (2013) fuel efficiency
6 August 2017, 2:26 UTCpoc: Python OCE Composer
1 August 2017, 0:48 UTCoccmodel as Python alternative to openscad
12 July 2017, 14:34 UTCMP Select Mini: Heated Bed Repair
6 June 2017, 11:54 UTCMy internet usage would fit on six 33.6kb/s modems on average
18 May 2017, 0:16 UTCMonoprice Select 3D Printer Review (part 4)
3 May 2017, 0:22 UTCMonoprice Select 3D Printer Review (part 3)
19 March 2017, 20:16 UTCTime Reversed Cosmology
7 January 2017, 13:50 UTCMonoprice Select 3D Printer Review (part 2)
3 January 2017, 23:02 UTCThree years of Prius (2013) fuel efficiency
19 November 2016, 19:08 UTCMonoprice Select Mini 3D Printer Review
16 November 2016, 2:04 UTCMonoprice Select Mini, sight unseen
11 October 2016, 20:16 UTCSome small github integration scripts
17 September 2016, 16:08 UTCLinuxCNC on BeagleBone Black, Raspberry Pi, Odroid U3, Odroid XU4
19 August 2016, 14:38 UTCWill an Electric Vehicle save on CO₂ emissions anyway?
17 August 2016, 12:51 UTCImagine (software developer version)
11 August 2016, 22:07 UTCDoes an electric car make economic sense?
10 August 2016, 11:56 UTCLinuxCNC on Beagle Bone Black
9 August 2016, 1:54 UTCLinuxCNC: Which kernel, which package?
26 July 2016, 16:23 UTCStar Trek: Beyond as a 4-episode mini arc
23 June 2016, 11:50 UTCInstalling and testing jessie-backports realtime kernels from debian archive
18 June 2016, 17:13 UTCSaturday Software Project: VIC 20 Incremental Game
11 June 2016, 1:04 UTClinuxcnc: Getting to the compile errors on freebsd
9 June 2016, 15:43 UTCCapital Laundry Services document leak
7 June 2016, 1:40 UTCBye Bye Netflix (blacklisting he.net ipv6)
19 March 2016, 23:35 UTCNew Desktop 2016
1 March 2016, 2:56 UTCLiteral copying of GPL code into ZFS on Linux
16 January 2016, 22:15 UTCAncho Reyes Hot Chocolate
30 December 2015, 19:38 UTCCoolest C Preprocessor Trick of the Year
2 December 2015, 23:12 UTCFree Software, Meritocracy, and why I try to listen when 'SJWs' speak
11 November 2015, 13:58 UTCCommunity Builder reCAPTCHA
4 November 2015, 15:34 UTCHTTPS enabled thanks to Let's Encrypt
12 October 2015, 14:03 UTCNEJE "ROSH" 300mW laser engraver with LinuxCNC
8 October 2015, 19:52 UTCTurning off ads and google analytics
10 September 2015, 13:02 UTCSuper Formula Guilloché Patterns in javascript/svg
1 September 2015, 14:39 UTCDragonBoard™ 410c with rt-preempt failure
5 August 2015, 13:13 UTCProven Delights (and what are proofs anyway)
28 February 2015, 21:32 UTCHazelnut Coffee and Hazelnut-Sunflower-Chocolate Butter
19 February 2015, 19:31 UTCCheating at incremental games using angularjs
13 January 2015, 15:43 UTCMaria Island
2 January 2015, 13:55 UTCOne year in a Prius
17 December 2014, 17:37 UTCFirst Half of Tasmania
9 December 2014, 23:14 UTCUptime on digitalocean
12 November 2014, 0:42 UTCGreat Ocean Road
24 October 2014, 15:40 UTCLinuxCNC at TXRX Labs
14 October 2014, 13:47 UTCSprint recompression of JPEG files
10 October 2014, 1:30 UTCHalls Gap Zoo
1 October 2014, 14:10 UTCDigital Ocean vs Atlantic.net: Some simple (and simplistic) benchmarks
20 August 2014, 14:04 UTCKingfisher Cruise
7 August 2014, 11:22 UTCOdroid U3 with kernel 3.8.13.14-rt31
27 July 2014, 2:13 UTCMinnesota 2014
22 July 2014, 16:52 UTCTasmania #2
14 July 2014, 14:31 UTCWho's most forgetful? Mac users.
24 June 2014, 12:35 UTCBetter pasting for irssi in X
22 June 2014, 17:56 UTCA Faster-than-light travel idea for SF setting
22 June 2014, 1:36 UTCNiagara Falls, NY State & Penn State
15 June 2014, 19:19 UTCTasmania Sites #1
3 June 2014, 2:59 UTCZoos in Victoria
17 May 2014, 20:10 UTCHealesville Sanctuary
15 May 2014, 16:28 UTCSamsung ARM Chromebook: the portable I've always wanted
10 May 2014, 16:53 UTCMore Sites Around Victoria
30 April 2014, 21:14 UTCTowards fast I/O in Arduino for AVRs
18 April 2014, 20:27 UTCVictoria Sites
15 April 2014, 1:36 UTCGemCraft: Chasing Shadows "Grey Trees" puzzle
13 April 2014, 14:12 UTCGemCraft: Chasing Shadows compass puzzle
8 April 2014, 15:41 UTCHacking flash apps...
30 March 2014, 18:59 UTCAustralia: Granite Gorge, Fitzroy Island and Lake Barrine
21 March 2014, 19:10 UTCPort Douglas Wildlife Habitat
13 March 2014, 1:27 UTCSouthern Florida Nature
9 March 2014, 18:02 UTCFlorida 2014 (mostly Everglades)
24 February 2014, 13:10 UTCHow do you check a signature on a PGP/Mime message
23 February 2014, 2:11 UTCNorthern Georgia Waterfalls
19 February 2014, 21:17 UTCRed: the perfect unit of measurement?
15 February 2014, 14:35 UTCTropical Rainforest
3 February 2014, 22:33 UTCAustralian Coral Reefs
31 January 2014, 18:05 UTCMosh automatic cleanup of dead sessions
30 January 2014, 1:01 UTCBig Day Out
27 January 2014, 18:03 UTCRoyal Botanic Gardens Melbourne
25 January 2014, 16:17 UTCCtrl-digit to switch to tab on Linux Firefox
24 January 2014, 17:06 UTCGot A Chromebook
23 January 2014, 22:18 UTCpnacl vs Debian Jessie
2 January 2014, 15:07 UTCEek, ads
21 December 2013, 3:53 UTCFirst few weeks on Digital Ocean
13 December 2013, 23:26 UTCBenchmarking ungeli on real data
6 December 2013, 19:31 UTCChanging hosting providers
2 December 2013, 19:30 UTCmailpie moves to github
30 November 2013, 2:29 UTCDecrypting geli volumes with portable software
25 November 2013, 17:53 UTCButternut Squash Casserole (a Kirst Family Recipe)
25 November 2013, 2:31 UTCEncrypted ZFS for off-site backups
23 November 2013, 18:19 UTCSNTP from Python: getting server's esimate of time quality
20 November 2013, 17:06 UTCTCP connections to X server
4 November 2013, 21:38 UTCreport-if-fail, replace-if-success
9 October 2013, 13:11 UTCMy ZFS replication script
2 October 2013, 19:19 UTCCallcentric "click 2 dial" commandline client
30 September 2013, 14:19 UTCGNU 30th—Celebrating 30 years
19 September 2013, 1:34 UTCDebugging realtime components in UBC3
16 July 2013, 16:32 UTCRotary Delta Kinematics
15 July 2013, 14:29 UTCGot a 3D printer
12 July 2013, 11:28 UTCLinear Delta Kinematics
4 June 2013, 14:43 UTCrepitch: adjust audio by semitones during replay
20 May 2013, 21:37 UTCtardiff: diff two (compressed) tar files without extracting
9 May 2013, 18:43 UTCI hope my kfreebsd box is still bootable...
24 April 2013, 2:51 UTCDropping Amazon Prime...
8 April 2013, 2:50 UTCJust bottled
4 April 2013, 12:50 UTCMore new hardware: Lenovo Thinkpad T530
2 April 2013, 14:15 UTCGPG Key
16 March 2013, 14:32 UTCNew thing: BlurBlog
6 March 2013, 13:59 UTCAdventures in localization
19 February 2013, 22:42 UTCOnline Anagrammer with AJAX
6 February 2013, 14:59 UTCThe growth of Unicode over time
17 January 2013, 16:34 UTCmoinmoin cleanup script
14 January 2013, 13:42 UTCHash saturation calculator
4 January 2013, 20:37 UTCScreen-scrape ting device usage
10 December 2012, 20:21 UTCNew hardware
1 December 2012, 16:52 UTCOpenID Delegation is easy!
1 December 2012, 1:12 UTCAndroid "Birds of Australia" unpacker
14 October 2012, 21:23 UTClvm + snapshots + uuid = assbitten
9 October 2012, 23:26 UTCTraining Farm kickstarter
9 October 2012, 2:30 UTCFTL (un)packer for Linux
8 October 2012, 22:50 UTCConnectbot patches for Nexus 7 + Bluetooth Keyboard
1 October 2012, 15:49 UTCChange
6 September 2012, 14:44 UTC2008 Honda Fit Sport tire size
20 August 2012, 2:30 UTCFitler: munge long headers for display in mutt
15 August 2012, 13:01 UTCHow to become a felon: by reading the newspaper edition
30 July 2012, 20:08 UTCFun with iBird on android
16 July 2012, 23:30 UTCSalsa-Poached Huevos Rancheros
28 June 2012, 16:24 UTCFriendlier unicode entry in rxvt-unicode
13 June 2012, 12:49 UTCStippleGen 2—Stippler, turned friendly
29 May 2012, 13:03 UTCA use for log1p
14 May 2012, 14:15 UTCLG Optimus S on ting MVNO
2 May 2012, 0:31 UTCHosting Troubles
4 April 2012, 12:54 UTCdusub: Subtract two 'du'-style listings
14 March 2012, 15:04 UTCGoogle Literal Search for Firefox
13 March 2012, 14:26 UTCConcept: Using rolling shutter for digital IS
7 March 2012, 15:42 UTCCancellation error
6 March 2012, 1:41 UTCWWVB CRT mock-up
6 March 2012, 1:35 UTCEvery once in a while, ssh is too slow
29 February 2012, 15:42 UTCHalf-maximize script for Linux
28 February 2012, 3:19 UTCEvery once in a while, Python is too slow
19 February 2012, 16:54 UTCsorttop: show the biggest values as a program runs
10 February 2012, 2:55 UTCHTC Detail on ting MVNO
22 January 2012, 20:54 UTC15 years of photography
20 January 2012, 13:51 UTC30+ years of computers
18 January 2012, 1:11 UTCTransfer of contacts from LG Remarq to Debian GNU/Linux
16 January 2012, 13:36 UTCMoving my blog hosting
5 January 2012, 23:12 UTCTime to finish that languishing clock project!
27 December 2011, 20:35 UTCIt's gratifying when the compiler is right
18 December 2011, 14:42 UTCNeed another reminder to steer clear of non-Free software?
13 December 2011, 2:29 UTCIngrid's Canadian Rockies Photos
11 December 2011, 2:40 UTCNew Site Look
25 October 2011, 14:23 UTCCheeseball Barley Wine
16 October 2011, 15:31 UTCcsql: perform sql queries on csv data
16 October 2011, 13:20 UTCSource: USB Stacker for EOS Cameras
11 October 2011, 3:17 UTCFocus Stacking Success
20 September 2011, 18:49 UTCtnef2mime: automatically extract parts from winmail.dat
13 September 2011, 12:53 UTCCaching
12 September 2011, 20:29 UTCWWVB clock progress
9 September 2011, 12:04 UTCSorry, RSS Readers
6 September 2011, 22:38 UTCSunday at the Zoo
28 August 2011, 22:49 UTCEnabling caching of my blog...
26 August 2011, 2:25 UTCTwo days in Banff
24 August 2011, 22:24 UTCCanada: Calgary
14 August 2011, 18:57 UTCCanadian Rockies Panoramas
13 August 2011, 17:58 UTCLinux RAID Misdetection (and fix)
25 July 2011, 13:41 UTCwwvbpy: WWVB timecode generator in python
23 July 2011, 19:15 UTCCalifornia: Odds and Ends
19 July 2011, 2:16 UTCIngrid's California Photos (part 2)
18 July 2011, 1:27 UTCIngrid's California Photos (part 1)
26 June 2011, 18:44 UTCElkhorn Slough Boat Tour
23 June 2011, 21:38 UTCSide track: wwvb links
22 June 2011, 20:19 UTCTowards my GPS LED Light Clock
16 June 2011, 3:41 UTCMonterey Bay Aquarium - Jellyfish
14 June 2011, 3:18 UTCSome California Photos
31 May 2011, 12:39 UTCMandelbulber fractals
27 May 2011, 12:44 UTCSearch kindle store by price, sort-of
19 May 2011, 20:49 UTCsrtrename: rename subtitle files to match video files
18 May 2011, 12:54 UTCalmost-integers from tan()
18 April 2011, 15:42 UTCFractal animation
8 February 2011, 14:01 UTCurxvt: on-the-fly font changing
1 February 2011, 16:33 UTCCustom compose sequences in X
12 January 2011, 23:43 UTC300mm at the zoo
12 January 2011, 14:00 UTCAbstract Magnet Photos
7 November 2010, 14:09 UTCDebian? Sounds good to me!
17 July 2010, 21:32 UTCDresden Photos
10 June 2010, 12:23 UTCJeff's Barcelona Botanical Garden Photos
6 June 2010, 20:23 UTCJeff's Barcelona 2010 photos
28 May 2010, 1:29 UTCApfelwein Success
22 May 2010, 17:25 UTCPhotos from Marburg
17 May 2010, 1:35 UTCFrankfurt Palmengarten
13 May 2010, 0:15 UTCPhotos from the Barcelona Botanic Garden and nearby
3 May 2010, 14:27 UTChostmot2-firmware 0.6 released
1 May 2010, 15:24 UTCMaking Cider
29 April 2010, 18:49 UTCAll my Europe 2010 photos
21 April 2010, 8:14 UTCFrankfurt Palmengarten
3 March 2010, 13:22 UTChostmot2-firmware 0.5
3 March 2010, 13:15 UTCRELEASED: emc 2.3.5
5 February 2010, 23:47 UTCSoldering "helping hands" made with Loc-Line coolant hose
16 January 2010, 23:23 UTChostmot2-firmware 0.4
31 December 2009, 15:23 UTCInstalling Ubuntu 9.10 on TA790GX XE + AMD Athlon II X2 245 Regor
20 December 2009, 0:49 UTCLights
10 November 2009, 16:00 UTCArduino Random Number Generator
28 October 2009, 14:37 UTCRELEASED: emc 2.3.4
14 September 2009, 1:47 UTCIngrid's Minnesota Photos
7 September 2009, 0:41 UTCLauritzen Gardens
30 August 2009, 23:35 UTCMinneapolis Bugs and Stuff
20 August 2009, 22:48 UTCZenbot is back in business
15 August 2009, 2:16 UTCMisc. Macros
13 August 2009, 0:59 UTCFortune cookies
2 August 2009, 15:04 UTCMore photos from the yard
24 July 2009, 2:42 UTCView my photostream
24 July 2009, 2:19 UTCCropGUI 0.1.1: now with gtk
22 July 2009, 0:30 UTCIngrid's Garden
21 July 2009, 2:18 UTCIngrid's photos from Chicago
19 July 2009, 21:09 UTCChicago: Garfield Park Conservatory
9 July 2009, 21:55 UTCWasps!
7 July 2009, 12:10 UTCRELEASED: emc 2.3.2
4 July 2009, 1:35 UTCKC Photos 2009
29 June 2009, 12:19 UTCat90usb162 single-sided board
29 June 2009, 1:20 UTCPowell Gardens
22 June 2009, 1:41 UTCZenbot upgrades
26 May 2009, 12:58 UTCTwilight hack source code
25 May 2009, 21:20 UTCRemebering values between runs of emc
17 May 2009, 18:36 UTCReleased: EMC 2.3.1
12 May 2009, 14:33 UTCg++ trick for initializer lists
6 May 2009, 2:10 UTCWildlife Safari visit
5 May 2009, 1:43 UTCqq: quick & dirty terminal
2 May 2009, 12:56 UTCNew hardware
1 May 2009, 13:34 UTCDAT-160 USB tape drive on Linux
19 April 2009, 19:35 UTCRELEASED: emc 2.3.0
19 April 2009, 2:16 UTCKansas City, St. Louis, and Champaign trip
31 March 2009, 22:02 UTCNetflix 'Watch Instantly' problems
29 March 2009, 16:14 UTCBeta release: emc 2.3.0beta2
21 March 2009, 15:54 UTCHenry Doorly Zoo
20 March 2009, 23:42 UTCEmergent Blog, now with 100% more CNC
19 March 2009, 18:30 UTCTags
19 March 2009, 14:34 UTCAll the florida photos
19 March 2009, 2:36 UTCFlorida Birds
17 March 2009, 16:19 UTCShow recent e-mail in screen title bar or status bar
13 March 2009, 1:33 UTCFacepalm of the day
9 March 2009, 23:04 UTCIngredients Fail
1 March 2009, 19:47 UTCIngrid's Florida Trip Photos
1 March 2009, 2:54 UTCFlorida: Mostly Orchids
28 February 2009, 21:40 UTCFlorida: Animals
28 February 2009, 4:13 UTCFlorida: Non-Orchid Plants
24 February 2009, 23:09 UTCcropgui: A Linux GUI for Lossless JPEG Cropping
20 February 2009, 22:04 UTCFlorida: Bugs and Spiders edition
20 February 2009, 1:25 UTCFlorida: Fruit and Spice Park, and Everglades
14 February 2009, 16:24 UTCCanon Digital Rebel XSi (450D) on Linux Ubuntu Hardy 8.04
2 February 2009, 21:32 UTCTesting spindle-synced motion
31 January 2009, 16:29 UTCRed Alert Box
5 January 2009, 23:26 UTCSmart gnumakefiles are smart
20 December 2008, 19:21 UTCUserspace driver for resistive "pen tablet" of XO-1 laptop
19 December 2008, 15:55 UTCmouse wheel mpg
17 December 2008, 2:49 UTCCurrent projects
17 December 2008, 2:45 UTCRELEASED: emc 2.2.8
16 December 2008, 1:46 UTCMacromedia "rip guard" marketing dreck
1 December 2008, 14:41 UTCMedia file hosting change
20 November 2008, 14:25 UTCHappy 4th Birthday, AXIS
19 November 2008, 23:25 UTClurg and epic: the 1-2-5 progression extended to real numbers
17 November 2008, 15:16 UTCXO-1 screen simulation
14 November 2008, 13:42 UTCDomino Sweeper
12 November 2008, 2:27 UTCRELEASED: emc 2.2.7
10 November 2008, 13:48 UTCDouble Precision checked in
4 November 2008, 0:23 UTCYou got Election in my Blog!
3 November 2008, 2:49 UTCStill more doubles
1 November 2008, 14:21 UTCFurther double work
31 October 2008, 21:04 UTCDoubles in HAL?
30 October 2008, 20:02 UTCEMC2 on Ubuntu: Stick with Hardy Heron
30 October 2008, 16:33 UTCEMC2 carves pumpkins
6 October 2008, 17:59 UTCColorado Vacation Photos
4 October 2008, 12:54 UTCAutoreprogram for DFU devices
4 October 2008, 3:05 UTCat90usb162 gotcha: PC0 vs XTAL2
20 September 2008, 21:58 UTCNew screws and nuts for the zenbot
14 September 2008, 2:10 UTCCopper-clad dragon
5 September 2008, 14:43 UTCMore macro photos
2 September 2008, 2:18 UTCXilprg: Zoltan Csizmadia's xilinx jtag programmer
1 September 2008, 1:26 UTCMilled Circuit Board Macro Photographs
29 August 2008, 0:49 UTCTwo-element capacitative touch sensor
26 August 2008, 1:46 UTCZenbot: more success milling circuit boards
21 August 2008, 23:48 UTCHigh speed transfers for sump.org logic analyzer
16 August 2008, 22:53 UTCZenbot with Wolfgang Engineering "TB" Spindle
15 August 2008, 2:59 UTCCairo-based waveform demo
13 August 2008, 13:01 UTCMarking anchors in HTML with a javascript bookmark
10 August 2008, 18:07 UTCRELEASE: emc 2.2.6
8 August 2008, 11:26 UTCUptime bragging
6 August 2008, 1:29 UTCZenbot gets home switches
22 July 2008, 3:09 UTCThe sump.org digital logic analyzer
17 July 2008, 3:15 UTCZenbot Tool Length Sensor
4 July 2008, 16:49 UTCZenbot Lives
26 June 2008, 14:37 UTCHow to tunnel vmware over ssh
17 June 2008, 11:53 UTCzeldaTp.patch: Nintendo stepped in (part 3 of 3, I guess)
10 June 2008, 18:10 UTCzeldaTp.dat: complete corresponding source code (part 2 of ?)
9 June 2008, 22:29 UTCzeldaTp.dat exploit analysis (part 1 of ?)
8 June 2008, 1:39 UTCFirst crack at a wii dvd API
7 June 2008, 1:43 UTCwiifuse + net
6 June 2008, 12:07 UTCCall graph from powerpc elf file with debug symbols
5 June 2008, 14:47 UTCaxis-dropbox: Automatically open new or modified gcode files in axis
3 June 2008, 15:22 UTCWii Back
13 May 2008, 23:41 UTCOh no! My wii is broken
12 May 2008, 14:56 UTCExperimental Ubuntu 8.04 + EMC2 Live CD
12 May 2008, 14:51 UTCRelease: EMC 2.2.5
8 May 2008, 3:12 UTChiff: hashing diff
8 May 2008, 2:28 UTCTyler Wong's Possibly Optimal Hangman Strategy
6 May 2008, 3:02 UTCBah, it's garbage
1 May 2008, 21:33 UTCmailpie: updated to version 0.2
29 April 2008, 16:13 UTCNew Laptop
26 April 2008, 17:03 UTCmailpie 0.1: full-text search of large e-mail archives
24 March 2008, 23:40 UTCturd: Tape Usage of Real Disk
16 March 2008, 21:36 UTCRelease: EMC 2.2.4
28 January 2008, 3:42 UTCRelease: EMC 2.2.3
23 January 2008, 16:36 UTCMath is hard (even for google)!
16 January 2008, 15:47 UTCGenerating HAL files from Eagle schematics
28 December 2007, 21:24 UTCCollate this!
25 December 2007, 14:51 UTCImproved Analog & Digital Interface with Arduino
24 December 2007, 19:46 UTCAnalog inputs with Arduino and EMC
21 December 2007, 21:28 UTCAs seen in hell....
21 December 2007, 14:54 UTCEMC runs a real 5-axis machine
18 December 2007, 13:42 UTCEMC 2.2.2 released
26 November 2007, 19:29 UTCMaking a YouTube video of X program
26 November 2007, 16:30 UTC5-axis machining with emc
19 November 2007, 16:38 UTCAs seen on the internet
8 November 2007, 16:59 UTCAnd the first new features start appearing in CVS...
8 November 2007, 16:40 UTCEMC 2.2.1 released
5 November 2007, 18:39 UTCEMC 2.2 released
7 October 2007, 13:20 UTCl2h: A new converter from LyX to HTML (updated)
27 September 2007, 17:02 UTCGutsy Gibbon's "-rt" kernel
12 September 2007, 14:58 UTCHAL: the trouble with doubles
11 September 2007, 2:37 UTCStepconf: Many Improvements
30 August 2007, 2:37 UTCSecond evening with the Zenbot
28 August 2007, 22:03 UTCZenbot Mini CNC Router
28 August 2007, 1:44 UTCBye Bye Gamefly
27 August 2007, 16:00 UTCEMC 2.1.7 release
26 August 2007, 13:15 UTCDoubling software step rates in emc2 (Update: Now in CVS TRUNK)
19 August 2007, 14:56 UTCCustom USB input device with emc
6 August 2007, 13:34 UTCBreezy Apt Repository / Deb Mirror
29 July 2007, 18:17 UTCStepconf: GUI to configure parport "step+direction" machines (updated)
26 July 2007, 16:23 UTCgamefly: it's no netflix
24 July 2007, 11:20 UTCpluto-step ran a mill
23 July 2007, 15:49 UTCMontréal Botanical Garden
19 July 2007, 11:30 UTCCanada Trip 2007
10 July 2007, 1:28 UTCpincompare.py: compare pin assignments from two Quartus II .qsf files
8 July 2007, 2:41 UTCpluto-step: it's not done but you can test it anyway
15 June 2007, 21:16 UTCEMC2 does rigid tapping
13 June 2007, 3:14 UTCCNC workshop 2007: threads from emc on servo lathe
13 June 2007, 3:14 UTCEMC 2.1.6 released
11 June 2007, 2:05 UTCFest 2007
8 June 2007, 16:17 UTCEMC2 on x86_64 with SMP (UPDATED)
31 May 2007, 1:01 UTCemc2 on x86-64/rtai: that wasn't so hard! (Updated: It's in CVS)
30 May 2007, 10:55 UTCImage-to-gcode improvements: roughing passes, cutting arcs
25 April 2007, 1:31 UTCEurope 2007: First days
20 March 2007, 21:31 UTCnet2dot: convert HAL netlists into nice graphs
18 March 2007, 19:37 UTCEMC 2.1.3 released
27 February 2007, 22:56 UTCfuzzbuzz in terrible ways
26 February 2007, 3:16 UTCEMC 2.1.1 released; Development version improvements
18 February 2007, 3:06 UTCTrue biarcs
14 February 2007, 22:32 UTCEasy tangent arcs, and biarc approximation of splines
5 February 2007, 16:39 UTCSimulated SCARA Draws a Message
4 February 2007, 20:31 UTCMachine visualization: jmk kicks my ass
29 January 2007, 2:24 UTCEMC 2.1.0 released
25 January 2007, 1:47 UTCgdepth example: virtual vs real
23 January 2007, 3:12 UTCgdepth 0.2: a gcode "remaining material" previewer
4 January 2007, 13:41 UTCqtdro on emc2
2 January 2007, 15:14 UTCPluto-Servo: A new option for hobbyist servo machines
2 January 2007, 14:36 UTCPyVCP: A Virtual Control Panel that integrates with AXIS
29 December 2006, 19:15 UTCjdi.py: Just Do It
28 December 2006, 14:19 UTCTcl as a g-code preprocessor
24 December 2006, 21:08 UTCPluto_Servo has landed
18 December 2006, 3:20 UTCPluto-Servo: EMC2 Servo Controller
6 December 2006, 19:36 UTCDo not buy: PCI-8255
6 December 2006, 16:00 UTCAcronym of the day: STEWD
4 December 2006, 2:39 UTCPluto_servo progress: It's running cradek's lathe!
2 December 2006, 17:43 UTCMore on the pluto-p (including FPGA pin numbers for the "JTAG" connector
24 November 2006, 22:46 UTCSoftware Uploader for Pluto-P board
19 November 2006, 1:32 UTCUpdating Configuration Files for the development version of EMC2
17 November 2006, 16:00 UTCTruth-table compiler for emc2
6 November 2006, 19:57 UTCStart of a classicladder 0.7 port to emc's HAL
4 November 2006, 17:01 UTCMesh-To-Heightmap Generator
31 October 2006, 20:33 UTCGantry Kinematics
24 October 2006, 22:08 UTCThe future of axis.unpy.net
24 October 2006, 22:06 UTCcomp is now a part of emc2
23 October 2006, 18:15 UTCThe Bayer sensor vs the Foveon sensor (part 2 of 2)
23 October 2006, 2:16 UTCThe Bayer sensor vs the Foveon sensor (part 1 of 2)
9 September 2006, 14:27 UTCLabor Day Macro Photos
5 September 2006, 12:12 UTCcomp 0.2: A tool to write HAL boilerplate
4 September 2006, 3:08 UTCcomp: A tool to write HAL boilerplate
31 August 2006, 19:52 UTCTired of missing OpenGL manpages on Ubuntu
28 August 2006, 12:08 UTCimage-to-gcode improvements
26 August 2006, 17:58 UTCImage-to-gcode in CVS
26 August 2006, 0:48 UTCThe stupidest thing I saw today....
10 August 2006, 1:51 UTCAXIS has become a part of EMC2
4 August 2006, 15:28 UTCWriting HAL components with AXIS's 'hal' module: Feed Override Wheel
18 July 2006, 1:32 UTCA few more features trickle in to CVS
16 July 2006, 16:05 UTCSkencil output converter for emc2
28 June 2006, 18:28 UTCImproving Lathe Support
11 June 2006, 17:32 UTCRecipe: Farmers' Market
10 June 2006, 2:31 UTCWhere's my AXIS 1.3?
3 June 2006, 15:25 UTC1MHz+ Quadrature Divider for attiny13
2 June 2006, 18:02 UTC400kHz Triple quadrature divider for atmega8 and quadrature state table generator
31 May 2006, 16:57 UTCCreating a Quadrature Divider: What Won't Work
22 May 2006, 13:13 UTCTwo-axis servo schematic and board
20 May 2006, 23:06 UTCPost-Fest Post
14 May 2006, 17:08 UTCOff to CNC-Workshop
9 May 2006, 14:02 UTCComputers and minds
2 May 2006, 23:08 UTCWhine!!!!!!!&exclam;
29 April 2006, 21:58 UTCOnscreen Crosshairs in tcl/tk
24 April 2006, 2:42 UTCAXIS 1.3a1 Release coming up
11 April 2006, 12:54 UTCPaul Corner announces AXIS 1.2.1 packages for BDI4
9 April 2006, 13:47 UTCSandhill Cranes
17 March 2006, 13:57 UTCG-Code Quick Reference
14 March 2006, 14:50 UTCParallel-port Two-axis PWM servo controller for Etch CNC
13 March 2006, 22:39 UTCCVS Snapshots page fixed
7 March 2006, 3:33 UTCET-ARM Stamp
16 January 2006, 17:02 UTCAXIS 1.2 Translations
13 January 2006, 5:02 UTCAether: getting rid of the extra URL component
12 January 2006, 17:21 UTCAfrican Violet flower macros
12 January 2006, 17:12 UTCOdd Macro Flash Photo
12 January 2006, 0:39 UTCMore Flash Fun
3 January 2006, 15:25 UTCDirections for AXIS 1.2
1 January 2006, 19:56 UTCAXIS 1.1 released
26 December 2005, 15:58 UTCStrobe Photography Roundup
24 December 2005, 3:14 UTCMore high-speed photography
23 December 2005, 14:19 UTCFirst Interesting Strobe Photo
18 December 2005, 3:49 UTCpam_ssh
17 December 2005, 15:53 UTCSOIC-8 to DIP adapter board
12 December 2005, 19:20 UTCemc1 HEAD supports AXIS again
12 December 2005, 0:41 UTCBefore AXIS 1.1
10 December 2005, 0:06 UTCReverse Engineering the Samsung ML-2010 laser printer
9 December 2005, 1:30 UTCNetflix to Aether converter
1 December 2005, 2:10 UTCDecyphering an assertion
29 November 2005, 23:48 UTCAXIS bug tracker on sourceforge.net
29 November 2005, 23:45 UTCSeeking contribution of patch to support emc1 HEAD
29 November 2005, 3:03 UTCEMC2 works great
29 November 2005, 1:56 UTCBetter navigation
27 November 2005, 21:38 UTCStippler 1.0 source release
21 November 2005, 23:03 UTCThe best assertion ever
21 November 2005, 17:54 UTCHershey Vector Fonts
21 November 2005, 2:11 UTCDimensioning
20 November 2005, 18:31 UTCAXIS development news
17 November 2005, 21:13 UTCSo I had a memory leak...
13 November 2005, 16:18 UTCShutting down Craie...
7 November 2005, 21:09 UTCUpdating AXIS on BDI 4.30
7 November 2005, 19:12 UTCTwo optical illusions
22 October 2005, 13:40 UTCLinux on Compaq v2000-series laptop
15 October 2005, 19:11 UTC4-axis half-stepping translator in AVR
11 October 2005, 20:05 UTCAXIS 1.1rc2 release upcoming
10 October 2005, 2:49 UTCAXIS gets linked
9 October 2005, 18:23 UTCQOOP -- the final chapter?
3 October 2005, 23:28 UTCResponse from QOOP (updated with comparison images)
2 October 2005, 15:09 UTCShutting down bald...
1 October 2005, 16:54 UTCSwitch-over in progress
30 September 2005, 13:44 UTCQOOP: My friends' reaction to one of their photo books
25 September 2005, 20:32 UTCAXIS 1.1rc1 release
23 September 2005, 16:09 UTCBDI 4.29: bugs fixed
20 September 2005, 3:08 UTCLinux on iDEQ 220k
18 September 2005, 2:58 UTCBDI bug affects AXIS?
13 September 2005, 23:24 UTCBugs in the front yard
11 September 2005, 18:15 UTCglif: generate client-side gif files from javascript
9 September 2005, 14:56 UTCFuse-python 0.9 rereleased under LGPL
7 September 2005, 2:55 UTCFlicker and QOOP
28 August 2005, 15:30 UTCDoorley zoo
24 August 2005, 20:40 UTCPhotos from my recent trip to Canada
22 August 2005, 14:04 UTCPaul C releases AXIS packages for BDI 4.20
19 August 2005, 2:23 UTCExperimental version of AXIS for emc2 HEAD, bdi 4.x, and
emc1/CRADEK_STABLE
14 August 2005, 14:11 UTCMyth! Myth!
13 August 2005, 4:51 UTCCanada dinner experience, links to photos
5 August 2005, 5:00 UTCFireworks Photography
14 July 2005, 13:57 UTCTimestamp-based caching for filesystem-based dynamic websites
3 July 2005, 18:36 UTCAethertool 0.6 Released
29 June 2005, 2:41 UTCSo I got a netflix subscription...
24 June 2005, 1:29 UTCStross releases Singularity E-book
20 June 2005, 19:00 UTCAdvice on choosing a digital camera
17 June 2005, 19:13 UTCNew version of aethertool (formerly called commandline tools for Æther)
17 June 2005, 15:26 UTCControlling EMC with a joystick
16 June 2005, 23:11 UTCExperimental version of AXIS for emc2 checked into CVS
16 June 2005, 0:20 UTCWikipedia-like floating thumbnails for Æther
14 June 2005, 21:14 UTCInter-entry links for Æther
14 June 2005, 3:22 UTCYet another EMC2 patch
13 June 2005, 18:48 UTCUpdated patch for EMC2
9 June 2005, 12:39 UTCPhil Askey continues to impress us with his crypto savvy
6 June 2005, 23:09 UTCTime for my first rant: Lexar readies "secure" CF card; Phil Askey laps it up
6 June 2005, 19:23 UTCCVS snapshots and a patch for EMC2
5 June 2005, 2:30 UTCa plug for Eagle3D
5 June 2005, 1:44 UTCComments for Æther
4 June 2005, 21:26 UTCSwishing revisited
26 May 2005, 0:36 UTCXY display update
25 May 2005, 23:56 UTCAnother day at the zoo
20 May 2005, 16:39 UTCAether commandline tools v2
16 May 2005, 13:36 UTCCommandline tools for Æther
16 May 2005, 3:00 UTCÆther with a real editor
9 May 2005, 1:58 UTCvgaxy -- create XY scope displays with your VGA card
9 May 2005, 1:57 UTCVector patches for xmame 0.94
8 May 2005, 19:58 UTCPhotos from a trip to the zoo
7 May 2005, 19:32 UTCMore vector game screenshots
4 May 2005, 20:40 UTCA photo outing on the Design Data campus
1 May 2005, 20:36 UTC"Dithered" output increases resolution
1 May 2005, 18:16 UTCMAME vector display on the oscilloscope
29 April 2005, 1:04 UTCWorking Z-axis
17 April 2005, 15:47 UTCVector "text" display
17 April 2005, 2:33 UTCAnimated XY display
16 April 2005, 16:53 UTCVGA to 'scope display
13 April 2005, 2:30 UTCThe continuing laptop saga
8 April 2005, 1:35 UTCspeaking of busts...
3 April 2005, 20:19 UTCRegulated LED flashlight -- update
31 March 2005, 2:55 UTCSetting the NET_WM_ICON for Tkinter application windows
29 March 2005, 23:57 UTCTI serial-interface DAC
28 March 2005, 13:50 UTCmail2page.py for vmobl.com [updated 2005-04-21]
25 March 2005, 15:23 UTCRegulated LED flashlight
24 March 2005, 15:44 UTCSerendipitous optimization
19 March 2005, 17:55 UTCAnother constant-current circuit
18 March 2005, 17:05 UTCSearching Aether with swish-e
9 March 2005, 3:37 UTCAxis 1.0 FINAL source release
3 March 2005, 21:24 UTCUpcoming 1.0 release
26 February 2005, 0:50 UTCPlugging an old project
24 February 2005, 15:44 UTCMuch better results
23 February 2005, 3:03 UTCIt's in a frame!
22 February 2005, 13:57 UTCStippling with lots of points
21 February 2005, 17:13 UTCStippler with variable-sized dots
21 February 2005, 3:34 UTCA patch to aether so that the sidebars are visible in IE
19 February 2005, 15:25 UTCpopen2(), a C function for bidirectional communication with a child process
18 February 2005, 15:01 UTCAutocad R12 ADI documentation
17 February 2005, 3:37 UTCStippler: Turning photos into dots
16 January 2005, 22:34 UTCAXIS, Etch CNC news
29 December 2004, 2:10 UTCIntroducing ETCH CNC
28 December 2004, 19:06 UTC1.0b2 released
19 December 2004, 3:35 UTC1.0b2 coming up
10 December 2004, 22:14 UTCMore progress toward 1.0
8 December 2004, 1:12 UTCProgress toward 1.0
6 December 2004, 22:01 UTCAXIS will be on BDI-4!
5 December 2004, 23:43 UTCBeta status
4 December 2004, 22:15 UTCAXIS 1.0b1 released
2 December 2004, 14:49 UTCAXIS and EMC2
2 December 2004, 14:30 UTCWorking on those last changes before release...
30 November 2004, 14:45 UTCEverything's coming together
29 November 2004, 1:26 UTCAdding concept of per-entry author
25 November 2004, 19:43 UTCWhat's the history of AXIS?
25 November 2004, 16:10 UTCBuilding AXIS on a BDI system
25 November 2004, 15:52 UTCAXIS Website Launched
25 October 2004, 18:24 UTCFirst Thoughts about Aether
25 October 2004, 18:24 UTCTrying out something new
Python multiline input: Using _pyrepl in your own code
The oldest bug I ever fixed? (no)
Having fun programming
radix40 encoding
"interlz5" in Python -- Apple II text adventure adventures
Junk drawer & embedding
Thick As A Brick / St Cleve Crossword solution
Migrating from github to codeberg: existing readthedocs projects
Variations on 'if TYPE_CHECKING'
Dear Julian
Mutual Tail Recursion in Python, fully mypy-strict type checked
Enabling markdown
Talking directly to in-process tcl/tk
Vintage X Bitmap Font "VT100 graphics characters"
datetime in local time zone
Sunflower Butter aka Sun Butter or Sunbutter (plus Chocolate Sun Butter)
An efficient pair of polynomials for approximating sincos
Leaving my roles in LinuxCNC
Linux ThinkPad T16 Microphone "Muted" Indicator
Notes on using skyui with Skyrim Anniversary Edition from GOG
"Letter Boxed" puzzle statistics
NYT "Letter Boxed" solver in C++
Conservation of Experience
Xerox 820 & CP/M
Welcome to the Polity
One way to fix pip externally-managed-environment error in debian
A quick example of transforming Python with libcst
Local coordinate systems in OpenSCAD
Recent keyboard deeds
Don't wreck your system with miniconda/anaconda
Generate the 64 GCR values used by Apple DOS 3.3 and ProDos
An interesting finding about Apple DOS 3.3 diskettes
An interesting Disk ][ Interface Card Fault
Stuff I did in 2021...
Where should CircuitPython go in 2022?
The Most Surprising Optimization I've Seen Lately
80columns
Estimating WWVB Signal Health
Use printf() in Arduino programs
CWWVB: Putting what I've learned about WWVB to use in a new decoder
WWVB Observatory
My experience adding type annotations to a 2.5k-line Python library
Using Adafruit Macropad as LinuxCNC Control Pendant
OBS "insert current timestamp" hotkey
Collatz-bolge: A non-universal language, unless the Collatz Conjecture is false
Hybrid Keyboard Descriptor supports Boot & NKRO
CircuitPython NKRO Keyboard
Quick CircuitPython Driver for ES100 WWVB Receiver
wwvb uploaded to pypi
7 1/2 years of Prius fuel economy
Semi-revived: Novelwriting
More Fibonacci?
Updated 'On the license of my Free Software'
Some exercises from Technical Drawing (Giesecke et al., 1949)
Calculating unreasonably large Fibonacci numbers quickly
Heat-staking in 3D prints
wwvbtk: Visualize wwvb timecodes with Tkinter
Wrap text according to font width in CircuitPython
Seven Years of Prius (2013) Fuel Efficiency
Where should CircuitPython go in 2021?
ForkAwesome font converted for CircuitPython
Head Scratching C(++) Bug
wwvbgen updates
Pi Zero W USB Proxy
GPS and relativity
Some notes on the Si5351a
Si5351 Frequency Planner in Python
Quad CharliePlex FeatherWing hack
Minimal Time-Zone Handling for CircuitPython
Calibrating the DS3231 and PCF8523 RTCs
Helpful Scripts for CircuitPython & Real Time Clocks (RTCs)
Raspberry Pi Gross Hacks
Software I want: Self-hosted 3D-printing static site
Black Lives Matter
Updates
Six Years of Prius (2013) Fuel Efficiency
Future directions for SCORPION STARE: 2022 Grant Recipients
Yet another Raspberry Pi Stratum 1 NTP server
Precision vs Accuracy: A Clock
Generating "Table 6" of the withdrawn SIMON-32/64 paper
Cura vs GPX vs dual extruder temperature: A FIX!
Kardashev and Drake were wrong: The galaxy is full of hard to detect, slow-growing civilizations
Hello, Allo
Another Qidi Tech I update
Linux: don't wake display on mouse motion
The Drake-Howard Equation
Re: Ideas box submissions
Qidi Tech I
Five Years of Prius (2013) Fuel Efficiency
Pierre, 2001-2017; Marie, 2001-2018
Codeword TESTAMENT COBALT
Codeword BISON ZENITH
Codeword BISON MERIDIAN
GPSDO: An attempt that is too simple
keyestudio gps shield as frequency counter
Fun with frequency
All integers 0 through 1,000,000 from short, digitless dc programs
Code size for bit reversing algorithms
Fuzz-testing CircuitPython
Watch Repairs
Finding all numbers produced by short, digitless 'GNU dc' programs
Four years of Prius (2013) fuel efficiency
poc: Python OCE Composer
occmodel as Python alternative to openscad
MP Select Mini: Heated Bed Repair
My internet usage would fit on six 33.6kb/s modems on average
Monoprice Select 3D Printer Review (part 4)
Monoprice Select 3D Printer Review (part 3)
Time Reversed Cosmology
Monoprice Select 3D Printer Review (part 2)
Three years of Prius (2013) fuel efficiency
Monoprice Select Mini 3D Printer Review
Monoprice Select Mini, sight unseen
Some small github integration scripts
LinuxCNC on BeagleBone Black, Raspberry Pi, Odroid U3, Odroid XU4
Will an Electric Vehicle save on CO₂ emissions anyway?
Imagine (software developer version)
Does an electric car make economic sense?
LinuxCNC on Beagle Bone Black
LinuxCNC: Which kernel, which package?
Star Trek: Beyond as a 4-episode mini arc
Installing and testing jessie-backports realtime kernels from debian archive
Saturday Software Project: VIC 20 Incremental Game
linuxcnc: Getting to the compile errors on freebsd
Capital Laundry Services document leak
Bye Bye Netflix (blacklisting he.net ipv6)
New Desktop 2016
Literal copying of GPL code into ZFS on Linux
Ancho Reyes Hot Chocolate
Coolest C Preprocessor Trick of the Year
Free Software, Meritocracy, and why I try to listen when 'SJWs' speak
Community Builder reCAPTCHA
HTTPS enabled thanks to Let's Encrypt
NEJE "ROSH" 300mW laser engraver with LinuxCNC
Turning off ads and google analytics
Super Formula Guilloché Patterns in javascript/svg
DragonBoard™ 410c with rt-preempt failure
Proven Delights (and what are proofs anyway)
Hazelnut Coffee and Hazelnut-Sunflower-Chocolate Butter
Cheating at incremental games using angularjs
Maria Island
One year in a Prius
First Half of Tasmania
Uptime on digitalocean
Great Ocean Road
LinuxCNC at TXRX Labs
Sprint recompression of JPEG files
Halls Gap Zoo
Digital Ocean vs Atlantic.net: Some simple (and simplistic) benchmarks
Kingfisher Cruise
Odroid U3 with kernel 3.8.13.14-rt31
Minnesota 2014
Tasmania #2
Who's most forgetful? Mac users.
Better pasting for irssi in X
A Faster-than-light travel idea for SF setting
Niagara Falls, NY State & Penn State
Tasmania Sites #1
Zoos in Victoria
Healesville Sanctuary
Samsung ARM Chromebook: the portable I've always wanted
More Sites Around Victoria
Towards fast I/O in Arduino for AVRs
Victoria Sites
GemCraft: Chasing Shadows "Grey Trees" puzzle
GemCraft: Chasing Shadows compass puzzle
Hacking flash apps...
Australia: Granite Gorge, Fitzroy Island and Lake Barrine
Port Douglas Wildlife Habitat
Southern Florida Nature
Florida 2014 (mostly Everglades)
How do you check a signature on a PGP/Mime message
Northern Georgia Waterfalls
Red: the perfect unit of measurement?
Tropical Rainforest
Australian Coral Reefs
Mosh automatic cleanup of dead sessions
Big Day Out
Royal Botanic Gardens Melbourne
Ctrl-digit to switch to tab on Linux Firefox
Got A Chromebook
pnacl vs Debian Jessie
Eek, ads
First few weeks on Digital Ocean
Benchmarking ungeli on real data
Changing hosting providers
mailpie moves to github
Decrypting geli volumes with portable software
Butternut Squash Casserole (a Kirst Family Recipe)
Encrypted ZFS for off-site backups
SNTP from Python: getting server's esimate of time quality
TCP connections to X server
report-if-fail, replace-if-success
My ZFS replication script
Callcentric "click 2 dial" commandline client
GNU 30th—Celebrating 30 years
Debugging realtime components in UBC3
Rotary Delta Kinematics
Got a 3D printer
Linear Delta Kinematics
repitch: adjust audio by semitones during replay
tardiff: diff two (compressed) tar files without extracting
I hope my kfreebsd box is still bootable...
Dropping Amazon Prime...
Just bottled
More new hardware: Lenovo Thinkpad T530
GPG Key
New thing: BlurBlog
Adventures in localization
Online Anagrammer with AJAX
The growth of Unicode over time
moinmoin cleanup script
Hash saturation calculator
Screen-scrape ting device usage
New hardware
OpenID Delegation is easy!
Android "Birds of Australia" unpacker
lvm + snapshots + uuid = assbitten
Training Farm kickstarter
FTL (un)packer for Linux
Connectbot patches for Nexus 7 + Bluetooth Keyboard
Change
2008 Honda Fit Sport tire size
Fitler: munge long headers for display in mutt
How to become a felon: by reading the newspaper edition
Fun with iBird on android
Salsa-Poached Huevos Rancheros
Friendlier unicode entry in rxvt-unicode
StippleGen 2—Stippler, turned friendly
A use for log1p
LG Optimus S on ting MVNO
Hosting Troubles
dusub: Subtract two 'du'-style listings
Google Literal Search for Firefox
Concept: Using rolling shutter for digital IS
Cancellation error
WWVB CRT mock-up
Every once in a while, ssh is too slow
Half-maximize script for Linux
Every once in a while, Python is too slow
sorttop: show the biggest values as a program runs
HTC Detail on ting MVNO
15 years of photography
30+ years of computers
Transfer of contacts from LG Remarq to Debian GNU/Linux
Moving my blog hosting
Time to finish that languishing clock project!
It's gratifying when the compiler is right
Need another reminder to steer clear of non-Free software?
Ingrid's Canadian Rockies Photos
New Site Look
Cheeseball Barley Wine
csql: perform sql queries on csv data
Source: USB Stacker for EOS Cameras
Focus Stacking Success
tnef2mime: automatically extract parts from winmail.dat
Caching
WWVB clock progress
Sorry, RSS Readers
Sunday at the Zoo
Enabling caching of my blog...
Two days in Banff
Canada: Calgary
Canadian Rockies Panoramas
Linux RAID Misdetection (and fix)
wwvbpy: WWVB timecode generator in python
California: Odds and Ends
Ingrid's California Photos (part 2)
Ingrid's California Photos (part 1)
Elkhorn Slough Boat Tour
Side track: wwvb links
Towards my GPS LED Light Clock
Monterey Bay Aquarium - Jellyfish
Some California Photos
Mandelbulber fractals
Search kindle store by price, sort-of
srtrename: rename subtitle files to match video files
almost-integers from tan()
Fractal animation
urxvt: on-the-fly font changing
Custom compose sequences in X
300mm at the zoo
Abstract Magnet Photos
Debian? Sounds good to me!
Dresden Photos
Jeff's Barcelona Botanical Garden Photos
Jeff's Barcelona 2010 photos
Apfelwein Success
Photos from Marburg
Frankfurt Palmengarten
Photos from the Barcelona Botanic Garden and nearby
hostmot2-firmware 0.6 released
Making Cider
All my Europe 2010 photos
Frankfurt Palmengarten
hostmot2-firmware 0.5
RELEASED: emc 2.3.5
Soldering "helping hands" made with Loc-Line coolant hose
hostmot2-firmware 0.4
Installing Ubuntu 9.10 on TA790GX XE + AMD Athlon II X2 245 Regor
Lights
Arduino Random Number Generator
RELEASED: emc 2.3.4
Ingrid's Minnesota Photos
Lauritzen Gardens
Minneapolis Bugs and Stuff
Zenbot is back in business
Misc. Macros
Fortune cookies
More photos from the yard
View my photostream
CropGUI 0.1.1: now with gtk
Ingrid's Garden
Ingrid's photos from Chicago
Chicago: Garfield Park Conservatory
Wasps!
RELEASED: emc 2.3.2
KC Photos 2009
at90usb162 single-sided board
Powell Gardens
Zenbot upgrades
Twilight hack source code
Remebering values between runs of emc
Released: EMC 2.3.1
g++ trick for initializer lists
Wildlife Safari visit
qq: quick & dirty terminal
New hardware
DAT-160 USB tape drive on Linux
RELEASED: emc 2.3.0
Kansas City, St. Louis, and Champaign trip
Netflix 'Watch Instantly' problems
Beta release: emc 2.3.0beta2
Henry Doorly Zoo
Emergent Blog, now with 100% more CNC
Tags
All the florida photos
Florida Birds
Show recent e-mail in screen title bar or status bar
Facepalm of the day
Ingredients Fail
Ingrid's Florida Trip Photos
Florida: Mostly Orchids
Florida: Animals
Florida: Non-Orchid Plants
cropgui: A Linux GUI for Lossless JPEG Cropping
Florida: Bugs and Spiders edition
Florida: Fruit and Spice Park, and Everglades
Canon Digital Rebel XSi (450D) on Linux Ubuntu Hardy 8.04
Testing spindle-synced motion
Red Alert Box
Smart gnumakefiles are smart
Userspace driver for resistive "pen tablet" of XO-1 laptop
mouse wheel mpg
Current projects
RELEASED: emc 2.2.8
Macromedia "rip guard" marketing dreck
Media file hosting change
Happy 4th Birthday, AXIS
lurg and epic: the 1-2-5 progression extended to real numbers
XO-1 screen simulation
Domino Sweeper
RELEASED: emc 2.2.7
Double Precision checked in
You got Election in my Blog!
Still more doubles
Further double work
Doubles in HAL?
EMC2 on Ubuntu: Stick with Hardy Heron
EMC2 carves pumpkins
Colorado Vacation Photos
Autoreprogram for DFU devices
at90usb162 gotcha: PC0 vs XTAL2
New screws and nuts for the zenbot
Copper-clad dragon
More macro photos
Xilprg: Zoltan Csizmadia's xilinx jtag programmer
Milled Circuit Board Macro Photographs
Two-element capacitative touch sensor
Zenbot: more success milling circuit boards
High speed transfers for sump.org logic analyzer
Zenbot with Wolfgang Engineering "TB" Spindle
Cairo-based waveform demo
Marking anchors in HTML with a javascript bookmark
RELEASE: emc 2.2.6
Uptime bragging
Zenbot gets home switches
The sump.org digital logic analyzer
Zenbot Tool Length Sensor
Zenbot Lives
How to tunnel vmware over ssh
zeldaTp.patch: Nintendo stepped in (part 3 of 3, I guess)
zeldaTp.dat: complete corresponding source code (part 2 of ?)
zeldaTp.dat exploit analysis (part 1 of ?)
First crack at a wii dvd API
wiifuse + net
Call graph from powerpc elf file with debug symbols
axis-dropbox: Automatically open new or modified gcode files in axis
Wii Back
Oh no! My wii is broken
Experimental Ubuntu 8.04 + EMC2 Live CD
Release: EMC 2.2.5
hiff: hashing diff
Tyler Wong's Possibly Optimal Hangman Strategy
Bah, it's garbage
mailpie: updated to version 0.2
New Laptop
mailpie 0.1: full-text search of large e-mail archives
turd: Tape Usage of Real Disk
Release: EMC 2.2.4
Release: EMC 2.2.3
Math is hard (even for google)!
Generating HAL files from Eagle schematics
Collate this!
Improved Analog & Digital Interface with Arduino
Analog inputs with Arduino and EMC
As seen in hell....
EMC runs a real 5-axis machine
EMC 2.2.2 released
Making a YouTube video of X program
5-axis machining with emc
As seen on the internet
And the first new features start appearing in CVS...
EMC 2.2.1 released
EMC 2.2 released
l2h: A new converter from LyX to HTML (updated)
Gutsy Gibbon's "-rt" kernel
HAL: the trouble with doubles
Stepconf: Many Improvements
Second evening with the Zenbot
Zenbot Mini CNC Router
Bye Bye Gamefly
EMC 2.1.7 release
Doubling software step rates in emc2 (Update: Now in CVS TRUNK)
Custom USB input device with emc
Breezy Apt Repository / Deb Mirror
Stepconf: GUI to configure parport "step+direction" machines (updated)
gamefly: it's no netflix
pluto-step ran a mill
Montréal Botanical Garden
Canada Trip 2007
pincompare.py: compare pin assignments from two Quartus II .qsf files
pluto-step: it's not done but you can test it anyway
EMC2 does rigid tapping
CNC workshop 2007: threads from emc on servo lathe
EMC 2.1.6 released
Fest 2007
EMC2 on x86_64 with SMP (UPDATED)
emc2 on x86-64/rtai: that wasn't so hard! (Updated: It's in CVS)
Image-to-gcode improvements: roughing passes, cutting arcs
Europe 2007: First days
net2dot: convert HAL netlists into nice graphs
EMC 2.1.3 released
fuzzbuzz in terrible ways
EMC 2.1.1 released; Development version improvements
True biarcs
Easy tangent arcs, and biarc approximation of splines
Simulated SCARA Draws a Message
Machine visualization: jmk kicks my ass
EMC 2.1.0 released
gdepth example: virtual vs real
gdepth 0.2: a gcode "remaining material" previewer
qtdro on emc2
Pluto-Servo: A new option for hobbyist servo machines
PyVCP: A Virtual Control Panel that integrates with AXIS
jdi.py: Just Do It
Tcl as a g-code preprocessor
Pluto_Servo has landed
Pluto-Servo: EMC2 Servo Controller
Do not buy: PCI-8255
Acronym of the day: STEWD
Pluto_servo progress: It's running cradek's lathe!
More on the pluto-p (including FPGA pin numbers for the "JTAG" connector
Software Uploader for Pluto-P board
Updating Configuration Files for the development version of EMC2
Truth-table compiler for emc2
Start of a classicladder 0.7 port to emc's HAL
Mesh-To-Heightmap Generator
Gantry Kinematics
The future of axis.unpy.net
comp is now a part of emc2
The Bayer sensor vs the Foveon sensor (part 2 of 2)
The Bayer sensor vs the Foveon sensor (part 1 of 2)
Labor Day Macro Photos
comp 0.2: A tool to write HAL boilerplate
comp: A tool to write HAL boilerplate
Tired of missing OpenGL manpages on Ubuntu
image-to-gcode improvements
Image-to-gcode in CVS
The stupidest thing I saw today....
AXIS has become a part of EMC2
Writing HAL components with AXIS's 'hal' module: Feed Override Wheel
A few more features trickle in to CVS
Skencil output converter for emc2
Improving Lathe Support
Recipe: Farmers' Market
Where's my AXIS 1.3?
1MHz+ Quadrature Divider for attiny13
400kHz Triple quadrature divider for atmega8 and quadrature state table generator
Creating a Quadrature Divider: What Won't Work
Two-axis servo schematic and board
Post-Fest Post
Off to CNC-Workshop
Computers and minds
Whine!!!!!!!&exclam;
Onscreen Crosshairs in tcl/tk
AXIS 1.3a1 Release coming up
Paul Corner announces AXIS 1.2.1 packages for BDI4
Sandhill Cranes
G-Code Quick Reference
Parallel-port Two-axis PWM servo controller for Etch CNC
CVS Snapshots page fixed
ET-ARM Stamp
AXIS 1.2 Translations
Aether: getting rid of the extra URL component
African Violet flower macros
Odd Macro Flash Photo
More Flash Fun
Directions for AXIS 1.2
AXIS 1.1 released
Strobe Photography Roundup
More high-speed photography
First Interesting Strobe Photo
pam_ssh
SOIC-8 to DIP adapter board
emc1 HEAD supports AXIS again
Before AXIS 1.1
Reverse Engineering the Samsung ML-2010 laser printer
Netflix to Aether converter
Decyphering an assertion
AXIS bug tracker on sourceforge.net
Seeking contribution of patch to support emc1 HEAD
EMC2 works great
Better navigation
Stippler 1.0 source release
The best assertion ever
Hershey Vector Fonts
Dimensioning
AXIS development news
So I had a memory leak...
Shutting down Craie...
Updating AXIS on BDI 4.30
Two optical illusions
Linux on Compaq v2000-series laptop
4-axis half-stepping translator in AVR
AXIS 1.1rc2 release upcoming
AXIS gets linked
QOOP -- the final chapter?
Response from QOOP (updated with comparison images)
Shutting down bald...
Switch-over in progress
QOOP: My friends' reaction to one of their photo books
AXIS 1.1rc1 release
BDI 4.29: bugs fixed
Linux on iDEQ 220k
BDI bug affects AXIS?
Bugs in the front yard
glif: generate client-side gif files from javascript
Fuse-python 0.9 rereleased under LGPL
Flicker and QOOP
Doorley zoo
Photos from my recent trip to Canada
Paul C releases AXIS packages for BDI 4.20
Experimental version of AXIS for emc2 HEAD, bdi 4.x, and emc1/CRADEK_STABLE
Myth! Myth!
Canada dinner experience, links to photos
Fireworks Photography
Timestamp-based caching for filesystem-based dynamic websites
Aethertool 0.6 Released
So I got a netflix subscription...
Stross releases Singularity E-book
Advice on choosing a digital camera
New version of aethertool (formerly called commandline tools for Æther)
Controlling EMC with a joystick
Experimental version of AXIS for emc2 checked into CVS
Wikipedia-like floating thumbnails for Æther
Inter-entry links for Æther
Yet another EMC2 patch
Updated patch for EMC2
Phil Askey continues to impress us with his crypto savvy
Time for my first rant: Lexar readies "secure" CF card; Phil Askey laps it up
CVS snapshots and a patch for EMC2
a plug for Eagle3D
Comments for Æther
Swishing revisited
XY display update
Another day at the zoo
Aether commandline tools v2
Commandline tools for Æther
Æther with a real editor
vgaxy -- create XY scope displays with your VGA card
Vector patches for xmame 0.94
Photos from a trip to the zoo
More vector game screenshots
A photo outing on the Design Data campus
"Dithered" output increases resolution
MAME vector display on the oscilloscope
Working Z-axis
Vector "text" display
Animated XY display
VGA to 'scope display
The continuing laptop saga
speaking of busts...
Regulated LED flashlight -- update
Setting the NET_WM_ICON for Tkinter application windows
TI serial-interface DAC
mail2page.py for vmobl.com [updated 2005-04-21]
Regulated LED flashlight
Serendipitous optimization
Another constant-current circuit
Searching Aether with swish-e
Axis 1.0 FINAL source release
Upcoming 1.0 release
Plugging an old project
Much better results
It's in a frame!
Stippling with lots of points
Stippler with variable-sized dots
A patch to aether so that the sidebars are visible in IE
popen2(), a C function for bidirectional communication with a child process
Autocad R12 ADI documentation
Stippler: Turning photos into dots
AXIS, Etch CNC news
Introducing ETCH CNC
1.0b2 released
1.0b2 coming up
More progress toward 1.0
Progress toward 1.0
AXIS will be on BDI-4!
Beta status
AXIS 1.0b1 released
AXIS and EMC2
Working on those last changes before release...
Everything's coming together
Adding concept of per-entry author
What's the history of AXIS?
Building AXIS on a BDI system
AXIS Website Launched
First Thoughts about Aether
Trying out something new
All older entries
Website Copyright © 2004-2024 Jeff Epler