Posts :: tech (rss)
I lead the Near-Term First effort at the Nucleic Acid Observatory. I used to work on web optimization and ads, and am still interested in web browsers and APIs.
-
Substituting Talkbox for Breath ControllerOctober 27, 2024
-
Is the Power Grid Sustainable?October 25, 2024
-
Making a PedalboardOctober 24, 2024
-
MoonlightOctober 15, 2024
-
Examples of How I Use LLMsOctober 14, 2024
-
Thinking About a PedalboardOctober 08, 2024
-
Chevy Bolt ReviewSeptember 26, 2024
-
Source Control for Prototyping and AnalysisSeptember 25, 2024
-
Editing at the Take LevelSeptember 24, 2024
-
Switching to a 4GB SDSeptember 23, 2024
-
Electric MandolaSeptember 21, 2024
-
Keyboard GremlinsSeptember 19, 2024
-
Apartment Price Map DiscontinuityAugust 19, 2024
-
Simultaneous Footbass and Footdrums IIAugust 06, 2024
-
Krona CompareJuly 19, 2024
-
Stacked Laptop Monitor UpdateJuly 15, 2024
-
Sample Prevalance vs Global PrevalenceJuly 08, 2024
-
Gizmo Watch ReviewJune 18, 2024
-
Circuit Board OrderingJune 04, 2024
-
Scientific Notation OptionsMay 18, 2024
-
Embedded Whistle SynthMay 14, 2024
-
Custom Audio Switch BoxMay 10, 2024
-
Accidental Electronic InstrumentMay 05, 2024
-
Breadboarding a Whistle SynthApril 26, 2024
-
Electronic Harp Mandolin PrototypeApril 23, 2024
-
Clipboard FilteringApril 14, 2024
-
Interference IssuesApril 11, 2024
-
Pandemic Identification SimulatorApril 08, 2024
-
Pluck Sensor CircuitApril 01, 2024
-
Mandolin Harp Sensor PlacementMarch 24, 2024
-
Prototyping Pluck SensorsMarch 22, 2024
-
Where are the Contra Dances?March 20, 2024
-
Ugo Conti's Whistle-Controlled SynthesizerMarch 01, 2024
-
Adding Sensors to Mandolin?February 29, 2024
-
Experimenting With Footboard PiezosFebruary 10, 2024
-
A Strange ACH Corner CaseFebruary 09, 2024
-
Full Driving Engagement OptionalFebruary 06, 2024
-
Sequencing SwabsJanuary 31, 2024
-
Stacked Laptop MonitorJanuary 26, 2024
-
Importing a Python File by NameJanuary 25, 2024
-
Making a Secular Solstice SongbookJanuary 23, 2024
-
I Want XMP But I Know Why I Can't Have ItJanuary 19, 2024
-
More Usable RecipesJanuary 18, 2024
-
Live Sound: Big-O ImprovementsJanuary 15, 2024
-
Eliminating Cookie Banners is HardJanuary 12, 2024
-
Screen-supported Portable MonitorJanuary 04, 2024
-
Rhythm Stage Setup ComponentsDecember 31, 2023
-
The Next Right TokenDecember 22, 2023
-
Reviving a 2015 MacBookDecember 17, 2023
-
Implicitly Typed CDecember 11, 2023
-
Bucket Brigade: Likely End-of-LifeDecember 06, 2023
-
Benchmarking Bowtie2 ThreadingDecember 01, 2023
-
Losing Metaphors: Zip and PasteNovember 29, 2023
-
Process Substitution Without Shell?November 28, 2023
-
Detecting What's Been SeenNovember 23, 2023
-
Portable Chargers are GreatNovember 21, 2023
-
Facebook is Paying Me to PostNovember 14, 2023
-
Public Weights?November 01, 2023
-
Computational Approaches to Pathogen DetectionOctober 31, 2023
-
Simple Terminal ColorsOctober 09, 2023
-
Linking Alt AccountsOctober 06, 2023
-
PortAudio M1 LatencyOctober 04, 2023
-
My Mid-Career Transition into BiosecurityOctober 02, 2023
-
Feedly Breaks MathMLSeptember 25, 2023
-
Hand-writing MathMLSeptember 23, 2023
-
Inline Plotting in iTerm2September 14, 2023
-
Cleaning a SoundCraft MixerAugust 31, 2023
-
Biosecurity Culture, Computer Security CultureAugust 30, 2023
-
State of Generally Available Self-DrivingAugust 22, 2023
-
Bad Imitation InstrumentsAugust 02, 2023
-
Accidentally Load BearingJuly 13, 2023
-
Lightweight minimal speech recognition?July 12, 2023
-
3D Printed Talkbox CapJuly 08, 2023
-
AI IntermediationJuly 05, 2023
-
MXR Talkbox Cap?July 04, 2023
-
Approaches to ThumpJune 19, 2023
-
Looking Back On AdsJune 14, 2023
-
You Don't Always Need IndexesMay 25, 2023
-
Facebook Increased VisibilityMay 15, 2023
-
Violin SupportsMay 07, 2023
-
Moving VPS AgainMay 04, 2023
-
AWS Has Raised Prices BeforeApril 03, 2023
-
Reproject on CroppingMarch 25, 2023
-
Abusing Snap Circuits ICMarch 05, 2023
-
Measuring Ads Opt-Out ComplianceMarch 03, 2023
-
Bus-Only Bus Lane EnforcementFebruary 17, 2023
-
Lessons From TryContraFebruary 15, 2023
-
Help Update TryContraFebruary 14, 2023
-
Does the AGPL Work?February 13, 2023
-
How Cardioid Are Cardioids?February 12, 2023
-
Misleading Fast Charging SpecsFebruary 04, 2023
-
How Likely is Losing a Google Account?January 29, 2023
-
Reverse RSS StatsJanuary 28, 2023
-
Consider Trying DictationJanuary 22, 2023
-
Ad Fraud Detection Prediction MarketJanuary 17, 2023
-
Tesla Model 3 ReviewJanuary 16, 2023
-
Wolf Incident PostmortemJanuary 08, 2023
-
Can Ads be GDPR Compliant?January 07, 2023
-
Opening Facebook Links ExternallyJanuary 04, 2023
-
Localhost Security MessagingDecember 31, 2022
-
Privacy TradeoffsDecember 28, 2022
-
Zooming the Chrome Audio PlayerDecember 27, 2022
-
Not Getting HackedDecember 21, 2022
-
Logging Shell History in ZshDecember 20, 2022
-
Wider Default Audio Player in Chrome?December 11, 2022
-
Machine Learning ConsentDecember 07, 2022
-
Can GPT-3 Write Contra Dances?December 03, 2022
-
Mastodon's Dubious Crawler ExemptionNovember 27, 2022
-
Mastodon Replies as CommentsNovember 17, 2022
-
Better Mastodon AliasesNovember 15, 2022
-
Improving Emergency Vehicle UtilizationNovember 14, 2022
-
User-Controlled Algorithmic FeedsNovember 12, 2022
-
Mastodon Linking NormsNovember 10, 2022
-
Trying MastodonNovember 08, 2022
-
Thinking About MastodonNovember 07, 2022
-
Multiple Deploy-Key ReposNovember 03, 2022
-
Lazy Python Argument ParsingNovember 02, 2022
-
Deepfake(?) PhishingOctober 21, 2022
-
Why So Many Cookie Banners?October 09, 2022
-
Failed Adventures in DelaySeptember 19, 2022
-
Remote Login For Turnkey Devices?September 17, 2022
-
Sequencing Intro II: AdaptersSeptember 14, 2022
-
Prototyping in CSeptember 04, 2022
-
Exporting Hangouts HistorySeptember 02, 2022
-
Built-In Bundling For Faster LoadingAugust 30, 2022
-
History of Zero-based Months?August 24, 2022
-
Digital Dinner SignupAugust 22, 2022
-
Duplicating Rasberry Pi ImagesAugust 17, 2022
-
Careful with CachingAugust 07, 2022
-
Hiring Programmers in AcademiaJuly 24, 2022
-
House PhoneJune 21, 2022
-
Microphone on Electric Mandolin IIJune 06, 2022
-
Microphone on Electric MandolinMay 09, 2022
-
Emacs Recentering With ContextApril 13, 2022
-
Foot-Chording ChordsApril 07, 2022
-
Terminal PreferencesApril 04, 2022
-
Balancing Audio in SoftwareMarch 06, 2022
-
Don't Let Personal Domains ExpireMarch 05, 2022
-
Does Impedance Matter?February 14, 2022
-
Playing With a Talk BoxFebruary 03, 2022
-
Infant Talk boxes?January 30, 2022
-
Mildly Photochromic Lenses?January 28, 2022
-
Wireless Outlet SwitchingJanuary 24, 2022
-
Browser EnginesDecember 03, 2021
-
Experience with Cue Covid TestingNovember 30, 2021
-
Snoo App ThoughtsNovember 28, 2021
-
Giving Up On T-MobileNovember 21, 2021
-
Highlighting New CommentsNovember 07, 2021
-
T-Mobile: Spurious Account Takeover WarningOctober 23, 2021
-
Why Not a Natural Gas Generator?October 08, 2021
-
Designing Low Upkeep SoftwareSeptember 25, 2021
-
Auto-Downloder Chrome ExtensionSeptember 18, 2021
-
Handling Identical USB Sound CardsSeptember 10, 2021
-
Selecting the Default Browser in Facebook on AndroidSeptember 08, 2021
-
Moving Away From The GPLAugust 05, 2021
-
Pi Sound BoxJuly 19, 2021
-
Essentialness of DataJuly 13, 2021
-
Firefox does not block analytics by defaultJuly 10, 2021
-
Whistle Synth PiJuly 08, 2021
-
To the Robobassinet and ProgressJune 21, 2021
-
Who wants to run a B2B SaaS startup?June 17, 2021
-
Better Whistle SynthJune 08, 2021
-
Why Prefetch Is BrokenMay 27, 2021
-
Kids NCurses MessengerMay 22, 2021
-
Solar Production DataMay 19, 2021
-
Testing the FLEDGE PrototypeMay 12, 2021
-
Android Video with External MicrophoneMay 08, 2021
-
Thoughts on Ad BlockingMay 05, 2021
-
Why I Work on AdsMay 02, 2021
-
Making a Kingfisher VideoMarch 13, 2021
-
Weirdly Long DNS Switchover?February 16, 2021
-
Bucket Brigade UpdatesFebruary 13, 2021
-
We Need Browsers as PlatformsFebruary 09, 2021
-
History of the Public Suffix ListFebruary 07, 2021
-
Looking at RSS User-AgentsFebruary 04, 2021
-
Browser Audio LatencyFebruary 02, 2021
-
Bucket Brigade: VideoJanuary 02, 2021
-
New Bucket Brigade UIDecember 23, 2020
-
Secular Solstice 2020December 20, 2020
-
Heel-and-toe drummingDecember 10, 2020
-
Switching to Google CalendarDecember 09, 2020
-
Velocity-sensitive electronic drum pedalsDecember 08, 2020
-
Giving Tuesday 2020November 30, 2020
-
DIY Beaterless Drum PedalsNovember 28, 2020
-
Debug Headers with GETNovember 17, 2020
-
Brigaded RoundsNovember 16, 2020
-
Sharding the BrigadeNovember 13, 2020
-
Yes to Feature Requests, No to EntitlementNovember 10, 2020
-
Teach People to Recognize the Sound of Covid?November 06, 2020
-
Bucket Brigade SingingNovember 03, 2020
-
Muting on Group CallsOctober 02, 2020
-
WebBundles and URL RandomizationAugust 26, 2020
-
How to set up foot pedalsAugust 23, 2020
-
Setting Up a Green ScreenAugust 14, 2020
-
Effect of NumpyAugust 09, 2020
-
Evaluating OpusAugust 08, 2020
-
Preview On HoverJune 24, 2020
-
Keep: Move checked items to bottomJune 10, 2020
-
Shutting Down RegularlyScheduledMay 29, 2020
-
Wrist IssuesMay 28, 2020
-
Wrapping and CenteringMay 21, 2020
-
Running Wired EthernetMay 13, 2020
-
Setting up a new MacMay 11, 2020
-
AudioWorklet Latency: Firefox vs ChromeMay 06, 2020
-
Retracting on FacebookApril 23, 2020
-
Wired Headsets for Video CallsApril 21, 2020
-
Bass Whistle in the BrowserApril 19, 2020
-
Web Audio Echo?April 18, 2020
-
Just Top PostApril 14, 2020
-
The Typing GameApril 13, 2020
-
Ethernet Is Worth It For Video CallsApril 11, 2020
-
MoshApril 07, 2020
-
Overhead of MessageChannelMarch 27, 2020
-
Making a Standing DeskMarch 07, 2020
-
More Rhythm OptionsJannuary 31, 2020
-
Porting My Rhythm SetupJanuary 25, 2020
-
Fiddle Effects TechJanuary 17, 2020
-
Folding Couch MonitorDecember 30, 2019
-
Programmers Should Plan For Lower PayDecember 28, 2019
-
Pixel 3a ReviewDecember 21, 2019
-
LW For External Comments?December 06, 2019
-
Comment, Don't MessageNovember 18, 2019
-
Uber Self-Driving CrashNovember 07, 2019
-
Lite BlockingNovember 05, 2019
-
Shared Cache is Going AwayNovember 01, 2019
-
Internet DistanceOctober 28, 2019
-
Why "Referer"?October 23, 2019
-
Archiving Yahoo GroupsOctober 18, 2019
-
Regularly Scheduled: Day-of RemindersOctober 09, 2019
-
Comments are back!October 03, 2019
-
Communication and Waking HoursOctober 1, 2019
-
Persistent SessionsJuly 23, 2019
-
Adventures in upstreamingJune 18, 2019
-
OpenringJune 17, 2019
-
Thoughts on AMPApril 19, 2019
-
Backup StrategyJanuary 22, 2019
-
Virtual Wind InstrumentsJune 29, 2018
-
Floor MouseJune 28, 2018
-
Handwriting for math etcMay 28, 2018
-
Getting into ProgrammingMay 15, 2018
-
Ads on postsMay 04, 2018
-
AMP experiment non-resultsApril 27, 2018
-
Reworking Facebook Comment InclusionApril 26, 2018
-
History of HTTPS UsageMarch 08, 2018
-
Chord Shape as InputFebruary 23, 2018
-
Trying out AMPFebruary 02, 2018
-
Avoiding "From" in EmailOctober 25, 2017
-
Moving to HTTPSOctober 05, 2017
-
Fixing SSH with RCN 1Gbps ServiceSeptember 20, 2017
-
Using Docs for Running NotesSeptember 11, 2017
-
Regularly ScheduledAugust 12, 2017
-
Text-to-Speech SpeedJune 04, 2017
-
Python Navigation in EmacsApril 28, 2017
-
Slack tool: predictMarch 17, 2017
-
Diving into a floating point bugMarch 02, 2017
-
Work Hardware SetupFebruary 08, 2017
-
Hit frequenciesDecember 02, 2016
-
Work Desktop SetupDecember 01, 2016
-
Making things mobile friendly IINovember 30, 2016
-
Making things mobile friendlyNovember 27, 2016
-
GitHub ResumesOctober 20, 2016
-
Bash Argument Parsing and QuotingOctober 04, 2016
-
32-bit Chroots on Ubuntu LTS 12 and Centos 5July 22, 2016
-
What's on our stage?June 13, 2016
-
Change Here for Bus ConnectionsJune 12, 2016
-
Remote RoundsJune 11, 2016
-
HTTPS SupportApril 13, 2016
-
Floor Polishing Guys?March 21, 2016
-
Dirname is EvilFebruary 11, 2016
-
Shortcuts in EmacsJanuary 21, 2016
-
Tempo MeterJanuary 04, 2016
-
Serf Error CodesOctober 21, 2015
-
See Raw Headers with NetcatOctober 05, 2015
-
Weissman Scores: Useful?September 23, 2015
-
SRI against the Great Cannon?September 19, 2015
-
RemindersAugust 22, 2015
-
DoNotLink: Mostly UselessAugust 09, 2015
-
What Do You Do Where?July 25, 2015
-
Google Referrals HTTPSJuly 09, 2015
-
Two Simple FixesJuly 04, 2015
-
Subway Synchronization ProtocolJune 17, 2015
-
Preemptive Cache Validation: Pushing 304sMay 19, 2015
-
HanabiMay 11, 2015
-
Bus Predictions: Open SourceApril 20, 2015
-
Miswired LightsMarch 18, 2015
-
Lightweight Bus MapFebruary 24, 2015
-
Distribution of MusicFebruary 15, 2015
-
Styled Bus PredictionsFebruary 13, 2015
-
I Like UpstartFebruary 11, 2015
-
Lightweight Bus Predictions PageFebruary 10, 2015
-
Bus Predictions PageFebruary 09, 2015
-
Subway-Surface FrequencyFebruary 05, 2015
-
Serial ConsoleFebruary 01, 2015
-
DIY Audio CastingJanuary 27, 2015
-
Other uses of DoodleJanuary 19, 2015
-
Picture InfrastructureJanuary 15, 2015
-
Page for icdiffDecember 07, 2014
-
Ambient Bus TimesDecember 04, 2014
-
WebP Quality SettingsNovember 26, 2014
-
Compiling SSIM on MacNovember 25, 2014
-
Why Parse the User-Agent?November 22, 2014
-
Flux TimingNovember 06, 2014
-
Emacs Keybindings in Chrome Without GnomeNovember 04, 2014
-
Moto 360 ReviewOctober 03, 2014
-
Topical RSS FeedsSeptember 30, 2014
-
Fixing a DI BoxSeptember 07, 2014
-
Defusing an Email StormSeptember 03, 2014
-
Mark New CommentsAugust 31, 2014
-
32-bit Chroot on CentOSAugust 21, 2014
-
Is Gain Like A Balloon?August 11, 2014
-
Audio from VideoAugust 04, 2014
-
Contra Weekend HeatmapAugust 01, 2014
-
Contra HeatmapJuly 31, 2014
-
Reference Contra Dance Sound SystemJuly 23, 2014
-
Require Keyword ArgumentsJuly 13, 2014
-
High DPI images with srcsetJune 09, 2014
-
Trigger Warning DBMay 31, 2014
-
Run When DoneMay 20, 2014
-
Eye Contact via Multiple CamerasMay 16, 2014
-
Malicious USB SticksMay 13, 2014
-
Have Taken A PictureMay 09, 2014
-
Home With ColorApril 11, 2014
-
Consistency for Progressive AutomationApril 05, 2014
-
Slides from talk at NGINX summitMarch 06, 2014
-
Repeated HTML Text Is CheapFebruary 19, 2014
-
How do you get the PID in bash?January 27, 2014
-
Compressing Dance Recordings With FLACJanuary 18, 2014
-
Where Can I Dance?October 18, 2013
-
The Date Link ConventionSeptember 09, 2013
-
Decrypt All Https Traffic?August 30, 2013
-
Smartphones Are Now Good EnoughAugust 28, 2013
-
How Much Can a Webpage Inflate?August 23, 2013
-
Automatically Updating Apartment MapAugust 19, 2013
-
Consistency in OntoNotesJuly 29, 2013
-
Text-Only Fallback BrowsingJuly 11, 2013
-
Keeping websites up to dateJune 30, 2013
-
How to run DiplomatorJune 24, 2013
-
Is Unicode Safe?June 14, 2013
-
Speeding up Sites at Google IOMay 17, 2013
-
Phone CostsMay 04, 2013
-
ngx_pagespeed: how does it work?April 29, 2013
-
Better Mobile SupportApril 05, 2013
-
3G and HSPA+ on the Razr M with ATT or T-MobileApril 04, 2013
-
Your Email Password Is CriticalMarch 04, 2013
-
Parsing HTML With Regular ExpressionsFebruary 22, 2013
-
Screwing up unsubscriptionFebruary 20, 2013
-
Abandoning Bottom-PostingFebruary 16, 2013
-
Minimal PersonalizationFebruary 10, 2013
-
Reverse RSS FeedFebruary 08, 2013
-
Apache doesn't cache htaccess configsFebruary 05, 2013
-
Efficient .htaccessFebruary 02, 2013
-
Unlinking Stereo Channels IIIJanuary 15, 2013
-
Unlinking Stereo Channels IIJanuary 10, 2013
-
Razr M on T-MobileJanuary 02, 2013
-
Unlinking Stereo ChannelsDecember 31, 2012
-
VSL1818 Web RemoteDecember 21, 2012
-
ngx_pagespeed coming alongDecember 20, 2012
-
VSL Remote Protocol: Step 1December 16, 2012
-
Audiobox vsl1818 Remote ControlDecember 12, 2012
-
A function that returns twice: fork()December 06, 2012
-
Dual MicroUsbNovember 28, 2012
-
AudioBox vsl1818 Recording ClicksNovember 27, 2012
-
Make Pages FastNovember 16, 2012
-
Audio Interface + Laptop = MixerNovember 01, 2012
-
Emacs Auto-Revert ModeOctober 01, 2012
-
HTML Expand To FitSeptember 06, 2012
-
Apartment Price Map By RoomJuly 27, 2012
-
Quotation DetectionJuly 20, 2012
-
External Comment Integration RewriteJuly 11, 2012
-
The Right to be ForgottenJune 20, 2012
-
Live Music and TechnologyJune 04, 2012
-
Alt-Tab and Focus-Follows-MouseJune 02, 2012
-
Electrical safetyMay 30, 2012
-
Cars as raw materialsMay 28, 2012
-
Emacs Wastes a ColumnMay 20, 2012
-
Globally Unique NamesMay 17, 2012
-
Proposing via an online adMay 01, 2012
-
Universal UndoApril 10, 2012
-
Touchscreen Touch FeedbackMarch 16, 2012
-
The Revenge of the IE Box Model?February 18, 2012
-
You Should Be Logging Shell HistoryFebruary 13, 2012
-
Caller control of phone ringerFebruary 08, 2012
-
CopyingFebruary 06, 2012
-
Phones as Makeup MirrorsFebruary 04, 2012
-
Self RedirectionJanuary 28, 2012
-
Android Sound Synthesis and LatencyJanuary 27, 2012
-
The Advantage of Logging: Browser HistoryJanuary 23, 2012
-
Libraries and TechnologyJanuary 18, 2012
-
Googlebot Running JavascriptJanuary 11, 2012
-
Nextgen Voting SitesJanuary 07, 2012
-
Determining What People Want to SeeJanuary 04, 2012
-
Audio Logging: Package as a device?January 02, 2012
-
Beats-per-minute MeterDecember 16, 2011
-
Publicy and NotificationNovember 29, 2011
-
Log Everything: Audio and VideoNovember 24, 2011
-
Location PublishingNovember 22, 2011
-
Design TestingNovember 19, 2011
-
Tongue-o-VisionNovember 16, 2011
-
Brain Rewiring and Tongue VisionOctober 30, 2011
-
Simple Plotting Software?October 12, 2011
-
An idea many people already hadOctober 08, 2011
-
Online Community AgingOctober 04, 2011
-
There is such a thing as plain textSeptember 30, 2011
-
Schedule Into Org ModeAugust 25, 2011
-
Learning Org ModeAugust 23, 2011
-
External Comment IntegrationAugust 04, 2011
-
Coordinating CommentsAugust 02, 2011
-
Facebook Dropping NotificationsJuly 21, 2011
-
Keyboard Keys Should Be Tiny TouchpadsJuly 13, 2011
-
Timestamp range in gnuplotJune 20, 2011
-
Boston Apartment Prices MapJune 18, 2011
-
Redirecting all subdomains to www in nginx with virtual hostingJune 17, 2011
-
Converting ISO 8061 datetimes to epoch timestampsMay 13, 2011
-
Reading Manpages On The TrainMay 12, 2011
-
Facebook's Recent Comment Editing FeatureApril 07, 2011
-
Focus Follows Mouse on OSX: A Weird QuirkApril 06, 2011
-
Scope and Ambiguous Assignments In PythonMarch 21, 2011
-
Javascript and Open in a New TabMarch 12, 2011
-
Running IE6, IE7, IE8 on OSXFebruary 18, 2011
-
Importing Python By PathFebruary 17, 2011
-
Making mbtaplot more useableFebruary 15, 2011
-
Taking Apart a Yamaha P85February 09, 2011
-
Open Formats Are Nice: iCalJanuary 25, 2011
-
Horizontal Bar Graphs With Labels in GnuplotJanuary 10, 2011
-
Significant Whitespace In ExpressionsJanuary 08, 2011
-
MultitouchMidi ScreenshotJanuary 07, 2011
-
App Ready For Download: MultitouchMidiJanuary 06, 2011
-
Trackpad Synth: VideoJanuary 02, 2011
-
Trackpad Synthesizer: Command Line OptionsDecember 26, 2010
-
Trackpad Synthesizer: Added VelocityDecember 23, 2010
-
Trackpad Synthesizer: Now a MIDI ControllerDecember 22, 2010
-
Macbook Trackpad SynthesizerDecember 20, 2010
-
New Version of MBTA PlotDecember 19, 2010
-
Thinking About the Right Way to Do SomethingNovember 15, 2010
-
Bus Plotter VIII: Experimental Subway SupportOctober 03, 2010
-
Bus Plotter VII: Headsign InterpretationOctober 01, 2010
-
Bus Plotter VI: Settings Chooser PageSeptember 29, 2010
-
Bus Plotter V: Settings Chooser PageSeptember 27, 2010
-
Bus Plotter IV: Extrapolate From Stop PredictionsSeptember 26, 2010
-
Bus Plotter III: Client Side Extrapolation and Snap to PathSeptember 25, 2010
-
Bus Plotter II: Linear ExtrapolationSeptember 24, 2010
-
MBTA Bus PlotterSeptember 23, 2010
-
Website wrangling scriptsAugust 20, 2010
-
Data Only Cell PhonesAugust 13, 2010
-
Shell History and the Value of Text Only EnvironmentsAugust 04, 2010
-
Moved Programming Projects to GithubAugust 03, 2010
-
Added --head option to icdiffAugust 02, 2010
-
How I do EmailJuly 30, 2010
-
Cache InvalidationJuly 28, 2010
-
EeeKeyboard actually existsJune 09, 2010
-
Adaptive Windshield TintingJune 01, 2010
-
Notifications that wait for conversational gapsMay 30, 2010
-
looper_sync now on githubMay 02, 2010
-
Goodbye ChucK; hello straight C with JACKMay 01, 2010
-
More work on looper softwareApril 26, 2010
-
Work on looper pedal softwareApril 20, 2010
-
Making a looper pedalApril 19, 2010
-
Pdf Reflow From ScansMarch 13, 2010
-
Keyboard first or display first?January 30, 2010
-
Weird tech levelsJanuary 14, 2010
-
Now with individual pages for entriesJanuary 12, 2010
-
RetrogrouchDecember 22, 2009
-
MBTA Service FrequencyDecember 12, 2009
-
iCal Format ScheduleDecember 02, 2009
-
Zonet ZEW1605A on Ubuntu LinuxNovember 06, 2009
-
Thinking about simulated annealingOctober 31, 2009
-
Learning more about emacsOctober 29, 2009
-
Exceptions in programming: asking forgiveness instead of permissionOctober 26, 2009
-
Narrow band televisionOctober 15, 2009
-
The 'expand this here' * operator in pythonSeptember 29, 2009
-
List reply in muttSeptember 12, 2009
-
Text only email stuffAugust 14, 2009
-
Faster icdiffAugust 14, 2009
-
eeepcJuly 3, 2009
-
Shell usageJuly 2, 2009
-
Sorting mixed lists of numbers and stringsJune 26, 2009
-
Blink matching parens in bashMay 6, 2009
-
Hilbert PacManMay 6, 2009
-
Introducing icdiffMarch 11, 2009
-
What is in hindsight a foolish way to do generator expressionsMarch 5, 2009
-
Programming: RepurposeabilityFebruary 23, 2009
-
Argument ordering and programming speedFebruary 5, 2009
-
Reverse resolution of environment variables IIJanuary 28, 2009
-
Bash quibblesJanuary 23, 2009
-
Colored grepJanuary 19, 2009
-
fix_path.cOctober 9, 2008
-
fix_path.pyOctober 6, 2008
-
DSL workingJune 16, 2006
-
DSL not workingJune 14, 2006
-
PlayGUI 0-1-4June 12, 2006
-
WebcamMarch 20, 2006
-
PlayGUI on MPDJanuary 22, 2006
-
PlayGUI: a program that should use MPDJanuary 19, 2006
-
Titan assistantDecember 12, 2005
-
PlayGUI fixesNovember 12, 2005
-
Interfaces and UsabilityNovember 2, 2005
-
Gaim AwayboxSeptember 19, 2005
-
PlayMusicAugust 29, 2005
-
Gaim over sshApril 28, 2005
-
Webpage up!September 17, 2004