Dev Diary

A running log of what I build day to day across my projects. Each day gets a sentence or two and a Small / Medium / Large impact rating.

2019

2020

2021

2022

2023

2024

2025

2026

2026

May

23

Built a Dev Diary for the site — a daily one-liner with an S/M/L impact rating, rendered as a single-row GitHub-style contribution grid over a grouped long-form journal — backfilled it from seven years of git history, and added a bin/devdiary collector to keep it current. Also added XY pad mapping and axis color backgrounds to knobbler-native, fixed the Level Meters toggle and mapping-source pulse, and reworked slot-swap behavior and frozen v62 devices in m4l-Knobbler4. (in progress as of 11:29)

steinkamp.usknobbler-nativem4l-Knobbler4
22

Released build 217 and Knobbler4 v62 with knobbler↔knobbler slot swap/move, two-phase mapping UI with color cues, StoreKit simulator support, and OSC API documentation corrections.

knobbler-nativem4l-Knobbler4
21

Enormous refactor day (38 commits): completed the single-[v8] architecture, migrated settings and shortcuts carry-forward, added a new m4l-js-vs-v8 benchmark repo, released v61, and patched 8 dependabot alerts.

m4l-Knobbler4m4l-js-vs-v8
20

Major architectural consolidation in M4L Knobbler4: folded all separate [js] modules into a single [v8 knobbler] entry object, released v60, and added a Mapping Mode docs page.

m4l-Knobbler4steinkamp.usplugins
19

Phone layout overhaul with page peek, tighter clips/strips, and polish across 26 commits; updated the Knobbler blog post with community corrections; streamed plugin category zips to fix OOM.

knobbler-nativesteinkamp.usm4l-Knobbler4plugins
18

Large feature day across three repos: added mixer-to-knobbler mapping flow, page tabs top/bottom option, Bluhand map-source overlay, and published a blog post about the Max symbol table and v8 migration.

knobbler-nativem4l-Knobbler4steinkamp.us
15

Added Full Screen setting to hide the status bar, fixed page nav baseline alignment, and released build 208/209.

knobbler-native
14

Major M4L Knobbler4 performance refactor: migrated all 11 [js] modules to [v8] and routed all OSC emissions through utils.osc() to avoid Max symbol-table bloat.

m4l-Knobbler4
12

Released M4L Knobbler4 v59, improved animated sidebar slide-in on tablet, switched tablet to conditional page rendering, and added extensive Device Port documentation for multi-instance use.

m4l-Knobbler4knobbler-native
11

Released builds 202–204 with Android sends modal fix, trailing-edge render coalesce, fixed sidebar width animations, and scene overview polish; also modernized the plugins site tile design.

knobbler-nativeplugins
10

Added a /knobbler microsite to the plugins site and updated Android Play Store URL.

plugins
09

Released build 201 with re-introduced trial extension (cutoff-date model), instant page-nav on press-down, all pages kept mounted for fast switching, and a renderTick external store optimization.

knobbler-native
06

Added 2026.5.5 release notes and fixed Tappable onPress to fire on tap end to avoid swallowing parent drags.

knobbler-native
05

Released build 200, tweaked Nobody Home text, and switched spring OSC sends to requestAnimationFrame.

knobbler-native
04

Added Push 3 Standalone documentation page with inline imagery and fixed single-item send batching.

m4l-Knobbler4knobbler-native
02

Updated P3SA connection instructions and fixed single-item OSC batch handling in device and app.

m4l-Knobbler4knobbler-native
01

Added Push 3 Standalone connection helper with default port, Copy URL button, and improved connection status reset flow.

knobbler-native

Apr

30

Extracted shared hooks/components, fixed fader rendering on scroll, and deferred /mixerView send until scroll settles.

knobbler-nativem4l-Knobbler4
28

Released M4L Knobbler4 v57 (unified OSC coalescing and chunking) and v58, launched a new M4L PlayBreak plugin with initial commit, and added it to the plugins site.

m4l-Knobbler4m4l-PlayBreakplugins
27

Released knobbler-native build 199 and added substantial photodirs features: per-photo location with geocoding, EXIF write, admin rotate buttons, and location copy from siblings.

knobbler-nativephotodirs
26

Batched animation OSC sends per tick, improved ghost hit-testing and overlay controls in knobbler-native, and added EXIF date tools and date filter persistence to photodirs.

knobbler-nativephotodirs
25

Added draggable ghost for mid-flight spring retargeting, store-owned release animations with manual spring physics, and photodirs drag-to- desktop save.

knobbler-nativephotodirs
24

Reverted react-native-screens, restored conditional page rendering for performance, memoized page contents individually, and extracted shared SliderLabels component.

knobbler-native
23

Added theme-aware PRIMARY color, light mode polish, OSC throttle improvements, and animation indicator to knobbler-native.

knobbler-native
22

Released M4L Knobbler4 v56 with a new zip-based release script, and shipped build 198 with spring physics gating, ghost indicator polish, and light mode fixes.

knobbler-nativem4l-Knobbler4plugins
21

Added three release modes (time/easing, rubber band, gravity), improved spring overlay UX, fixed connection test hang, refined compact mixer for the session page, and released v56 device notes.

knobbler-nativem4l-Knobbler4
20

Overhauled the animation system: migrated all sliders to Reanimated worklets with rAF sampling, added user-adjustable spring duration, coalesced OSC sends, and shipped build 196/197.

knobbler-native
17

Migrated Knobbler4 device param banks to YAML with build-time codegen, added many missing device bank definitions, and added Spring mode docs.

m4l-Knobbler4
16

Added Spring momentary mode (sliders return to touch-start value on release), released build 193/195, and fixed stale toolbar dependency tracking.

knobbler-native
15

Fixed a crash caused by an invalid color string "#000NaN" in colorToString.

knobbler-native
14

Removed automatic trial extension for expired trials.

knobbler-native
13

Released build 192 with an ios-archive Makefile target, minor text style fix, and v55 device release notes.

knobbler-nativem4l-Knobbler4
12

Major typography and layout cleanup: unified named text styles app-wide, extracted ModalCard and TransportButtons components, and added Makefile install targets.

knobbler-nativem4l-Knobbler4
11

Added sidebar fade animations, improved setup page navigation, fixed light mode button theming, and added Bonjour-based auto port assignment in the M4L device.

knobbler-nativem4l-Knobbler4
10

Upgraded to Expo SDK 55, fixed Android multitouch and network permission issues, added rubber band overscroll, replaced hardcoded theme colors throughout, and shipped build 190.

knobbler-native
08

Enabled TypeScript strict mode and fixed all 138 errors across 38 files, added What's New modal, refined the feedback section, and added prop- type interfaces to slider components.

knobbler-native
07

Replaced all TouchableOpacity/TouchableHighlight with a Gesture.Tap- based Tappable component, added a Feedback/Review page, and bumped to build 189.

knobbler-native
06

Added a Leave a Review button for long-time users and a troubleshooting note for the Audio Engine setting.

knobbler-nativem4l-Knobbler4
03

Large refactor and polish day: added auto/light/dark appearance mode, replaced Switch with a custom Toggle, migrated the M4L device from [js] to [v8], fixed TypeScript errors, and added a CI wait fix to plugins.

knobbler-nativem4l-Knobbler4plugins
02

Added a Testimonials page and photo gallery to the Knobbler4 docs, replaced the hero image, and fixed a group clip launch bug.

m4l-Knobbler4knobbler-native
01

Added a light mode theme with runtime toggle, fixed modal dismiss behavior, and cleaned up scene column styling.

knobbler-native

Mar

31

Systemized color constants app-wide, added page persistence across restarts, built a Tips page in both app and device docs, and released build 186.

knobbler-nativem4l-Knobbler4
30

Fixed a stale-ref nav width bug on iPad resize and added a unit test suite to the M4L Knobbler4 device using vitest.

knobbler-nativem4l-Knobbler4
29

Huge day: built a new combined Session page (clips + mixer with shared horizontal scroll), fixed cross-device purchase flow with RevenueCat, extracted shared debug/setup components, and shipped builds 183–185.

knobbler-nativem4l-Knobbler4
28

Added debouncing to track/device change handlers to handle rapid arrow- key navigation in the M4L device.

m4l-Knobbler4
27

Released build 182, fixed a falsy-zero bug in bOnOff, added stop buttons for empty clip slots, and updated Knobbler4 OSC and setup documentation.

knobbler-nativem4l-Knobbler4
26

Migrated the photodirs app from JavaScript to TypeScript (front and back), fixed the production build, and polished thumbnail display; also worked on platform-specific clips grid in knobbler-native.

photodirsknobbler-native
25

Released build 180 with GPU-accelerated clip grid, pan-driven 2D clips grid, auto-discovery sort, and a build error fix for newer Xcode.

knobbler-native
24

Released build 179 after a large day: added pinch-to-zoom on clips grid, unified touch target heights, standardized setup connection cards, and built a UI scale system.

knobbler-nativem4l-Knobbler4
23

Switched to device unique ID for RevenueCat, fixed nav track tap behavior, and added long-press-pan to display modal.

knobbler-native
20

Unified phone and tablet pages under CommonScreen, fixed scroll-to- selected-track, added SSL and a CI pipeline to the plugins site.

knobbler-nativeplugins
19

Major refactor day: extracted nav builder with tests, filterable OSC data table, ClearButton component, fixed LiveAPI .id string comparison bug, DRY'd mixer modules, and added restore purchases to debug.

knobbler-nativem4l-Knobbler4
18

Deduplication refactor: extracted shared OscLog and trackColumnLayers components, unified toolbar buttons, and fixed phone layout spacing.

knobbler-native
17

The biggest clips/mixer polish day: 28 commits covering correct Ableton color palette, swipeable mixer sidebar, scene/clip edit dialogs with color picker, documentation overhaul, and new OSC endpoints.

knobbler-nativem4l-Knobbler4
16

Added multiplexed slider refs, beat-pulsing clip borders, chunked scenes protocol, stop-button support, and overview toggle across 11 commits.

knobbler-nativem4l-Knobbler4
15

Broad phone layout pass and scene overview bar addition, with viewport indicator, tap/pan gestures, safe area fixes, and short tab titles for phone across 17 commits.

knobbler-nativem4l-Knobbler4
13

Heavy polish day: added a Debug tab with OSC log, sends modal on long press, standardized modal styling, refactored opacity constants, and fixed multiple clip and meter display issues.

knobbler-nativem4l-Knobbler4
12

Added live track name/color observers and group track clip slot support with diagonal stripes and playing-status indicators for the clips page.

knobbler-nativem4l-Knobbler4
11

Major clips page expansion: custom edit modal, clip rename/delete, chunked protocol, Ableton-style meter gradient, scene data, and group track support across 17 commits in both app and device.

knobbler-nativem4l-Knobbler4
10

Built a new Clips page in knobbler-native and the corresponding clip view module in Knobbler4 with grid state, scene info, and clip actions.

knobbler-nativem4l-Knobbler4
09

Added haptic toggle, sent current param on page change, and updated documentation for current param and multi-mixer features.

knobbler-nativem4l-Knobbler4
08

Added current-param lock/show/hide, sync'd param state on refresh and foreground, added an App Port input, and synced mixer send scroll positions; also added v12 of M4L Modulation-Math with min/avg/max.

knobbler-nativem4l-Knobbler4m4l-Modulation-Math
06

Added a deploy target to the plugins Makefile, removed the Contribute button, and improved page centering.

plugins
05

Minor guard and caption fixes across knobbler-native and steinkamp.us blog content edits.

knobbler-nativesteinkamp.us
04

Several small mixer and RevenueCat debug improvements in knobbler- native, builds 173–176.

knobbler-native
03

Published a trail work blog post, updated the About page bio, and overhauled the resume on steinkamp.us, while also polishing the mixer overview bar in knobbler-native.

knobbler-nativesteinkamp.us
01

Intensive day with 20 commits: redesigned mixer channel strip headers, added crossfader controls, fixed send/main track display issues, and guarded device-side observers, releasing builds 167–171.

knobbler-nativem4l-Knobbler4

Feb

28

Small polish pass: raised overview bar threshold, added animated scroll indicator for knobbler page nav, and increased two-finger precision factor.

knobbler-native
27

Released knobbler-native build 166 and M4L Knobbler4 v52 after a very large day of OSC batching, compact phone mixer layout, buffering fixes, and strip state consolidation.

knobbler-nativem4l-Knobbler4
26

Added two-finger precision mode, volume automation state indicators, track overview toggle, and numerous mixer reliability and state-sync fixes across 16 commits.

knobbler-nativem4l-Knobbler4
25

Added a draggable track overview bar with group indicators, dB gradation haptics, and mixer toolbar meter toggle across 17 commits spanning app and device.

knobbler-nativem4l-Knobbler4
24

A very heavy day with 23 commits: major performance work (memoization, reduced allocations), OSC throttling, slider resolution increase, Android free trial, and animated page transitions across both the app and device.

knobbler-nativem4l-Knobbler4
20

Fixed Android OSC address matching in expo-osc and resolved Android/small-screen layout issues in knobbler-native.

expo-oscknobbler-native
19

Fixed meter index handling and muted track display, released a new build, and improved batched meter sends with page-aware gating in the device.

knobbler-nativem4l-Knobbler4
18

Major work across four repos: implemented a batched meter protocol, built out expo-osc resilience, hardened SwiftOsc, and added haptic feedback and styling to the mixer page.

knobbler-nativem4l-Knobbler4expo-oscSwiftOsc
17

Performance improvements and scroll offset fix for the mixer page.

knobbler-native
16

Built out a full multi-track mixer page in knobbler-native and a corresponding multi-mixer module in Knobbler4 with volume meters, track strips, and windowed observation.

knobbler-nativem4l-Knobbler4
15

Added images and documentation for the X-Y pad feature, and updated Discord links across the plugins site.

pluginsm4l-Knobbler4
14

Massive feature day: shipped named Knobbler pages, X-Y pad join/split, a capability-based chunked nav protocol for large track/device lists, and dynamic page management across both knobbler-native (build 163) and M4L Knobbler4 v51.

knobbler-nativem4l-Knobbler4
13

Started work on an X-Y pad feature in knobbler-native, and launched an audio version of the M4L MIDI CC Bridge plugin.

knobbler-nativem4l-MIDI-CC-Bridge
10

Added ingredients and portion content to the steinkamp.us site.

steinkamp.us
05

Added null/undefined reference guards to knobbler-native to prevent crashes.

knobbler-native
04

Added a comprehensive test suite for knobbler-native library code with large net-new coverage.

knobbler-native
03

Big day across four repos: added undo/redo to Knobbler (v50 device + build 162 app), launched the new M4L NoteLimiter plugin, and updated the plugins site with multiple polish passes.

knobbler-nativem4l-Knobbler4m4l-NoteLimiterplugins
01

Fixed Android key issues, integrated Sentry error tracking, and cleaned up icons and emojis in knobbler-native build.

knobbler-nativeplugins

Jan

30

Released M4L Knobbler4 v49 with Bonjour discovery and /playCuePoint OSC support, and made significant plugin site improvements.

m4l-Knobbler4plugins
29

Released knobbler-native build 159 with support for playing cue point buttons via a hardware device.

knobbler-native
28

Minor copy and touchup updates across Knobbler4 and the plugins site.

m4l-Knobbler4plugins
22

Launched a new M4L Chord Filter plugin with initial commit, added promotional content, and fixed a CPU hog in Knobbler4.

m4l-ChordFilterpluginsm4l-Knobbler4
17

Restored the Chiastic Solo plugin to the Utilities category on the plugins site.

plugins
14

Launched a new M4L plugin, USB Scrubber, with initial commit, promotional image, and video link, and added it to the plugins site.

m4l-USBScrubberplugins
13

Worked on iOS improvements and landed a significant 16kb page success milestone, releasing build 158 of knobbler-native.

knobbler-native
12

Removed two plugins (Chiastic Solo and Quantize MIDI) from the plugins listing.

plugins
09

Released knobbler-native version 156 with a zeroconf update, and updated Discord links across the plugins site.

knobbler-nativeplugins
08

Major churn day on knobbler-native with large file additions and removals, bumping to build 155 and reworking the package configuration.

knobbler-native
07

Added a Knobbler video reference to the M4L device.

m4l-Knobbler4
06

Small ordering tweak in the M4L Knobbler4 device.

m4l-Knobbler4
05

Added a Knobbler-Mini TouchOSC template for read-only use in vocal booths and updated plugin images.

m4l-Knobbler4plugins
01

Minor housekeeping commit to the M4L Knobbler4 device.

m4l-Knobbler4

2025

Dec

27

Fixed the debug panel and released knobbler-native v2025.12.27 / build 152-153. Made Bluhand title hit targets bigger per community request.

knobbler-nativeplugins
26

Fixed a tempo edit bug in knobbler-native and updated the Hermes engine. Added Discord community buttons and blurb to the plugins site.

knobbler-nativeplugins
23

Released m4l-TapPanZeit v13 fixing the pan display in Live 12.3, based on a community bug report.

m4l-TapPanZeit
12

Released knobbler-native v2025.12.12 / build 151 with cue point display time, default shortcuts visibility fix, and an audit fix. Released m4l-Knobbler4 v48 sending locator display time and cue point display strings.

knobbler-nativem4l-Knobbler4
11

Updated Knobbler image on the plugins site.

plugins
09

Modernized and fixed the plugins site codebase with significant refactoring.

plugins
06

Documentation word updates to m4l-ChiasticSlide and m4l-Knobbler4.

m4l-ChiasticSlidem4l-Knobbler4
04

Added Windows Bonjour/ad-hoc documentation to m4l-Knobbler4 based on a community contribution.

m4l-Knobbler4
03

Fixed several photodirs UI issues: admin video icon, album sorting, mobile bottom switcher, and font size.

photodirs
02

Updated m4l-ChiasticSlide readme and plugins site text.

m4l-ChiasticSlideplugins
01

Added a Knobbler promotional section to the plugins site.

plugins

Nov

21

Added a promotional update to m4l-Knobbler4.

m4l-Knobbler4
11

Minor switch-case refactor in knobbler-native.

knobbler-native

Oct

31

Added v12 images to m4l-ChiasticSlide.

m4l-ChiasticSlide
30

Released m4l-ChiasticSlide v12 with post-audio-render bug fix, animated ball size, and periodic path-change detection to handle being moved in a rack.

m4l-ChiasticSlide
29

Fixed a spelling error on steinkamp.us.

steinkamp.us
28

Published a chai tiffin recipe post on steinkamp.us.

steinkamp.us
26

Removed a session notification from the plugins site.

plugins
23

Improved a connection message in knobbler-native. Added a workshop promo to the plugins site.

knobbler-nativeplugins
22

Released m4l-Knobbler4 v47 with cue point sending. Updated knobbler- native with phone layout improvements (v2025.10.22 / build 150).

knobbler-nativem4l-Knobbler4
08

Fixed backward-compatibility in multi-button quant check in knobbler- native (build 149).

knobbler-native
07

Released m4l-Knobbler4 v46 with quantItems for multiple-button parameter display. Added working multi-button UI to knobbler-native (v2025.10.7 / build 148). Published a blog post on steinkamp.us.

knobbler-nativem4l-Knobbler4steinkamp.us
05

Released knobbler-native build 147 with version bump.

knobbler-native
04

Released m4l-Knobbler4 v45 sending quantization state info to the app so parameters with only 2 states render as toggle buttons in knobbler- native.

knobbler-nativem4l-Knobbler4plugins
01

Massive update day: shipped version bumps and update-checker improvements across 20 separate Max for Live devices, and fixed a bipolar modulation bug across the entire modulation device family.

m4l-Modulation-Mathm4l-FractalNoteEchom4l-Modulation-Stepperm4l-PitchPathm4l-ChordRipperm4l-CorrelationModulationm4l-FibonacciNoteEchom4l-KeyStepperm4l-LenStepperm4l-Modulation-Delaym4l-Modulation-Deviationm4l-Modulation-Inertiam4l-Modulation-Lerpm4l-MoireArpm4l-ScratchBackerm4l-SimulScrubm4l-TapPanZeitm4l-TriggerSeqm4l-zs-Faderboard3plugins

Sep

29

Added a debug modal and RC paywall display to knobbler-native (v2025.9.29 / build 144-146).

knobbler-native
26

Released m4l-CrossfaderNote v1 with docs and images. Added it to the plugins site. Updated knobbler-native for RevenueCat customer info updates (v2025.9.25 / build 143).

knobbler-nativem4l-CrossfaderNoteplugins
25

Released m4l-ChiasticSlide v11. Created and published a brand-new device, m4l-CrossfaderNote, with initial commit and documentation.

m4l-ChiasticSlidem4l-CrossfaderNote
24

Released m4l-WavScope v4 with sidechain support and credits. Added a contribute redirect to the plugins site.

m4l-WavScopeplugins
16

Released m4l-ChiasticSolo v3 fixing a bug that prevented racking or automating the Selector dial (community bug report).

m4l-ChiasticSolo
15

Released m4l-Knobbler4 v44 reverting a v42 change that was dropping the last VST parameter (community bug report). Released knobbler-native v2025.9.10 / build 142.

knobbler-nativem4l-Knobbler4
14

Created a new rack preset, zs-Delay-Filter-Roar-Rack, with initial commit. Updated m4l-Knobbler4 port docs and added it to the plugins site.

zs-Delay-Filter-Roar-Rackm4l-Knobbler4plugins
11

Minor always-show fix on the plugins site.

plugins
10

Simplified purchase logic in knobbler-native and updated m4l-Knobbler4 creator credits. Switched plugins site payment to Stripe link and added Google Analytics.

knobbler-nativem4l-Knobbler4plugins
09

Version bump and Android exception fix in knobbler-native.

knobbler-native
08

Updated data deletion details in m4l-Knobbler4.

m4l-Knobbler4
05

Added data deletion information to m4l-Knobbler4.

m4l-Knobbler4
04

Released m4l-Knobbler4 v43 adding a record observer. Fixed parent ID protection in knobbler-native.

knobbler-nativem4l-Knobbler4
03

Released m4l-Knobbler4 v42 with VST debouncing and parent object ID in device payloads. Added a collapsible nav panel to knobbler-native with Android always-paid in production (v2025.9.3).

knobbler-nativem4l-Knobbler4
02

Released m4l-ClearSends v2 with a mappable button. Added tablet stand documentation to m4l-Knobbler4. Started work on the photodirs project with content hashing and proper image regeneration. Added ClearSends to the plugins site.

knobbler-nativem4l-ClearSendsm4l-Knobbler4photodirsplugins
01

Created and released a brand-new Max for Live device, m4l-ClearSends, with the initial check-in of over 8000 lines.

m4l-ClearSends

Aug

31

Implemented Android IAP and refreshed the setup page in knobbler-native.

knobbler-native
29

Fixed a hostname trailing-period bug in m4l-Knobbler4 (community- diagnosed). Improved plugins site with Tailwind styling.

m4l-Knobbler4pluginssteinkamp.us
28

Released m4l-Modulation-Math v9 with clip modes (thanks to community report) and v10 reimplementing fold/wrap in native Max for better performance. Overhauled the plugins site with candy-like buttons, improved rack info and color styling.

m4l-Modulation-Mathpluginssteinkamp.us
26

Fixed dumb bugs and bumped version in knobbler-native.

knobbler-native
24

Version code and build number cleanup in knobbler-native (v2025.8.24).

knobbler-native
22

Added an apology/note to m4l-Knobbler4.

m4l-Knobbler4
21

Added phone debug info and synced purchases on app start in knobbler- native (v2025.8.21).

knobbler-native
20

Submitted knobbler-native for review with minor IAP sandbox and purchase flow tweaks.

knobbler-native
15

Added StoreKit support, a PurchaseModule component, and set Android as a paid app in knobbler-native (v2025.8.15).

knobbler-native
14

Reached a solid IAP integration checkpoint in knobbler-native with RevenueCat.

knobbler-native
13

Continued IAP integration in knobbler-native, removing hand-rolled implementation and iterating through RevenueCat setup checkpoints.

knobbler-native
12

Started integrating in-app purchases into knobbler-native, exploring both expo-iap and RevenueCat libraries.

knobbler-native
11

Minor license update in m4l-Quantize-MIDI.

m4l-Quantize-MIDI
08

Started an audio version of m4l-VariationOctave as a work-in-progress.

m4l-VariationOctave
07

Fixed nav width resize bug in knobbler-native.

knobbler-native
01

Released m4l-Knobbler4 v41 adding optional automated page change, per a feature request from Jamie Lidell.

m4l-Knobbler4

Jul

31

Added good resizing support to knobbler-native. Refined PitchPath and multi-device documentation on the plugins site.

knobbler-nativeplugins
30

Minor fix on steinkamp.us.

steinkamp.us
22

Created and published a brand-new Max for Live device, m4l-Modulation- Deviation, with assets, GIF, and initial release. Added it to the plugins site.

m4l-Modulation-Deviationplugins
21

Fine-tuned padding in knobbler-native.

knobbler-native
20

Released m4l-Knobbler4 v39 and v40 adding /toggleGroup support for expanding/collapsing group tracks via long press, and chain color support on Bluhand and current param slider. Updated knobbler-native with larger toolbar buttons on tablets and long-press group toggle.

knobbler-nativem4l-Knobbler4
16

Updated Node.js version on dick.steinkamp.us.

dick.steinkamp.us
14

Released m4l-Knobbler4 v38 with a reworked device discovery mechanism and updated documentation.

m4l-Knobbler4
08

Released m4l-Knobbler4 v37 with ping/pong keepalive protocol to maintain reliable connections. Updated knobbler-native with margin tuning and deviceVersion fingerprinting. Added a volunteer post to steinkamp.us.

knobbler-nativem4l-Knobbler4steinkamp.us
07

Minor plugins site update (restart).

plugins
04

Updated multiple tablets documentation in m4l-Knobbler4.

m4l-Knobbler4
03

Added ping/heartbeat support and removed immediate transport send in knobbler-native.

knobbler-native
02

Added cost information to m4l-Knobbler4 docs.

m4l-Knobbler4
01

Bumped Android version codes and target SDK for knobbler-native.

knobbler-native

Jun

25

Completed and released knobbler-native with Current Param support (v36 companion), achieving consistent styling for phone and tablet. Released m4l-Knobbler4 v36 with the new current param feature.

knobbler-nativem4l-Knobbler4
24

Fixed a mixer tablet layout bug in knobbler-native and continued refining the Current Param feature.

knobbler-native
23

Continued building out the Current Param feature across knobbler-native (phone layout, param display, nav integration) and m4l-Knobbler4 (nav page, default fixes).

knobbler-nativem4l-Knobbler4
22

Started adding a Current Param display feature to knobbler-native with initial cuts for tablet and phone layouts. Added current param support to m4l-Knobbler4.

knobbler-nativem4l-Knobbler4
20

Updated m4l-Knobbler4 with instructions for audio device setup and Max 9 transition notes.

m4l-Knobbler4
09

Added MIDI CC Bridge reference to m4l-Knobbler4 docs.

m4l-Knobbler4
07

Created and released a brand-new Max for Live device, m4l-MIDI-CC- Bridge, with initial frozen files, and added it to the plugins site.

m4l-MIDI-CC-Bridgeplugins
06

Added a money/donation page to steinkamp.us.

steinkamp.us

May

26

Released m4l-Knobbler4 v35 adding support for multiple tablets connecting simultaneously, with configurable listen port and various bug fixes for Android compatibility and init reliability.

knobbler-nativem4l-Knobbler4
24

Fixed RSS feed and a 404 on steinkamp.us (thanks to community report).

steinkamp.us
23

Made small word and formatting updates to dick.steinkamp.us.

dick.steinkamp.us
19

Added single-instance enforcement to m4l-Knobbler4.

m4l-Knobbler4
10

Released m4l-KeyStepper v8 as a polished working state with updated docs, and continued toward scale awareness.

m4l-KeyStepper
09

Started building a new m4l-KeyStepper device with initial checkpoint commits exploring scale-aware step sequencing.

m4l-KeyStepper
08

Updated an image in m4l-Knobbler4 docs.

m4l-Knobbler4
06

Prepared m4l-Knobbler4 v35 pre-release and fixed variation selection after saving.

m4l-Knobbler4
02

Removed patronizing language from a steinkamp.us post.

steinkamp.us
01

Tweaked Variations display in m4l-Knobbler4.

m4l-Knobbler4

Apr

30

Published a new versions blog post and other articles on steinkamp.us. Minor Android and spacing fixes for m4l-Knobbler4.

steinkamp.usm4l-Knobbler4
29

Released m4l-Knobbler4 v34 removing Clips feature and simplifying the approach. Updated knobbler-native accordingly with fixed scene column width. Updated m4l-TapPanZeit headers and the plugins site.

knobbler-nativem4l-Knobbler4m4l-TapPanZeitplugins
28

Made recording clips show in red in knobbler-native. Limited m4l-Knobbler4 to 25 tracks and 25 scenes for performance.

knobbler-nativem4l-Knobbler4
27

Minor rework and pre-FlatList refactoring checkpoint in knobbler-native.

knobbler-native
24

Minor documentation touchups for m4l-Knobbler4.

m4l-Knobbler4
23

Refactored knobbler-native to use animated style only for strobe and broke out each track slot to its own component for cleaner rendering.

knobbler-native
20

Released knobbler-native with Clips feature (v2025.4.20) and m4l-Knobbler4 v33 with Clips support. Fixed clip rename cache issue, tempo on Android, and improved animation and velocity adjustment.

knobbler-nativem4l-Knobbler4
19

Continued performance and styling work in knobbler-native: scene selection, consistent button styles, and moved strobe to animated style. Minor m4l-Knobbler4 clips comment.

knobbler-nativem4l-Knobbler4
18

Prevented unnecessary re-renders in knobbler-native when only a slider value updates.

knobbler-native
17

Added clip/scene renaming, capture scene button, and pulsing playing button to knobbler-native. Implemented rename clip/scene and capture- insert in m4l-Knobbler4, and fixed a variations bug.

knobbler-nativem4l-Knobbler4
16

Major performance improvements to knobbler-native: added JSON parse caching, key fingerprint caching, and identified border animation as a performance bottleneck. Added strobe support to m4l-Knobbler4.

knobbler-nativem4l-Knobbler4
15

Released m4l-Knobbler4 v33 with minor adjustments.

m4l-Knobbler4
14

Intensive performance optimization day for knobbler-native: memoized track slot clips, broke clips into components, fixed CPU-hogging animation, refined gesture handling, and improved overall touch responsiveness.

knobbler-nativem4l-Knobbler4
13

Improved render performance in knobbler-native with pan gesture replacing double ScrollView and various scroll and shadow refinements.

knobbler-native
12

Polished clip/scene UI in knobbler-native with cool page nav, group lines, and clip goto. Fixed double-tap in volume slider. m4l-Knobbler4 reached a group lines checkpoint too.

knobbler-nativem4l-Knobbler4
11

Added refresh button, recording flag awareness, and clip slots integration to knobbler-native. Implemented scenes, clip slot refresh on arm, and play icons for group slots in m4l-Knobbler4.

knobbler-nativem4l-Knobbler4
10

Worked on layout and animation in knobbler-native with pinch-only gesture for width control, scroll checkpoints, pulsating elements, and FPS optimization.

knobbler-native
09

Explored bottom bar positioning and pinch gesture for knobbler-native width control. Started a clips checkpoint in m4l-Knobbler4.

knobbler-nativem4l-Knobbler4
05

Fixed a note bug in m4l-VariationOctave. Improved the plugins site with friendlier nav, centered layout, and unified layout code with mono integration.

m4l-VariationOctaveplugins
04

Created and released a brand-new Max for Live device, m4l-VariationOctave, with initial commit and v1 frozen files, and added it to the plugins site.

m4l-VariationOctaveplugins
03

Added Ableton Live Variations support to both knobbler-native and m4l-Knobbler4 (v32), allowing the current variation to be displayed and selected from the app. Also linked m4l-CurrentParamKnob USB knob support.

knobbler-nativem4l-Knobbler4m4l-CurrentParamKnob

Mar

31

Released m4l-CurrentParamKnob v2 with USB control support and debug tooling. Added it to the plugins site.

m4l-CurrentParamKnobplugins
30

Added version display to the plugins site.

plugins
29

Released m4l-TriggerSeq v4 with bug fixes, polish, and updated readme and frozen files.

m4l-TriggerSeq
28

Switched m4l-TriggerSeq to static live.banks to avoid crashes and reached a stable checkpoint.

m4l-TriggerSeq
26

Fixed About page and Patreon link issues on the plugins site.

plugins
24

Added a Patreon button to the plugins site and fixed some page/description issues. Added a first commit to m4l-zs-Faderboard3.

m4l-zs-Faderboard3plugins
23

Released m4l-TriggerSeq v3 with hold mode and wider swing range, plus poly/choke fixes. Added double-tap restore and Android build targets to knobbler-native.

m4l-TriggerSeqknobbler-nativeplugins
22

Major m4l-TriggerSeq update: released v2 with chord support (8 voices), tie mode, color improvements, presets, and crash fixes.

m4l-TriggerSeqplugins
21

Fixed SVG files in m4l-TriggerSeq and added random step generation. Added a video thumbnail to m4l-ScratchBacker.

m4l-TriggerSeqm4l-ScratchBacker
20

Polished and completed m4l-TriggerSeq with readme, images, code cleanup, and better step placement — added it to the plugins site.

m4l-TriggerSeqplugins
19

Released m4l-PitchPath v5 with transport lock and a timing bug fix. Released m4l-Knobbler4 v31 simplifying device names on Bluhand. Multiple knobbler-native improvements including single-tap value sending for consistent mapping and track tap fixes.

knobbler-nativem4l-Knobbler4m4l-PitchPathplugins
18

Added a video and fixed an SVG to m4l-PitchPath. Minor border tweak in m4l-Knobbler4 and a backtick rendering fix in the plugins site.

m4l-PitchPathm4l-Knobbler4plugins
17

Released m4l-PitchPath v3 and v4 adding Phase controls, transport sync, presets, instructions, and fixing a timing bug. Updated plugins site with a MIDI Effects category and better formatting.

m4l-PitchPathm4l-Knobbler4m4l-SimulScrubplugins
16

Released m4l-Knobbler4 v31 making it resilient to non-compliant MIDI devices. Removed zs-kick-2 from the plugins site listing.

m4l-Knobbler4plugins
14

Updated an ingredients list on steinkamp.us.

steinkamp.us
13

Refined m4l-TriggerSeq with a scale quantization bug fix, layout moves, and parameter name cleanup.

m4l-TriggerSeq
12

Continued building m4l-TriggerSeq with banks, swing, and dial controls across six checkpoint commits.

m4l-TriggerSeq
11

Renamed parameters in m4l-TriggerSeq and added a resource post to steinkamp.us.

m4l-TriggerSeqsteinkamp.us
09

Started working on a new m4l-TriggerSeq device with an initial checkpoint commit covering significant new code.

m4l-TriggerSeq
08

Fixed a crash in expo-osc when client/server were nil, bumped knobbler- native for the fix, and polished steinkamp.us.

expo-oscknobbler-nativesteinkamp.us
07

Minor version bumps and iOS push notification warning fix in knobbler- native. Small updates to m4l-Knobbler4 docs and steinkamp.us.

knobbler-nativem4l-Knobbler4steinkamp.us
06

Updated m4l-Knobbler4 docs with port info. Improved the plugins site with responsive layout, better nav, and yellow hover links. Released Android version of knobbler-native.

knobbler-nativem4l-Knobbler4plugins
05

Released m4l-Knobbler4 v30 with auto-collapse of racks, bidirectional OSC page automation, and track children toggling. Also launched a new device, zs-kick-2, and added it to the plugins site. Fixed several knobbler-native bugs and improved its OSC reliability.

knobbler-nativem4l-Knobbler4zs-kick-2plugins
03

Fixed a stale value bug in knobbler-native (v6), enforced tablet-only mode, optimized Android rendering with useMemo cutting render time from 30ms to 8-10ms, and improved Android gestures.

knobbler-native
02

Cosmetic code cleanup in knobbler-native and minor plugins site link color and ChiasticSlide fixes.

knobbler-nativeplugins
01

Released m4l-Knobbler4 v29 removing the control surface requirement (major usability improvement) with more reliable nav display. Published a Knobbler article on steinkamp.us and added plugins site updates.

m4l-Knobbler4m4l-MoireArppluginssteinkamp.us

Feb

28

Bumped the Android version in knobbler-native.

knobbler-native
27

Improved gesture handling in vertical sliders for Android in knobbler- native and attempted to hide the Android navigation bar. Minor updates to m4l-ChiasticSlide and m4l-Knobbler4 app store images.

knobbler-nativem4l-Knobbler4m4l-ChiasticSlide
25

Added Android support fixes to expo-osc and corresponding Android build/gesture changes to knobbler-native.

expo-oscknobbler-native
24

Released m4l-Knobbler4 v28 fixing a bug where grouped tracks appeared at the end of the track list rather than within their group.

m4l-Knobbler4
23

Added video links to m4l-Knobbler4 documentation.

m4l-Knobbler4
22

Released m4l-Knobbler4 v27 fixing a crash bug for tracks with no devices. Added credits and attempted video embedding. Also added an embedded video to the plugins site.

m4l-Knobbler4plugins
21

Expanded the m4l-Knobbler4 OSC API documentation, added slider/knob state descriptions, TOC, and download section. Improved plugins site navigation with TOC and separator support.

m4l-Knobbler4plugins
20

Improved the m4l-Knobbler4 setup docs with Windows firewall images and better control surface wording. Added TypeScript fixes, docs sidebar, and a privacy policy to the plugins site.

m4l-Knobbler4plugins
19

Shipped m4l-Knobbler4 v25 and v26 fixing VST param bugs, and completed comprehensive documentation with USB images and full content. Built out the plugins site with docs support, download buttons, styling, and nginx image serving.

knobbler-nativem4l-Knobbler4plugins
18

Completed substantial documentation for m4l-Knobbler4 with overview images, reordered content, and released v24 fixing mixer control enablement based on has_output. Added docs to the plugins site.

m4l-Knobbler4plugins
17

Started writing documentation for m4l-Knobbler4 with overview images and initial doc structure.

m4l-Knobbler4
16

Released m4l-Knobbler4 v23 with control surface detection warnings, a revamped snappier refresh system, and exclusive arm bug fixes. Added device version warning UI to knobbler-native.

knobbler-nativem4l-Knobbler4
15

Improved knobbler-native navigation with a custom nav component shared across screens, and added app version enforcement. Updated m4l-Knobbler4 to send version on refresh and refine control surface messaging.

knobbler-nativem4l-Knobbler4
14

Added control surface detection with warnings to both knobbler-native and m4l-Knobbler4. Released m4l-Knobbler4 v22 with proper exclusive arm/solo handling and decoupled input enable from record arm.

knobbler-nativem4l-Knobbler4
13

Released m4l-Knobbler4 v21 with a full channel mixer, direct Bluhand-to- Knobbler mapping, and stock device bank imports. Fixed a horizontal slider width calculation bug in knobbler-native.

knobbler-nativem4l-Knobbler4
12

Reached a working checkpoint for track output (actual params) in m4l-Knobbler4 with deduped output and freepeer task cancellation. Fixed device highlighting bugs in knobbler-native. Also continued ChiasticSlide ring work.

knobbler-nativem4l-Knobbler4m4l-ChiasticSlide
11

Made significant progress on track output support in m4l-Knobbler4 in an in-progress working checkpoint.

m4l-Knobbler4
10

Added toggleable device children display, switched Bluhand mapping from long-press to tap, and removed redundant color constants in knobbler- native. Applied polish to m4l-Knobbler4 as well.

knobbler-nativem4l-Knobbler4
09

Improved device on/off handling and simplified the record toggle in knobbler-native. Fixed record arm switches behavior in m4l-Knobbler4.

knobbler-nativem4l-Knobbler4
08

Polished knobbler-native animations, mapping UI, and sent Ableton track colors to the app. Added seamless Bluhand-to-Knobbler direct mapping in m4l-Knobbler4.

knobbler-nativem4l-Knobbler4
07

Fine-tuned spacing, color, and UX in knobbler-native including a crossfader control. Added crossfader and sends initialization to m4l-Knobbler4, and group track pass-through.

knobbler-nativem4l-Knobbler4
06

Introduced swipe-based navigation in knobbler-native and added a toggle- able always-present nav bar. Improved m4l-Knobbler4 utility parameter handling for mid/side mode and cleaned up param name bugs.

knobbler-nativem4l-Knobbler4
05

Released m4l-Knobbler4 v20 with collapsed track handling, stability improvements, and /initMenu support. Released m4l-PitchPath v2 fixing relative mode note lag. Touched m4l-TapPanZeit and m4l-ChiasticSlide too.

knobbler-nativem4l-Knobbler4m4l-PitchPathm4l-TapPanZeitm4l-ChiasticSlide
04

Improved dropdown scroll interaction and button styling in knobbler- native. Enhanced m4l-Knobbler4 stability by removing the periodic task suspected of causing crashes and using visible_tracks vs tracks for collapsed group navigation.

knobbler-nativem4l-Knobbler4
03

Released m4l-Knobbler4 v19 with device on/off support and performance improvements. Refined knobbler-native button styles and fixed several small bugs including key errors and menu flash behavior.

knobbler-nativem4l-Knobbler4plugins
02

Polished knobbler-native with a unified dropdown, device on/off support, and color/spacing fixes. Updated m4l-Knobbler4 with name lookup caching, track on/off support, and color caching.

knobbler-nativem4l-Knobbler4
01

Released m4l-Knobbler4 v18 with automation/enabled state, macro knob layout improvements, and consistent device/track payloads for the hierarchical browser. Refactored knobbler-native with better state management, device shortcuts on knobbler pages, and disabled parameter handling.

knobbler-nativem4l-Knobbler4plugins

Jan

31

Major quality day: improved knobbler-native dropdown scroll behavior, automation state display, and UI styling. Updated m4l-Knobbler4 with automation state, track/device types, and performance improvements. Also added expo-osc restartServer support and published a new music article on steinkamp.us.

knobbler-nativem4l-Knobbler4steinkamp.usexpo-osc
30

Cleaned up hierarchical track/device structure handling in both knobbler-native and m4l-Knobbler4, and added more documentation to m4l-PitchPath.

knobbler-nativem4l-Knobbler4m4l-PitchPath
29

Added session record button to knobbler-native along with improved flex layout for sliders. Released m4l-Knobbler4 v17 with session record and main channel support.

knobbler-nativem4l-Knobbler4
28

Swapped a static image for an animated GIF in the plugins site.

plugins
27

Completed and released m4l-PitchPath v1 with relative mode, renaming from LineSeq, frozen files, readme, images, and observer improvements. Added main track support to both knobbler-native and m4l-Knobbler4, and added PitchPath to the plugins site.

knobbler-nativem4l-Knobbler4m4l-PitchPathplugins
26

Released m4l-Knobbler4 v16 (track/device browsing, tempo controls, macro knob limits). Continued developing m4l-PitchPath with preset support and visual polish. Also cleaned up knobbler-native UI.

knobbler-nativem4l-Knobbler4m4l-PitchPath
25

Heavy UI work on knobbler-native: added dropdowns for track and device selection, icon improvements, tempo display, and layout refinements. Fixed two community-reported bugs in m4l-Knobbler4 (page layout and off- by-one in slot display).

knobbler-nativem4l-Knobbler4
24

Started a brand-new Max for Live device, m4l-PitchPath, with nearly 2000 lines in the initial commit — a strong first working checkpoint.

m4l-PitchPath
22

Added more action buttons to knobbler-native. Released m4l-Knobbler4 v15 with extensive iPad app support: transport controls, Capture MIDI, loop, status indicators for play/record/automation states, and marker navigation.

knobbler-nativem4l-Knobbler4
21

Added transport controls with icons to knobbler-native and improved font handling. Released m4l-Knobbler4 v14 with transport support, better navigation, and a mapping bug fix.

knobbler-nativem4l-Knobbler4
20

Added track and device navigation buttons with Ableton-style colors to knobbler-native. Released m4l-Knobbler4 v13 with bank buttons, track/device navigation, bank name payloads, and random bank access.

knobbler-nativem4l-Knobbler4
19

Improved font state handling in knobbler-native and laid groundwork for bank navigation buttons.

knobbler-native
18

Minor layout improvement to knobbler-native.

knobbler-native
14

Added a small TODO note to m4l-MoireArp about initial note state.

m4l-MoireArp
12

Launched a new Max for Live device, m4l-Crisco (a lookahead limiter), with its initial v1 release. Also shipped m4l-Knobbler4 v12 featuring a tabbed UI, Bluhand preset controls, live.banks support, and added Crisco to the plugins site.

knobbler-nativem4l-Knobbler4m4l-Criscoplugins
11

Restored reliable Zeroconf re-advertising in knobbler-native by moving it back into its own component so the app re-advertises on wake. Fixed a shortcut button recall bug in m4l-Knobbler4 by validating the path on a 1-second interval after mapping.

knobbler-nativem4l-Knobbler4
10

Automated App Store compliance steps for knobbler-native and made minor UI refinements including active tab color and test button.

knobbler-native
09

Intensive debugging session on expo-osc (32 commits) to fix mDNS/Bonjour server integration, trying many approaches to get OSC advertising working reliably. Consolidated knobbler-native Zeroconf into an autodiscovery component and set up build tooling.

expo-oscknobbler-native
08

Iterative debugging work on the expo-osc library (accessor experiments, null/nil handling) and minor knobbler-native OSC client improvements. Added better Wavetable params to m4l-Knobbler4.

expo-oscknobbler-nativem4l-Knobbler4
07

Reorganized knobbler-native components and consolidated OSC listeners. Expanded m4l-Knobbler4 instrument support with Analog, Operator, Meld, Simpler, and Roar parameter banks, and fixed an accumulation/collision bug.

knobbler-nativem4l-Knobbler4
06

Major cleanup and reliability work on knobbler-native: fixed a CPU leak by creating the OSC server only once, removed a flawed OSC implementation, refined modals and splash screen. Updated m4l-Knobbler4 with new instrument banks (compressor, electric) and groundwork for custom Bluhand banks.

knobbler-nativem4l-Knobbler4
05

Fixed a critical bug in knobbler-native where only one Knobbler device showed up at a time, improved device-name-based discovery, and added a splash screen. Updated m4l-Knobbler4 OSC handling and documentation, and touched the plugins repo.

knobbler-nativem4l-Knobbler4plugins
04

Big day across both projects: added Zeroconf/mDNS auto-discovery and positive connection feedback to knobbler-native, and shipped m4l-Knobbler4 v11 with a SYN/ACK handshake for reliable connection, bug fixes for Bluhand track names and frozen-device value sending, and updated frozen files.

knobbler-nativem4l-Knobbler4
03

Applied visual polish to knobbler-native including a black background, correct initial slider values on construction, and app name and icons.

knobbler-native
02

Made small quality-of-life improvements to knobbler-native: formatted float values more nicely and optimized rendering with useMemo.

knobbler-native
01

Spent the day polishing the knobbler-native app with modal UI, consolidated title options, cute icons, and connection management (host/port fetch, text input, and connection clearing). Also tweaked the m4l-Knobbler4 Bluhand slider colors.

knobbler-nativem4l-Knobbler4

2024

Dec

31

Added auto-discovery, a settings/setup screen, OSC switching, icon polish, and header styling to knobbler-native to close out the year.

knobbler-native
30

Refactored knobbler-native into component files, added jump-to-track, centralized text colors, and visual polish.

knobbler-native
29

Continued knobbler-native development, getting banks, shortcuts, Bluhand view, double-tap, and a second page working across 18 commits.

knobbler-nativem4l-Knobbler4
28

Made 18 commits to the new knobbler-native React Native app, building out the Slider component, color system, flow layout, and basic GUI infrastructure, adding 15,000+ lines.

knobbler-nativem4l-Knobbler4
27

Updated expo-osc README with string presence documentation.

expo-osc
26

Added device names to Knobbler4 documentation.

m4l-Knobbler4
25

Added a Troubleshooting section to Knobbler4 README and fixed a relative link bug in the plugins site.

m4l-Knobbler4plugins
22

Released FractalNoteEcho v7 fixing an out-of-scale note bug, and added an about page with email to the plugins site.

pluginsm4l-FractalNoteEcho
21

Released Faderboard3 v7 with scale awareness across four commits, adding 10,000+ lines.

m4l-zs-Faderboard3
20

Released Knobbler4 v10 fixing Current Param Knob string value display, and started scale-awareness work on Faderboard3, adding 24,000+ lines.

m4l-zs-Faderboard3m4l-Knobbler4
19

Simplified scale display wording in FibonacciNoteEcho and FractalNoteEcho.

m4l-FibonacciNoteEchom4l-FractalNoteEcho
18

Released FibonacciNoteEcho v6 and FractalNoteEcho v6 with scale awareness, fixed an in-between note bug in MoireArp, and added category navigation and a better header to the plugins site, totaling 9,800+ lines.

pluginsm4l-FibonacciNoteEchom4l-FractalNoteEchom4l-MoireArp
17

Released MoireArp v2 with scale awareness and added recent-plugins display and dynamic layout to the plugins site.

pluginsm4l-MoireArp
15

Released ChiasticSlide v10 with automation buttons, updated README images in multiple M4L repos, and simplified the plugins site layout.

m4l-ChiasticSlidepluginsm4l-FibonacciNoteEchom4l-FractalNoteEchom4l-Modulation-Delaym4l-Modulation-Mathm4l-Modulation-Stepperm4l-MoireArpm4l-TapPanZeitm4l-WavScopem4l-zs-Faderboard3
14

Heavily polished the plugins site with grid layout, favicon, better footer, category tiles, and MoireArp listing, across 20 commits, and migrated plugin content from steinkamp.us to the new plugins subdomain.

pluginsm4l-WavScopesteinkamp.us
13

Made significant progress on the plugins site with a development checkpoint.

plugins
12

Made the initial commit of the new plugins site project and fixed telemetry version strings in ChiasticSlide and Faderboard3, adding 6,900 lines.

pluginsm4l-ChiasticSlidem4l-zs-Faderboard3
11

Released ChiasticSlide v9 with the endless toggle and accurate min/max viz, and published a "20 years" blog post on steinkamp.us.

m4l-ChiasticSlidesteinkamp.us
10

Released Faderboard3 v6 with a default cleanup, and added an endless/fixed toggle and accurate min/max volume visualization to ChiasticSlide.

m4l-ChiasticSlidem4l-zs-Faderboard3
09

Reorganized layout and moved things around in Faderboard3.

m4l-zs-Faderboard3
07

Released ChiasticSlide v8 that detects and respects direction automation, and reverted a constant-power panning change in TapPanZeit due to volume issues.

m4l-ChiasticSlidem4l-TapPanZeit
04

Released Knobbler4 v9 with bugfixes, a JS router simplification, and a fix for button value display on sliders, with 32,000+ lines changed.

m4l-Knobbler4
03

Checkpointed a significant file breakout refactor for Knobbler4.

m4l-Knobbler4
01

Released Knobbler4 v8 fixing a bug with parameter path storage when devices or tracks are moved, adding 23,000+ lines.

m4l-Knobbler4

Nov

30

Experimented with constant-power panning in ChiasticSlide, added a separate width arc ring, and released Knobbler4 v7 with chain color support.

m4l-ChiasticSlidem4l-Knobbler4
29

Released m4l-ChiasticSlide v7 with an endless knob implementation using a sampling approach and updated images across 10 commits.

m4l-ChiasticSlide
28

Released Knobbler4 v6 using rack chain names/colors instead of track names, and fixed a bug where duplicate fader mappings only updated one fader, adding 24,000+ lines.

m4l-Knobbler4
27

Released m4l-MoireArp v1 and published it on steinkamp.us with 5,000+ lines added.

m4l-MoireArpsteinkamp.us
26

Made solid progress on m4l-MoireArp with floating-point correctness fixes across four development checkpoints.

m4l-MoireArp
25

Applied a Moire baseline styling update across CurrentParamStrip, TriggerSeq, TypeScript base, and MoireArp, with 27,000 lines of churn.

m4l-CurrentParamStripm4l-TriggerSeqm4l-typescript-basem4l-MoireArp
24

Minor README heading and terminology fixes in m4l-zs.mapper.

m4l-zs.mapper
23

Explored and reverted zs.mapper integration into six modulation devices, then improved zs.mapper installation instructions and consistency across 26 commits.

m4l-zs.mapperm4l-CorrelationModulationm4l-Modulation-Delaym4l-Modulation-Inertiam4l-Modulation-Lerpm4l-Modulation-Mathm4l-Modulation-Stepperm4l-zs.mapper.ORIGsteinkamp.us
22

Released TapPanZeit v11 with full stereo meters and a buffer-based architecture, added a Live 12 workaround to ChiasticSolo docs, totaling 9,000+ lines.

m4l-TapPanZeitm4l-ChiasticSolosteinkamp.us
21

Added level meters to TapPanZeit, updated ChiasticSolo with a warning, and added indentation and warning content to steinkamp.us.

steinkamp.usm4l-ChiasticSolom4l-TapPanZeit
20

Released TapPanZeit v10 with small refinements from video prep obsession, adding 8,100 lines.

m4l-TapPanZeit
19

Fixed a bug and polished TapPanZeit in preparation for a "how it's made" video.

m4l-TapPanZeit
16

Released TapPanZeit v9 with 7,900+ new lines.

m4l-TapPanZeit
14

Refactored TapPanZeit to rename voice to tap, improved multi-instance safety, and polished the UI across 5 commits.

m4l-TapPanZeit
13

Released ScratchBacker v2 and added a video link, adding 7,800+ new lines.

m4l-ScratchBacker
12

Iterated on ScratchBacker with slot support, stats display, and a v2 candidate.

m4l-ScratchBacker
11

Completed and released m4l-ScratchBacker with README, images, instructions, and published it on steinkamp.us, adding 9,000+ lines.

m4l-ScratchBackersteinkamp.us
10

Started building m4l-ScratchBacker, a new M4L device, reaching four iterative checkpoints with 7,000+ lines added.

m4l-ScratchBacker
08

Added an OSC reference to steinkamp.us.

steinkamp.us
07

Updated terms/wording on steinkamp.us.

steinkamp.us
02

Released WavScope v3 with split/join mode and a more compact layout.

m4l-WavScope
01

Improved the default settings for m4l-WavScope.

m4l-WavScope

Oct

31

Updated GPL license files across 28 repos in one coordinated sweep, improved osc-telemetry logging to track device base/version instead of IPs, and made content updates to steinkamp.us.

steinkamp.usm4l-ChiasticSlidem4l-ChiasticSolom4l-ChordRipperm4l-CorrelationModulationm4l-CurrentParamStripm4l-FibonacciNoteEchom4l-FractalNoteEchom4l-KS-Synthm4l-KeyStepperm4l-Knobbler4m4l-LenStepperm4l-Modulation-Delaym4l-Modulation-Inertiam4l-Modulation-Lerpm4l-Modulation-Mathm4l-Modulation-Stepperm4l-MoireArpm4l-Quantize-MIDIm4l-SimulScrubm4l-TapPanZeitm4l-TempoToMsm4l-TriggerSeqm4l-WavScopem4l-typescript-basem4l-zs-Faderboard3m4l-zs.mapperm4l-zs.mapper.ORIGosc-telemetry
30

Enhanced the osc-telemetry server with country lookup and JSON output, fixed the Faderboard3 v5 volume fader responsiveness, and updated device images.

osc-telemetrym4l-LenStepperm4l-TapPanZeitm4l-zs-Faderboard3
29

Built and launched the osc-telemetry server, then rolled out telemetry pings to 20 M4L devices in a single coordinated release day, adding 163,000+ lines across 29 repositories.

osc-telemetrym4l-ChiasticSlidem4l-KS-Synthm4l-ChiasticSolom4l-ChordRipperm4l-CorrelationModulationm4l-FibonacciNoteEchom4l-FractalNoteEchom4l-KeyStepperm4l-Knobbler4m4l-LenStepperm4l-Modulation-Delaym4l-Modulation-Inertiam4l-Modulation-Lerpm4l-Modulation-Mathm4l-Modulation-Stepperm4l-Quantize-MIDIm4l-SimulScrubm4l-TapPanZeitm4l-TempoToMsm4l-WavScopem4l-zs-Faderboard3steinkamp.us
28

Released TapPanZeit v8 allowing greater-than-100% delay time and adding shape presets, with 9,000+ lines changed.

m4l-TapPanZeit
27

Refined Faderboard3 slider behavior and curated its parameter set.

m4l-zs-Faderboard3
26

Released TapPanZeit v7 (renamed from previous) with simplified and corrected delay math, SVG assets, and documentation, totaling 6,000+ lines changed.

m4l-TapPanZeitsteinkamp.us
25

Refactored TapPanZeit to remove feed-forward delay in favor of a feedback approach.

m4l-TapPanZeit
22

Shipped Knobbler4 v4 with device presets, 16 assignable shortcut buttons, and a frozen candidate, adding 25,000+ lines.

m4l-Knobbler4
18

Launched WavScope (waveform oscilloscope) as a new M4L device, added banks and ignore support to ChordRipper, published CurrentParamKnob, and added .gitignore files to 15 repos, touching 24 commits across many projects.

m4l-ChordRipperm4l-WavScopem4l-CurrentParamKnobm4l-js-toggleInputsteinkamp.usm4l-CorrelationModulationm4l-FractalNoteEchom4l-KS-Synthm4l-KeyStepperm4l-Knobbler4m4l-Modulation-Inertiam4l-Quantize-MIDIm4l-SimulScrubm4l-TapPanZeitm4l-zs-Faderboard3
17

Released bug-fix versions of KeyStepper v6, LenStepper v5, and TapPanZeit v6 (with presets), and shipped Faderboard3 v3 with an octaves mode, totaling 22,000+ lines changed across 13 commits.

m4l-zs-Faderboard3m4l-KeyStepperm4l-LenStepperm4l-TapPanZeitsteinkamp.us
16

Updated Faderboard3 with improved look and feel and fixed preset storage, plus published a comet observation post on steinkamp.us.

m4l-zs-Faderboard3steinkamp.us
12

Released Knobbler4 v3 with improved current-param-knob responsiveness, bank reset on device change, and consolidated TouchOSC file with Bluhand, adding 21,000+ lines.

m4l-Knobbler4steinkamp.us
11

Published a shop light post on steinkamp.us.

steinkamp.us

Sep

30

Added iPad refresh support, improved title alignment, refined Bluhand color changes, and added a ports diagram to Knobbler4.

m4l-Knobbler4
29

Added control surface setup documentation to Knobbler4.

m4l-Knobbler4
28

Added SimulScrub video embeds to steinkamp.us.

steinkamp.us
27

Updated USB documentation in Knobbler4.

m4l-Knobbler4
26

Fixed refresh crash issues in Knobbler4, added USB connection instructions, and updated the Knobbler4 post on steinkamp.us.

m4l-Knobbler4steinkamp.us
25

Added OSC API docs and playlist link to Knobbler4, and future-proofed download links on steinkamp.us.

m4l-Knobbler4steinkamp.us
24

Added jump-to-track documentation to Knobbler4 README.

m4l-Knobbler4
22

Shipped Knobbler4 v2 with hot-tip images and supporting materials, adding 21,000+ lines.

m4l-Knobbler4
21

Made touchup refinements to Knobbler4.

m4l-Knobbler4
20

Successfully integrated Bluhand support and double-tap-for-default into Knobbler4, with 18,000+ lines of churn across two commits.

m4l-Knobbler4
18

Checkpointed a major Knobbler4 refactor with 271 lines added and 300 removed.

m4l-Knobbler4
17

Reached an abandon point on the Bluhand integration experiment in Knobbler4 and published a short blurb on steinkamp.us.

m4l-Knobbler4steinkamp.us
16

Made significant progress integrating Bluhand controller support into Knobbler4.

m4l-Knobbler4
14

Migrated m4l-KeyStepper to TypeScript (v5), added jump-to-track and label overflow handling to Knobbler4, and fixed module import issues across MoireArp, TriggerSeq, and the TypeScript base, touching 14 repos.

m4l-KeyStepperm4l-Knobbler4m4l-CurrentParamStripm4l-MoireArpm4l-TriggerSeqm4l-typescript-base
13

Released ChiasticSlide v5 tracking children population/colors, released TempoToMs v5 in a smaller layout that works as an audio device, and fixed Knobbler4 double-tap default.

m4l-TempoToMsm4l-ChiasticSlidem4l-Knobbler4
12

Added Knobbler images and fixed a category bug on steinkamp.us.

steinkamp.us
11

Added selected parameter display to Knobbler4, updated the Knobbler4 post on steinkamp.us, and fixed a few typos.

steinkamp.usm4l-Knobbler4
10

Shipped m4l-ChiasticSlide v4 with improved orientation, minmax support, and a frozen release, across 9 commits and 3,000+ lines.

m4l-ChiasticSlide
08

Froze Knobbler4 v1 with polished docs, TouchOSC files, renamed prefix, and published the Knobbler4 page on steinkamp.us, totaling 27,000+ lines changed.

m4l-Knobbler4steinkamp.us
07

Fixed developer experience issues and shipped updates to Knobbler4 with 7,000+ lines changed.

m4l-Knobbler4
06

Made the initial commit of the new m4l-Knobbler4 device with full evolution history and toggle-record support, and added zip-generation scripts to steinkamp.us, totaling 11,000+ lines.

m4l-Knobbler4steinkamp.us
03

Fixed YAML and content in a steinkamp.us post, adding an Amazon link.

steinkamp.us
02

Added tags support to the post template on steinkamp.us and removed a border in photodirs.

steinkamp.usphotodirs
01

Published a magnetic monitor mount post on steinkamp.us.

steinkamp.us

Aug

30

Made a minor width adjustment in photodirs.

photodirs
29

Added cross-references to the zs.mapper device in four modulation device READMEs and made minor steinkamp.us copy tweaks.

steinkamp.usm4l-CorrelationModulationm4l-Modulation-Delaym4l-Modulation-Lerpm4l-Modulation-Math
27

Created and published the m4l-Modulation-Inertia device with initial commit and README, adding 13,000+ lines.

m4l-Modulation-Inertiasteinkamp.us
26

Launched the m4l-Quantize-MIDI device with initial commit, README, and fixed download links, and promoted it on steinkamp.us, adding 5,000+ lines.

m4l-Quantize-MIDIsteinkamp.us
21

Added video links to four modulation device READMEs, updated zs.mapper media structure, and added plugin categories to steinkamp.us.

m4l-CorrelationModulationm4l-Modulation-Delaym4l-Modulation-Lerpm4l-Modulation-Mathm4l-zs.mapperm4l-zs.mapper.ORIGsteinkamp.us
20

Made initial commits for the m4l-zs.mapper project (a new MIDI mapping utility) with extras support, totaling 22,000+ lines across two repos.

m4l-zs.mapperm4l-zs.mapper.ORIG
17

Added Live 12 modulation mode support to five modulation devices (Math v8, Lerp v3, Delay v4, Stepper v3, CorrelationModulation v2) with visual fixes, adding nearly 68,000 lines.

m4l-CorrelationModulationm4l-Modulation-Stepperm4l-FibonacciNoteEchom4l-FractalNoteEchom4l-Modulation-Delaym4l-Modulation-Lerpm4l-Modulation-Math
16

Massive refactor day: integrated prettier-eslint across all M4L TypeScript repos, launched a new CorrelationModulation device, and added three new modulation devices (Delay, Lerp, Stepper), totaling 49,000+ lines of churn across 12 repos.

m4l-FibonacciNoteEchom4l-FractalNoteEchom4l-CorrelationModulationm4l-CurrentParamStripm4l-Knobbler4m4l-Modulation-Delaym4l-Modulation-Lerpm4l-Modulation-Mathm4l-Modulation-Stepperm4l-MoireArpm4l-TriggerSeqm4l-typescript-base
15

Checkpointed progress on m4l-FractalNoteEcho.

m4l-FractalNoteEcho
14

Reached a great working state on both FibonacciNoteEcho and FractalNoteEcho with significant refinements.

m4l-FibonacciNoteEchom4l-FractalNoteEcho
10

Released m4l-KeyStepper v4 with presets and a phantom step fix, adding 2,200 lines.

m4l-KeyStepper
09

Shipped m4l-LenStepper v4 with preset support and fixed bugs related to loading sets and changing presets, totaling nearly 4,000 lines changed.

m4l-LenStepper
08

Added presets support and prettified the codebase for m4l-KeyStepper.

m4l-KeyStepper
05

Released m4l-zs-Faderboard3 v2 fixing high CPU usage, multi-instance bugs, and adding loop start/end swap with updated documentation, plus over 10,000 lines changed.

m4l-zs-Faderboard3steinkamp.us

Jul

29

Shipped FibonacciNoteEcho v4 with per-step flash behavior and TypeScript migration, updated FractalNoteEcho to v4, and updated screenshots on the personal site, with nearly 15,000 lines of churn.

m4l-FibonacciNoteEchosteinkamp.usm4l-FractalNoteEchom4l-CurrentParamStripm4l-Knobbler4m4l-MoireArpm4l-TriggerSeqm4l-typescript-base
28

Massive day: made initial commits across six M4L device repos (Knobbler4, MoireArp, TriggerSeq, FractalNoteEcho, CurrentParamStrip, and the TypeScript base template) and launched CurrentParamStrip as a new device, totaling 60 commits and 11,000+ lines added.

m4l-FractalNoteEchom4l-CurrentParamStripm4l-Knobbler4m4l-MoireArpm4l-TriggerSeqm4l-typescript-basem4l-FibonacciNoteEchosteinkamp.us
27

Published a "run side of road" blog post on steinkamp.us with touchups and an image.

steinkamp.us

Jun

27

Published a JPL post on steinkamp.us and polished caption placement.

steinkamp.us
26

Added filename-based sorting, re-enabled the dev/ mount, and cleaned up logging in photodirs.

photodirs
25

Fixed a path issue and noted VSCode devcontainer naming improvements on steinkamp.us.

steinkamp.us
08

Fixed the shuffle layout and removed shadows on steinkamp.us.

steinkamp.us
01

Fixed a bug and updated a resolution reference on steinkamp.us.

steinkamp.us

May

31

Published a new photo/content post and made several visual touchups to steinkamp.us.

steinkamp.us
24

Settled on Noto as the site font for steinkamp.us.

steinkamp.us
23

Added tags and experimented with fonts and spacing on steinkamp.us.

steinkamp.us
22

Made the initial commit of m4l-ChiasticSolo with a fixed automation bug, FAQ section, and GIF demo, and added it to the personal site.

m4l-ChiasticSolosteinkamp.us
19

Minor content update on steinkamp.us.

steinkamp.us
17

Published a retirement post and added a photo to steinkamp.us.

steinkamp.us
11

Updated video links in m4l-SimulScrub README.

m4l-SimulScrub
06

Released m4l-SimulScrub v4 with decoupled speed and volume ramp controls, fixed bugs, and updated device images, totaling over 5,700 lines changed.

m4l-SimulScrub
05

Iterated on de-clicking and audio quality improvements in m4l-SimulScrub across four commits.

m4l-SimulScrub
04

Added a YouTube link to m4l-SimulScrub README.

m4l-SimulScrub
02

Added mono file support to m4l-SimulScrub and fixed playback-on-load behavior.

m4l-SimulScrub
01

Froze m4l-SimulScrub v3 and added an about section; updated steinkamp.us to mention group track support, with 3,000+ new lines.

m4l-SimulScrubsteinkamp.us

Apr

28

Fixed playback direction in m4l-SimulScrub.

m4l-SimulScrub
27

Shipped major updates to m4l-ChiasticSlide (new visualization, grouped track support) and fixed looping/stop-start bugs in m4l-SimulScrub v2, with over 9,000 lines changed.

m4l-ChiasticSlidem4l-SimulScrub
21

Updated a driver reference on steinkamp.us.

steinkamp.us
20

Refined m4l-SimulScrub behavior.

m4l-SimulScrub
14

Added a reverse toggle feature to m4l-SimulScrub.

m4l-SimulScrub
13

Built and launched the m4l-SimulScrub device from initial commits through a polished release with README, GIF demo, and reverse toggle, across 10 commits and 3,000+ new lines.

m4l-SimulScrubsteinkamp.us
10

Minor toolbox update on steinkamp.us.

steinkamp.us
09

Added toolbox links and updated the ToC heading limit defaults on steinkamp.us.

steinkamp.us
08

Updated the about/social links section and fixed layout issues on steinkamp.us, including a 2024 refresh with nearly 1,000 lines changed.

steinkamp.us
04

Added a Feynman quote or reference to steinkamp.us.

steinkamp.us

Mar

30

Added GitHub Publish Actions to musics and steinkamp.us, added a Docker web container to steinkamp.us, cleaned up prefix handling across all three projects, and added a Strava route to a blog post.

steinkamp.usmusicsphotodirs
29

Continued wrestling with multi-platform Docker CI in photodirs across 19 commits, experimenting with matrix architecture builds and macOS ARM support, plus minor steinkamp.us tweaks.

photodirssteinkamp.us
28

Added a no-match message and contained the basic layout on steinkamp.us.

steinkamp.us
27

Added a Mission Ridge image and made minor layout fixes on steinkamp.us.

steinkamp.us
26

Spent a major day iterating on photodirs CI/CD — building multi- architecture Docker images with GitHub Actions, QEMU, and matrix builds — across 29 commits, while also moving ChiasticSlide releases to GitHub Releases.

photodirsm4l-ChiasticSlidemusics
25

Fixed cache volume deletion in photodirs.

photodirs
23

Enhanced the Makefile and made small adjustments to the filesystem apps post on steinkamp.us.

steinkamp.us
20

Tweaked transition colors on steinkamp.us.

steinkamp.us
18

Minor hover color fix, CSS cleanup, and IntersectionObserver tuning on steinkamp.us.

steinkamp.us
17

Fixed explicit histogram colors and hid tags on small screens on steinkamp.us.

steinkamp.us
16

Overhauled steinkamp.us with tagging support for all posts, a session- storage- backed filter, hydration fixes, and Tailwind dark mode variable cleanup, touching over 6,700 lines; also improved photodirs API cache headers.

steinkamp.usphotodirs
15

Added bins navigation to photodirs and simplified and fixed up a story post on steinkamp.us, with over 1,600 lines changed.

steinkamp.usphotodirs
14

Extended the steinkamp.us blog listing with a timeline view, iframe markdoc tag, and mono code improvements, shipping over 1,500 new lines.

steinkamp.us
13

Added a text filter, year histogram with date sliders, and styled form elements on steinkamp.us; also set up proper multi-container devcontainer support for esstraba.

steinkamp.usesstraba
12

Added RSS/Atom feed support, a top link nav, a wave header element, and image consistency improvements to steinkamp.us.

steinkamp.us
11

Small responsive and layout improvements to the musics project.

musics
10

Fixed multiple routing and rendering bugs in musics, updated the README and screenshots, improved sorting, and polished responsiveness across 23 commits.

musics
09

Rebuilt the musics project on a Tailwind CSS foundation with responsive layout, dark mode theme switcher, and an about page, totaling nearly 3,000 lines changed.

musics
07

Toned down copy, moved a screenshot, and fixed the mobile header on steinkamp.us.

steinkamp.us
06

Minor resume update and added spacing below posts on steinkamp.us.

steinkamp.us
05

Published a "filesystem apps" blog post on steinkamp.us with screenshots, simplified the ToC component, and updated photodirs images.

steinkamp.usphotodirs
04

Refined photodirs animations and README diagrams, and continued tuning steinkamp.us shadow effects, heading numbers, and ToC alignment across 25 commits.

steinkamp.usphotodirs
03

Spent the entire day deep in steinkamp.us ToC polish — adding IntersectionObserver highlighting, liquid animations, slug fixes, and Tailwind color theming across 30 commits.

steinkamp.us
02

Continued obsessive refinement of steinkamp.us CSS, color theming, and link rendering across 11 commits, plus a small photodirs cleanup.

steinkamp.usphotodirs
01

Delivered a highly polished table of contents feature to steinkamp.us after 21 commits of intense iteration, and added a dark mode toggle to photodirs.

steinkamp.usphotodirs

Feb

29

Improved steinkamp.us linting setup and header rendering, and updated the Fractal Note Echo README.

steinkamp.usm4l-FractalNoteEcho
28

Completed a working responsive table of contents for steinkamp.us.

steinkamp.us
27

Started work on a table of contents component for steinkamp.us blog posts, landing in a functional but not yet great state.

steinkamp.us
26

Minor wording and font tweaks across steinkamp.us and a contrast adjustment in photodirs.

steinkamp.usphotodirs
25

Published a YouTube post on steinkamp.us, made a small photodirs CSS fix, and corrected a typo.

steinkamp.usphotodirs
24

Heavily iterated on both photodirs and steinkamp.us UI, refining title popups, EXIF display, thumbnail chooser, and responsive layout across 25 commits.

photodirssteinkamp.us
23

Spent the day polishing the photodirs UI with visual improvements, gradient text, and color tweaks, while also updating the personal site's lenticular post and adding a Makefile target for new posts.

photodirssteinkamp.us
22

Merged a substantial pull request adding admin support and a configurator feature to the photodirs project, with nearly 8,000 lines added.

photodirs
13

Added a Giscus comments system to the personal blog and published a new life post on steinkamp.us.

steinkamp.us
05

Fixed a multi-instance bug in m4l-KeyStepper and shipped a major v2 update to m4l-Modulation-Lerp that restored hidden modulation destinations, with over 13,000 lines of churn.

m4l-KeyStepperm4l-Modulation-Lerp
04

Fixed a key bug in the musics project, improved layout consistency, and added album description support.

musics

Jan

27

Improved the musics project with album support, visual polish, and a key helper, while also updating Prettier configuration on steinkamp.us.

musicssteinkamp.us
15

Shipped Chiastic Slide v2 with a critical undo-buffer flood bug fixed, plus additional checkpointed development work totaling over 2,300 lines changed.

m4l-ChiasticSlide
09

Made the initial commit of a brand-new Max for Live device, Chiastic Slide, and published a corresponding blog post on steinkamp.us.

m4l-ChiasticSlidesteinkamp.us
07

Updated links on the personal website from HTTP to HTTPS, including YouTube embeds.

steinkamp.us

2023

Dec

27

Fixed a stray console log and added autoplay-next-song functionality to the musics project.

musics
26

Updated the dcraw_emu binary location and added .Trashes to the ignore list in photodirs.

photodirs
10

Overhauled m4l-CorrelationModulation with a real correlation calculation, and added a MIDI version to the m4l-Modulation-Math device across 4 commits with large binary changes.

m4l-CorrelationModulationm4l-Modulation-Math
09

Created and published a new m4l-CorrelationModulation Max for Live device with README, live.banks support, and added a post about it on steinkamp.us.

m4l-CorrelationModulationsteinkamp.us
04

Renamed the esstraba dev directory to support VS Code devcontainer and fixed search input trimming.

esstraba
02

Removed hard-coded heights from the musics project.

musics

Nov

30

Published a new post about wielding authority to steinkamp.us.

steinkamp.us
26

Fixed a console log and resolved a playback bug in the musics project.

musics
18

Released v3 of m4l-LenStepper with another substantial overhaul.

m4l-LenStepper
17

Released v2 of m4l-LenStepper, rewriting the timing approach after determining JavaScript timers are too unreliable for musical use, in a large commit.

m4l-LenStepper
13

Fixed a significant bug in m4l-LenStepper.

m4l-LenStepper
12

Created and published the m4l-LenStepper Max for Live device with an initial commit, and added a post about it on steinkamp.us.

m4l-LenSteppersteinkamp.us
10

Added OpenGraph metadata to the musics project.

musics
05

Improved the musics player styling significantly and updated the steinkamp.us site with musics content and devex improvements across 7 commits.

musicssteinkamp.us
01

Minor content tweak (star) on steinkamp.us.

steinkamp.us

Oct

28

Made small wording updates to steinkamp.us.

steinkamp.us
27

Added OpenGraph metadata support and published new therapy and personal content to steinkamp.us across 8 commits.

steinkamp.us
21

Released v2 of m4l-KeyStepper fixing an undo overflow bug in a large single commit.

m4l-KeyStepper
20

Published a Dev Team Blueprint article with images and redirects, plus several other content and wording updates to steinkamp.us.

steinkamp.us
19

Updated the resume and added nginx redirect rules to steinkamp.us.

steinkamp.us
16

Added nginx redirects for old URLs on steinkamp.us.

steinkamp.us
15

Added a Feedback Matrix post to steinkamp.us.

steinkamp.us
07

Fixed a typo in esstraba.

esstraba
06

Improved esstraba's map display, improved loading behavior, and fixed layout issues across 5 commits.

esstrabasteinkamp.us
05

Added chart support and decimation to esstraba, published a blog post about esstraba on steinkamp.us, and made various display refinements.

esstrabasteinkamp.us
04

Added a compass display and footer padding to esstraba.

esstraba
03

Added Mapbox GL 3D map support to esstraba alongside a solid photo slider and continued UI polish across 4 commits.

esstraba
02

Refined esstraba's photo slider, improved value/unit display, added max elevation, and made typography and layout refinements across 10 commits.

esstraba
01

Big esstraba polish day — improved responsive layout, built a better slideshow, added keyboard hotkey navigation, improved the activity grid UI, and fixed calorie and data display across 16 commits.

esstraba

Sep

30

Implemented React context for app state so back button works correctly, and added start/end map markers to esstraba.

esstraba
29

Added automatic topo and corrected running pace display, plus a map icon in esstraba.

esstraba
28

Added speed display, fixed distance rounding, and optimized some calculations in esstraba.

esstraba
27

Added gzipped GPX support, a responsive Tailwind layout, a README screenshot, and various cleanup to esstraba.

esstraba
26

Cleaned up the esstraba project substantially — fixed Tailwind config, improved fonts and date/time display, set up frontend ports, and added icon and title across 9 commits.

esstraba
25

Added HTTPS topology configuration to the esstraba project.

esstraba
24

Created a brand new esstraba project (Strava activity explorer) with initial checkin, Docker container setup, and over 30,000 lines of baseline code.

esstraba
18

Fixed a broken Ohlone link on steinkamp.us.

steinkamp.us
10

Fixed a significant bug in m4l-KeyStepper in a single large commit that restructured the device.

m4l-KeyStepper
09

Published initial commits for two new Max for Live devices — m4l-ChordRipper and m4l-KeyStepper — and added posts about both on steinkamp.us.

steinkamp.usm4l-ChordRipperm4l-KeyStepper

Aug

26

Fixed metadata handling in the musics project.

musics
25

Improved the musics player with exclusive play (only one track plays at a time), cleaned up the UI to show only the newest version, and added a Makefile.

musics
17

Fixed the back button behavior on steinkamp.us.

steinkamp.us
12

Updated the musics project to request the music list more frequently.

musics
10

Added njs-acme documentation or configuration to steinkamp.us.

steinkamp.us

Jul

27

Made a small wordsmithing change on steinkamp.us.

steinkamp.us
15

Made minor wording and typography fixes on steinkamp.us, including stopping text from scaling with viewport width.

steinkamp.us
14

Published two new posts (salad and jury duty) to steinkamp.us.

steinkamp.us
12

Released v3 of m4l-FibonacciNoteEcho with a note-based time mode and updated screenshot, accompanied by a large binary bump.

m4l-FibonacciNoteEcho
09

Added note division mode to the m4l-FractalNoteEcho Max for Live device and updated its README, with a large binary change.

m4l-FractalNoteEcho
01

Added a fullscreen button to photodirs, fixed the Dockerfile, and updated the musics project to use NFS.

photodirsmusics

Jun

27

Added headings to a post on steinkamp.us.

steinkamp.us
25

Published new travel content for St. Lucia with photos and layout work on steinkamp.us across 7 commits.

steinkamp.us
13

Added timeline images and fixed sort order by project year on dick.steinkamp.us.

dick.steinkamp.us
10

Added video support, external link handling, and general improvements to the dick.steinkamp.us timeline.

dick.steinkamp.us
09

Renamed timeline YAML files for consistency on dick.steinkamp.us.

dick.steinkamp.us
06

Moved the timeline to its own directory and added it to the main listing on dick.steinkamp.us.

dick.steinkamp.us

May

31

Fixed a formatting issue on dick.steinkamp.us.

dick.steinkamp.us
20

Fixed video pause/blur on navigation and worked around a Chrome smooth- scrolling bug in photodirs.

photodirs
12

Added scrambler motorcycle content and a 1988 photo to dick.steinkamp.us, and tightened up the resume on steinkamp.us.

dick.steinkamp.ussteinkamp.us
06

Ran Prettier across all steinkamp.us files for consistent formatting, fixed music tools, and resolved TypeScript issues across 6 commits touching both repos.

steinkamp.usphotodirs
02

Improved timeline spacing and added text display to the dick.steinkamp.us timeline.

dick.steinkamp.us
01

Added a timeline feature to dick.steinkamp.us with a sizeable new content commit.

dick.steinkamp.us

Apr

30

Launched a new memorial site (dick.steinkamp.us) with initial commit, baseline content, and multiple pages, and updated steinkamp.us to link to it.

dick.steinkamp.ussteinkamp.us
28

Added more photos to the steinkamp.us site.

steinkamp.us
22

Added a devcontainer.json configuration to steinkamp.us.

steinkamp.us
21

Added album links, YouTube thumbnails, and updated pop-related content and images on steinkamp.us.

steinkamp.us
19

Added first-image fallback for thumbnails and added Markdoc excerpt parsing to steinkamp.us.

steinkamp.us
18

Switched to a real thumbnail image on steinkamp.us.

steinkamp.us
17

Fixed back button behavior on steinkamp.us and removed preventScrollReset from photodirs.

steinkamp.usphotodirs
15

Reworked steinkamp.us to be data-driven with directory metadata files, and experimented with scroll restoration across 7 commits.

steinkamp.us
14

Fixed date handling and sorting in photodirs, added date display on the photo page, and published significant new content to steinkamp.us including a crown jewel post across 24 commits in both repos.

steinkamp.usphotodirs
13

Published multiple new posts and content to steinkamp.us including a Studeute post with images, a scrapbook, and layout fixes across 9 commits.

steinkamp.us
12

Added a new pop-related post to steinkamp.us and fixed mobile layout and link color transitions.

steinkamp.us
11

Improved the Modulation Lerp animation and added a video and post about it to steinkamp.us.

steinkamp.usm4l-Modulation-Lerp
10

Created and published the m4l-Modulation-Lerp Max for Live device with initial commit and GIF, and added a post about it on steinkamp.us with audio tag support.

steinkamp.usm4l-Modulation-Lerp
09

Launched a new musics project and significantly expanded steinkamp.us with music page layout improvements, dark mode, a better hamburger menu, and various UI polish across 14 commits touching both repos.

steinkamp.usmusics
06

Updated the README and added a Makefile to steinkamp.us.

steinkamp.us
05

Added a hamburger menu for mobile, fixed YouTube embeds, and corrected thumbnail image issues on steinkamp.us.

steinkamp.us
04

Improved access error handling in photodirs and worked on steinkamp.us adding Sharp image processing, production/dev mode support, and final production tweaks across both repos.

steinkamp.usphotodirs
03

Added EPERM error handling to photodirs.

photodirs
02

Overhauled steinkamp.us URL structure by removing "post" from page names and implemented custom Markdoc tags with article fixes, replacing over 1,000 lines.

steinkamp.us
01

Added significant content to steinkamp.us including a blog/slog section, fixed images, and made substantial progress on the site with over 2,000 lines added.

steinkamp.us

Mar

30

Continued iterating on the steinkamp.us site with a working checkpoint commit.

steinkamp.us
25

Launched the steinkamp.us personal site with an initial commit, setting up Markdoc and Docker and making it look presentable — a large new project first-day push.

steinkamp.us
23

Experimented with scroll restoration in photodirs.

photodirs
21

Added next/prev click handling and prevented videos from preloading while adding a video icon in the thumbnail strip in photodirs.

photodirs
20

Added adjacent image preloading, dark mode, fixed the thumbnail scroller math, and polished the overall photodirs UI across 9 commits.

photodirs
19

Refactored the thumbnail strip to work well again, removed console logs, and dropped chokidar from photodirs.

photodirs
18

Restored thumbnail strip with scrollIntoView-based scrolling and disabled camera white balance in RAW conversion in photodirs.

photodirs
17

Fixed og:image for photos and switched from dcraw to libraw-bin for better modern camera RAW support in photodirs.

photodirs
16

Fixed OpenGraph image when linking to a photo and used 100dvh for better mobile viewport handling in photodirs.

photodirs
15

Built a real handmade minimal carousel for photodirs photo browsing.

photodirs
14

Made a small CSS calc-based improvement to photodirs.

photodirs
13

Extracted SVGs to their own files and cleaned up code; experimented with a page transition fade (then reverted it) in photodirs.

photodirs
12

Cleaned up CSS and adjusted album item flex behavior in photodirs.

photodirs
11

Added universal YAML sidecar file support for any photo/video, improved swipe feel, and migrated to node-exiftool for more robust EXIF handling in photodirs.

photodirs
10

Added CR3 RAW support, implemented srcSet for photo pages, added swipe gesture support, and introduced dynamic index.html for OpenGraph metadata in photodirs.

photodirs
09

Expanded the photodirs README with more documentation and added video to the readme.

photodirs
08

Polished photodirs UI with condensed fonts, CSS variables, theme tweaks, markdown multi-paragraph description support, and logo improvements across 14 commits.

photodirs
07

Added favicon and logo, improved ffmpeg transcoding, served videos directly from nginx, and made various README and logging polish changes to photodirs.

photodirs
06

Major photodirs session adding full video support with transcoding queue, a hero banner, keyboard navigation improvements, favicon/logo, and extensive README updates across 28 commits.

photodirs
05

Fixed EXIF issues, added an exif-set script, extracted the thumbnail into its own component, and improved the photo element layout with title/description support in photodirs.

photodirs
04

Refactored photodirs by splitting utilities into functional modules, set page titles, fixed mobile layout, and added ffmpeg support across 7 commits.

photodirs
03

Added lazy loading to photodirs images.

photodirs

Feb

27

Cleaned up an unused file and fixed handling of nonexistent cache files in photodirs.

photodirs
26

Polished the PhotoElement UI with SVG link buttons, improved mobile CSS, switched to createBrowserRouter, and tried a polling-based watcher approach in photodirs across 13 commits.

photodirs
25

Migrated photodirs to a production/dev directory split, improved logging, switched from moment to dayjs, and made solid progress on cache management.

photodirs
24

Improved the photodirs watcher to debounce rescans, added album.yml watching, got initial scan with pre-generated thumbnails working, and added log output around scan events.

photodirs
23

Fixed nginx shutdown hang, improved 404 handling for wrong files, and continued progress on caching in photodirs.

photodirs
22

Fixed directory-related bugs and implemented metadata caching in photodirs.

photodirs
21

Made small fixes and started laying groundwork for metadata pre- computation in photodirs.

photodirs
20

Added nginx proxy caching, pre-generated JPEG thumbnails for new RAW files via chokidar, fixed back/forward navigation, implemented flexbox layout, and improved error handling in photodirs.

photodirs
19

Rapidly iterated on the photodirs UI — building out thumbnails, breadcrumb navigation, a serviceable layout, and adding caching for both regular and RAW images across 14 commits.

photodirs
18

Switched to dcraw for RAW processing, improved EXIF handling, and added the frontend to photodirs in a massive commit adding nearly 18,000 lines.

photodirs
17

Fixed HEIF image support and added RAW photo support with resizing to photodirs, also removing the darktable dependency.

photodirs
16

Kicked off heavy development on a new photodirs project, making substantial progress on the core functionality and fleshing out the README with API info and photo options.

photodirs

Jan

30

Made a small fix to add a photos link and correct an h3 heading on the site.

zsteinkamp.github.io
29

Added an empty robots.txt and introduced environment awareness to support a PROD_MODE flag for disabling livereload and incremental builds.

zsteinkamp.github.io
22

Added a programming-related post and made further touchups to the GitHub Pages site, with a moderate amount of new content added.

zsteinkamp.github.io
21

Spent the day polishing the personal GitHub Pages site with numerous small fixes, wording tweaks, thumbnail layout corrections, and added documentation for TrueNAS and pfSense backups.

zsteinkamp.github.io

2022

Dec

25

Published a "Chain Views" blog post on the personal website on Christmas Day.

zsteinkamp.github.io
08

Published a customer-focused blog post and added a Twitter-related blurb on the personal website.

zsteinkamp.github.io
05

Renamed and rebranded three Modulation devices (Math, Delay, Stepper) to consistent naming with integer version numbers, added animated GIFs to their READMEs, fixed links, and updated the website to reflect the renamed devices.

m4l-Modulation-Mathm4l-Modulation-Delaym4l-Modulation-Stepperzsteinkamp.github.io

Nov

30

Added tempo sync, fixed multi-mapping display and buffer size bugs in Modulation-Delay; created the zs-Send-Duck-Rack project with its initial commit; and updated the website tools listing.

m4l-Modulation-Delayzsteinkamp.github.iozs-Send-Duck-Rack
29

Launched the m4l-Modulation-Delay device with initial commit, added a sum scope, published a frozen version with color updates and URL fix, and posted about AutomationDelay on the website.

m4l-Modulation-Delayzsteinkamp.github.io
26

Cleaned up junk characters in blog content on the personal website.

zsteinkamp.github.io
17

Removed stale comment blocks from the personal website.

zsteinkamp.github.io
16

Updated compensation/remote work notes on the personal website.

zsteinkamp.github.io
14

Applied general content updates to the personal website.

zsteinkamp.github.io
11

Made tiny copy corrections on the personal website.

zsteinkamp.github.io
10

Published several new blog posts covering Yahoo, perpetual storage, Stripe, and a definition of DRI on the personal website.

zsteinkamp.github.io
08

Updated the songs list and "what's next" page on the personal website.

zsteinkamp.github.io
07

Updated the resume on the personal website.

zsteinkamp.github.io

Oct

18

Created the zs-Feedback-Matrix project with an initial commit, organized the frozen file into its own subdirectory, and documented the preset snapshot feature.

zs-Feedback-Matrix
01

Added a new_post helper script and published a Tesla-related blog post on the personal website.

zsteinkamp.github.io

Jul

05

Made minor edits and disabled some content on the personal website.

zsteinkamp.github.io
02

Made small adjustments to the KS-Synth device.

m4l-KS-Synth

Jun

13

Published a corrected frozen version 0.0.2 of FibonacciNoteEcho after resolving the algorithm fix.

m4l-FibonacciNoteEcho
12

Fixed the Fibonacci algorithm in FibonacciNoteEcho, updated the UI, corrected control order in the README, and published a frozen version.

m4l-FibonacciNoteEcho
07

Improved FractalNoteEcho's look and feel and published frozen version 0.0.2.

m4l-FractalNoteEcho

May

30

Created and published the m4l-Modulation-Stepper device with its first commit and README, and added it to the website's tools listing.

m4l-Modulation-Stepperzsteinkamp.github.io
28

Published a new driving-related blog post on the personal website.

zsteinkamp.github.io
19

Published the first frozen release of m4l-FractalNoteEcho (0.0.1) with install instructions, and released TapPanZeit 0.0.5 with a visual tap- position indicator in the time/pan/volume display areas.

m4l-FractalNoteEchom4l-TapPanZeit
18

Fixed garbled characters in a blog post on the personal website.

zsteinkamp.github.io
16

Published Modulation-Math 0.0.5 with Push knob assignment via live.banks configuration.

m4l-Modulation-Math
15

Added a tap volume function control to TapPanZeit and published version 0.0.4 with an updated device image.

m4l-TapPanZeit
12

Added a spoiler element and a Stripe entry to the resume on the personal website, and fixed a typo.

zsteinkamp.github.io
07

Corrected left/right stereo swap in the TapPanZeit device.

m4l-TapPanZeit
06

Refined TapPanZeit with a visual refresh, help text on all controls, better Push assignments, and improved CPU utilization, publishing versions 0.0.2 and 0.0.3.

m4l-TapPanZeit
05

Launched the m4l-TapPanZeit device with initial commit, screenshots, instructions, and a linked blog post on the website.

m4l-TapPanZeitzsteinkamp.github.io
04

Fixed a bug in TempoToMs where millisecond values were not calculated on initial load.

m4l-TempoToMs

Apr

29

Created and published the m4l-KS-Synth (Karplus-Strong synthesizer) device with an initial frozen release, reduced polyphony for CPU efficiency, and added it to the website.

m4l-KS-Synthzsteinkamp.github.io
28

Upgraded TempoToMs to use vexpr for calculations with improved colors and minor visual alignment fixes, publishing version 0.0.3.

m4l-TempoToMs
27

Released Modulation-Math 0.0.4 with multiple mapping destinations, launched the new m4l-TempoToMs device with initial commit and README, and added it to the website.

m4l-Modulation-Mathm4l-TempoToMszsteinkamp.github.io
26

Fixed a multi-instance bug in Modulation-Math where send/receive names without the --- prefix were causing cross-instance signal leakage.

m4l-Modulation-Math
23

Added the CurrentParamKnob device to the music tools listing on the website.

zsteinkamp.github.io
14

Published a Max tips blog post with a table of contents and heading fixes on the personal website.

zsteinkamp.github.io
10

Prettified and documented both CurrentParamKnob and Modulation-Math with better images and cleanup.

m4l-CurrentParamKnobm4l-Modulation-Math
09

Created and published the m4l-CurrentParamKnob device with a frozen release, and continued refining Modulation-Math's layout, image, and frozen version.

m4l-Modulation-Mathm4l-CurrentParamKnob
08

Launched the m4l-Modulation-Math device with its initial commit, added live.banks Push mappings and a changelog, and published a blog post with screenshots on the website.

m4l-Modulation-Mathzsteinkamp.github.io

Mar

25

Executed a major Faderboard3 refactor: shifted to bpatcher architecture, performed a huge cleanup, and shipped frozen release 1.0.0, removing tens of thousands of lines of old patcher data in the process.

m4l-zs-Faderboard3
17

Created a new ruby-tdd-base starter project with initial real files, and added a Knobbler entry to the music tools page on the website.

ruby-tdd-basezsteinkamp.github.io
16

Wrote and published a blog post about the Knobbler M4L device, with styling and headline improvements on the website.

zsteinkamp.github.io
14

Added a name field to the resume on the personal website.

zsteinkamp.github.io
05

Continued polishing the "what's next" page and resume, tightened up copy, and removed emoji placeholders on the website.

zsteinkamp.github.io
04

Refined the "what's next" page, updated Ruby and song list, and made several content touchups on the personal website.

zsteinkamp.github.io
02

Updated a link to use HTTPS on the personal website.

zsteinkamp.github.io
01

Published a blog post about using Automator with Vim on the personal website.

zsteinkamp.github.io

Feb

23

Fixed a significant bug in Faderboard3 where channel note value automation was flooding the undo buffer during MIDI playback.

m4l-zs-Faderboard3
18

Added a direct download link to Faderboard3 and updated the todo, while adding a Faderboard3 link and hiring-page improvements to the website.

m4l-zs-Faderboard3zsteinkamp.github.io
17

Made major changes to Faderboard3: expanded to 10 faders, added scale presets, enabled individual fader MIDI outputs, added Live play/stop state awareness, and fixed several bugs including the Push2 banks definition.

m4l-zs-Faderboard3
16

Added a virus-related blog post with images and made resume CSS improvements on the website.

zsteinkamp.github.io
15

Added a de-click feature to Faderboard3 with a default-zero setting and updated the device image and changelog; also published a post about the amxd diff tool and made website link improvements.

m4l-zs-Faderboard3zsteinkamp.github.io
06

Published a "job criteria" blog post and added a fastest-mile entry, along with some content reorganization on the website.

zsteinkamp.github.io
05

Minor resume touchup on the personal website.

zsteinkamp.github.io

Jan

22

Made small resume improvements and a minor content tweak on the personal website.

zsteinkamp.github.io
16

Improved theme handling and help text across several M4L devices (FibonacciNoteEcho, FractalNoteEcho, js-toggleInput), allowed multiple Faderboard3 instances, and updated the website with font tweaks and version notes.

m4l-zs-Faderboard3zsteinkamp.github.iom4l-FibonacciNoteEchom4l-FractalNoteEchom4l-js-toggleInput
15

Added Push2 knob mappings via live.banks to Faderboard3, fixed automation controller names, and added a changelog to the README.

m4l-zs-Faderboard3
14

Added an example image and fixed pan automation display in Faderboard3, and published a new Music Tools page on the website.

m4l-zs-Faderboard3zsteinkamp.github.io
13

Wrote and completed a blog post on setting up Network MIDI on the personal website.

zsteinkamp.github.io
11

Added a TouchOSC definition file to the Faderboard3 repository.

m4l-zs-Faderboard3
10

Fixed several bugs in Faderboard3 (sample restart, mono file handling, channel 9/10 off button), added a Restart All button, enhanced the README, and published a frozen release; also updated the website with a new photo.

m4l-zs-Faderboard3zsteinkamp.github.io
09

Launched the m4l-zs-Faderboard3 project with its initial commit and rapidly built out full per-voice loop control including a loop position visualization, then updated the website with screenshots and embed fixes.

m4l-zs-Faderboard3zsteinkamp.github.io
08

Cleaned up the personal website by removing Disqus comments, fixing formatting, and adding an entry for the zs-Faderboard3 M4L device along with download instructions for an older Faderboard version.

zsteinkamp.github.io

2021

Dec

19

Updated the resume with more content, added a hiring video, published a funmoji post, and refreshed the favicon.

zsteinkamp.github.io
11

Updated the resume and fixed miscellaneous formatting issues on the blog.

zsteinkamp.github.io
01

Published a blog post about the zsFaderboard project.

zsteinkamp.github.io

Nov

06

Replaced email-based notifications in garageMonitor with Twilio SMS alerts, a significant change to the notification pipeline.

garageMonitor
05

Removed debug logging from garageMonitor and configured it to always restart automatically.

garageMonitor
04

Added email notification support to garageMonitor when the garage door state changes.

garageMonitor

Oct

30

Fixed the TERM environment variable in node-tdd-base and photodirs dev containers so the clear command works, and made a small blog subheader update.

node-tdd-basephotodirszsteinkamp.github.io
27

Kicked off three new projects in one day: garageMonitor (a garage door monitor using the MyQ API with Docker and email alerts), node-tdd-base (a Node.js TDD template), and photodirs (a photo directory app), all with Docker Compose support.

garageMonitornode-tdd-basephotodirs

Aug

14

Updated the blog's FractalNoteEcho post with a better intro and refreshed screenshots.

zsteinkamp.github.io

Jul

28

Fixed a grammar issue in the FractalNoteEcho README.

m4l-FractalNoteEcho
26

Significantly improved FractalNoteEcho's visualization to better illustrate the fractal progression, cleaned up unused code, added comments, and updated the README with new screenshots.

m4l-FractalNoteEcho
25

Fixed bugs and improved the visualization in FibonacciNoteEcho (first- note timing, Fibonacci sequence bug, naming consistency), and applied naming cleanup to FractalNoteEcho.

m4l-FibonacciNoteEchom4l-FractalNoteEcho
24

Made toggleInput more robust by not relying on a label that could differ in non-English versions of Live.

m4l-js-toggleInput
21

Created the new m4l-js-toggleInput Max for Live device with an initial commit and installation documentation.

m4l-js-toggleInput
08

Cleaned up and added shared utilities to both FibonacciNoteEcho and FractalNoteEcho, added a README and screenshot to Fibonacci, and improved the fractal visualization.

m4l-FibonacciNoteEchom4l-FractalNoteEcho
07

Launched the new m4l-FibonacciNoteEcho M4L device with initial commits and bug fixes, while also adding a jsui visualization to FractalNoteEcho and cleaning it up.

m4l-FibonacciNoteEchom4l-FractalNoteEcho
02

Fixed a missing image and added a pair programming blog post.

zsteinkamp.github.io

Jun

30

Swapped in a different demo for a blog post.

zsteinkamp.github.io
22

Created the new m4l-FractalNoteEcho Max for Live project with initial commits, README, and screenshots, and published a corresponding blog post about it.

m4l-FractalNoteEchozsteinkamp.github.io
15

Built and published a Game of Life / Conway's Life interactive demo on the blog, adding step controls, a 3D shadow effect, a frame buffer for performance, and a code link.

zsteinkamp.github.io
10

Added a reference to chauvinism in a blog post.

zsteinkamp.github.io
07

Expanded the Mimi blog post with additional content.

zsteinkamp.github.io
05

Made a small update referencing Mimi on the blog.

zsteinkamp.github.io

May

29

Polished the resume page and fixed small issues across the blog.

zsteinkamp.github.io
28

Swapped in a better demo video for the pinhole photography post.

zsteinkamp.github.io
25

Made edits to the computer history blog post.

zsteinkamp.github.io
23

Added a TL;DR section to a blog post.

zsteinkamp.github.io
22

Added several new blog posts including a manager toolbox guide, a computer history piece, and updated the pinhole photography thumbnail.

zsteinkamp.github.io
10

Published a blog post about the turdokken containerscript project.

zsteinkamp.github.io
01

Added a thumbnail and a new pinhole photography article to the blog.

zsteinkamp.github.io

Apr

17

Published a substantial blog post covering photos, folder organization, Samba configuration, iOS, Raspberry Pi storage, and a kimchi recipe.

zsteinkamp.github.io

Mar

20

Updated a blog post to reference Ableton Live 11.

zsteinkamp.github.io
18

Refined the feedbacker post with HPF notes, diagram margin fixes, and small copy edits.

zsteinkamp.github.io
17

Wrote a detailed blog post about feedback/return track techniques with diagrams, examples, and notes on hiding ads in embedded players.

zsteinkamp.github.io
07

Added a room acoustics post, a link to Sylvia's work, and updated the songs section of the blog.

zsteinkamp.github.io
06

Added Disqus commenting integration to the blog.

zsteinkamp.github.io
05

Fixed character encoding issues across blog content.

zsteinkamp.github.io
04

Added a thumbnail and wrote content about texture and reverb on the blog.

zsteinkamp.github.io

Feb

27

Added a new mastering article to the blog.

zsteinkamp.github.io
23

Fixed character encoding issues in a blog post.

zsteinkamp.github.io

Jan

18

Made edits and spelling fixes to the Mission Peak article on the blog.

zsteinkamp.github.io
17

Added a new Mission Peak hiking article to the personal blog.

zsteinkamp.github.io

2020

Dec

06

Added posts about felt pads and a studio shelf to the personal site.

zsteinkamp.github.io

Nov

21

Published a substantial availability post (over 100 lines) to the personal site.

zsteinkamp.github.io
14

Updated the resume, added YouTube video embeds, then reverted some edits on the personal site.

zsteinkamp.github.io

Oct

23

Added Monument, Highway 50, and Mandate content entries to the personal site.

zsteinkamp.github.io

Sep

06

Added a portraits post to the personal site.

zsteinkamp.github.io
05

Published a metrics post to the personal site, a substantial new article with over 100 lines of content.

zsteinkamp.github.io
04

Added a "Deferred" post to the personal site.

zsteinkamp.github.io

Aug

29

Added new images, updated the songs list, and updated .gitignore on the personal site.

zsteinkamp.github.io
19

Reformatted the resume section of the personal site.

zsteinkamp.github.io
01

Added a "People Garden" post and fixed several typos on the personal site.

zsteinkamp.github.io

Jun

28

Created a CNAME file to set up a custom domain for the GitHub Pages site.

zsteinkamp.github.io

May

20

Added NGC1277 content to the personal site.

zsteinkamp.github.io
04

Added a new "Thay" entry and a paragraph to the personal site.

zsteinkamp.github.io
01

Expanded written content on the personal site with additional words.

zsteinkamp.github.io

Apr

30

Added anchor links to the personal site.

zsteinkamp.github.io
28

Made small content fixes to the personal site including a link correction, non-breaking space tweak, and updating the Notes Roar Spotify URL.

zsteinkamp.github.io
26

Improved music listings on the personal site by switching to a Bandcamp ID field, adding Spotify and Bandcamp embed support for Herbie, and fixing YAML.

zsteinkamp.github.io
08

Added a new "Herbie" entry to the personal site.

zsteinkamp.github.io

Mar

31

Added SoundCloud integration and a new shelter entry to the personal site, along with linking isolation loops, fixing a typo, and adding a conditional.

zsteinkamp.github.io
05

Updated the songs section of the personal GitHub Pages site with minor content changes.

zsteinkamp.github.io

2019

Dec

07

Added a songs section to the site with a substantial amount of new content.

zsteinkamp.github.io

Sep

18

Fixed a spelling error, credited to contributor eweathers.

zsteinkamp.github.io

Aug

28

Added more dates and interview-related content to existing posts.

zsteinkamp.github.io
27

Applied general touchups, improved efficiency, and corrected dates across several posts.

zsteinkamp.github.io
26

Made minor date edits to existing posts.

zsteinkamp.github.io
24

Updated gem dependencies (including fixing a Nokogiri issue), added articles and a team post, and corrected date formatting across the site.

zsteinkamp.github.io
19

Fixed trailing whitespace in a file — minor housekeeping.

zsteinkamp.github.io
17

Published a new blog post.

zsteinkamp.github.io
12

Cleaned up the site significantly by removing a large disabled content folder, fixing an excerpt bug, updating interview text, and importing Smugmug posts.

zsteinkamp.github.io
11

Reorganized post files, added a Barcelona post, set up a deploy script, and added a README.

zsteinkamp.github.io
10

Made several site improvements including layout and content tweaks, added a new hiring-related post, and created a new file.

zsteinkamp.github.io

Jul

30

Migrated the site to HTTPS, updating internal links and configuration to enforce secure connections.

zsteinkamp.github.io
29

Continued rapid content expansion of the site, adding more entries and source files while configuring exclusions.

zsteinkamp.github.io
28

Landed a large batch update to the site, adding a significant amount of content and making sweeping improvements across the board.

zsteinkamp.github.io
27

Made the initial commit of the zsteinkamp.github.io site and rapidly iterated on it, adding posts, songs, and resume content while fixing early issues.

zsteinkamp.github.io