ben
filters:
files
gif
html
jpg
md
photos
png
view:
list
tags:
code
javascript
log
swift
design
status-update
git
go
projects
excel
spreadsheets
sqlite
sql
notes
postgres
makefile
typescript
java
antlr
snippets
dart
ui
workspace
writing
other
css
psql
testing
ci
docker
ops
rust
lists
python
data-science
game
ide
kinect
about:
about
c2d709ef
2024-09-14
a6ae1c25
2024-09-03
56004bec
2024-09-03
2024-08-28-pelican-sunset
2024-08-28
4d5cc8e-2024-08-11
2024-08-11
9f4a14f-2024-08-11
2024-08-11
Quick tree-sitter grammars
A formula language that I wrote for a spreadsheet product called PT1 a couple years ago.
Quick tree-sitter grammars
2024-07-28
annies-canyon
2024-07-10
About
Life, work, contact info, and so on.
About
2024-07-02
welcome-utah
2024-06-28
alcatraz-seaguls
2024-06-19
alcatraz-seaguls-moon
2024-06-19
alcatraz-seagul-fireplace
2024-06-19
sf-from-alcatraz-4ef8db
2024-06-19
alcatraz-seagul
2024-06-19
440-n-wells-e869c0
2024-06-12
2024-04-19-bloom
2024-04-19
2024-04-12-break
2024-04-12
2024-04-03-mx
2024-04-03
2024-04-02-chichen-itza
2024-04-02
2024-04-02-fl-tr
2024-04-02
2024-03-24-cat-brick
2024-03-24
2024-03-09-moss
2024-03-09
440-n-wells-5ffd46
2024-02-28
duck-b-2024-02-26
2024-02-26
duck-a-2024-02-26
2024-02-26
sf-99cd56
2024-02-17
www
2024-02-04
surf-the-net
2024-02-04
sketching-529e48
2024-01-26
sketching-0fe4da8
2024-01-25
2024-01-20-uptown
2024-01-20
2024-01-01-new-year
2024-01-01
2023-12-23-IMG_2369
2023-12-23
2023-12-09-IMG_2271
2023-12-09
Log
Small notes of what I'm working on.
Log
2023-11-29
2023-11-27-winter-leaves
2023-11-27
2023-11-18-cat-radiator
2023-11-18
2023-10-08-ohare
2023-10-08
2023-10-05-the-generationals
2023-10-05
2023-09-23-garfield-park-conservatory-night
2023-09-23
2023-08-07-acadia
2023-08-07
2023-08-07-acadia-lookout
2023-08-07
2023-08-06-acadia
2023-08-06
2023-08-06-acadia-rock
2023-08-06
2023-07-13-rock-island-boat-house
2023-07-13
2023-07-13-rock-island-sunset
2023-07-13
2023-07-13-sunset
2023-07-13
Building a music making app with Swift (Part 1 of N)
A little beat making app with Swift and AudioKit. Went from design to prototype in about a 10 hours of work, and about another 20 to get it to something a little more polished.
Building a music making app with Swift (Part 1 of N)
2023-07-09
2023-06-30-the-mountain-goats
2023-06-30
Status update - May 2023
Here's what I've been doing in May.
Status update - May 2023
2023-06-05
2023-05-29-nylon-stitching
2023-05-29
2023-05-27-confluence-great-blue
2023-05-27
2023-05-27-confluence-with-rocks
2023-05-27
2023-05-13-alice-lake-michigan
2023-05-13
Status update - April 2023
What I've been up to in April.
Status update - April 2023
2023-05-09
Git static site generator tool
Simple static html site generator for multiple git repos.
Git static site generator tool
2023-04-07
Excel pivot cache madness
An archaic and terrible corner of Excel.
Excel pivot cache madness
2023-01-24
SQLite notes
Some personal notes on SQLite.
SQLite notes
2023-01-22
Postgres notes
Personal notes on Postgres.
Postgres notes
2023-01-19
Makefile notes
Just some useful notes on Makefiles.
Makefile notes
2022-10-27
2022-10-13-arches-park-near-balanced-rock
2022-10-13
2022-10-13-beneath-pine-tree-arch
2022-10-13
2022-10-13-colorado-river
2022-10-13
2022-10-13-crow
2022-10-13
2022-10-13-dead-horse-state-park
2022-10-13
2022-10-13-delicate-arch
2022-10-13
2022-10-13-devils-backbone-highway
2022-10-13
2022-10-13-goat
2022-10-13
2022-10-13-lizard
2022-10-13
2022-10-13-more-canyon-lands
2022-10-13
2022-10-13-sandstone
2022-10-13
2022-10-13-self
2022-10-13
2022-10-13-the-narrows
2022-10-13
2022-10-13-zion
2022-10-13
2022-10-10-computer-brain
2022-10-10
2022-08-01-mushroom
2022-08-01
2022-08-01-porch-coffee
2022-08-01
2022-07-27-corner-cat
2022-07-27
Docs, tests, design, and RFCs
RFCs, designs, tests, and documentation can tell you when you're getting it right.
Docs, tests, design, and RFCs
2022-06-18
F7 spreadsheet engine
F7 is a spreadsheet engine that can parse and run formulas like a spreadsheet.
F7 spreadsheet engine
2022-06-06
2022-06-01-blue-line
2022-06-01
Quick XLSX automation
Cheap and easy way to run XLSX files with containers and LibreOffice.
Quick XLSX automation
2022-05-29
Custom scrollbars in Flutter
Building custom scrollbars in Flutter with Dart.
Custom scrollbars in Flutter
2022-05-24
2022-05-14-tallest-brick-skyscraper
2022-05-14
Simple Typescript performance functions
Simple functions and annotations to add to other functions to monitor performance.
Simple Typescript performance functions
2022-04-07
A poem made by searching for "can always" in my programming notes
A poem made by searching for 'can always' in my programming notes
A poem made by searching for "can always" in my programming notes
2022-01-27
2022-01-20-jumbo-rocks-joshua-tree
2022-01-20
2022-01-20-san-diego-pacific-sunset
2022-01-20
2022-01-19-cacti
2022-01-19
2022-01-19-cacti-glow
2022-01-19
2022-01-19-driving
2022-01-19
2022-01-19-inside-the-rock
2022-01-19
2022-01-19-joshua-tree-shadow
2022-01-19
2022-01-19-off-in-the-distance
2022-01-19
2022-01-19-peach-sky
2022-01-19
2022-01-19-twenty-nine-palms
2022-01-19
2022-01-18-scrub-jay
2022-01-18
2022-01-17-chicago-alley
2022-01-17
2022-01-17-pelican-san-diego
2022-01-17
Designing and building a couch
Here are some pictures of the design and build, which was in total around 80 hours.
Designing and building a couch
2021-12-19
Status update - November 2021
An update for the month of November
Status update - November 2021
2021-12-05
Html input auto-width work-around
Making the html input element auto-width work based in interior value.
Html input auto-width work-around
2021-11-28
Excel and beyond
The good, the bad, and the ugly of Excel.
Excel and beyond
2021-11-04
Status update - October 2021
October updates and more.
Status update - October 2021
2021-11-02
Status update - September 2021
Here's a little of what I've been up to in September.
Status update - September 2021
2021-10-02
Status update - August 2021
Going to try something new. Just listing things that I learn each month. Not on any particular topic, just writing them down as I learn them.
Status update - August 2021
2021-08-31
PSQL functions for simpler queries
Use custom PG functions to raise not-found, and permission-denied errors inside of Postgres to save the round-trip time for common auth-wrapped, and dependency-prefaced queries.
PSQL functions for simpler queries
2021-08-09
2021-07-16-accidental-shot
2021-07-16
Writing tests is different from writing code
Abstraction and factoring aren't super helpful when you're writing tests.
Writing tests is different from writing code
2021-05-16
Running CI tests with two steps
Testing software is hard, and writing YAML configs makes it harder. A simple two-step process makes it easier to reason about.
Running CI tests with two steps
2021-03-14
2021-02-01-snowstorm-chicago
2021-02-01
2021-02-01-sub-zero-chicago
2021-02-01
2020-12-01-ice-crystals
2020-12-01
2020-12-01-ice-crystals-b
2020-12-01
2020-12-01-ice-crystals-c
2020-12-01
Rust macro for enum variant pseudo-subtyping
Getting closer to treating enum variants like types through the use of simple generative macros.
Rust macro for enum variant pseudo-subtyping
2020-10-14
Writing on a single-purpose device
Two months of using an AlphaSmart Neo2 - a 16-year-old, single-purpose word processor that costs about $40.
Writing on a single-purpose device
2020-10-11
Elmore Leonard's 'Ten Rules For Writing' for design
Elmore Leonard's 'Ten Rules For Writing', roughly applied to design.
Elmore Leonard's 'Ten Rules For Writing' for design
2020-08-29
Notes from 'Programming Rust' book
Just some from the 'Programming Rust' O'Reilly book.
Notes from 'Programming Rust' book
2020-07-04
2020-06-01-balloon-appleton
2020-06-01
CSS For range highlighting
Highlighting elements using CSS only.
CSS For range highlighting
2020-04-15
2020-03-01-longboard-ca
2020-03-01
2020-03-01-longboard-ca-alt
2020-03-01
2020-03-01-mountain-view-sky-alt
2020-03-01
2020-02-10-redwoods-ca
2020-02-10
2020-01-10-ikea-mountain-view
2020-01-10
2019-12-01-appleton-winter
2019-12-01
2019-10-01-chicago-sky
2019-10-01
2019-10-01-gull
2019-10-01
2019-09-01-austria
2019-09-01
Spreadsheet grid design
Improving spreadsheet grid design by thinking of the grid as an item inside of a container, instead of a container with items.
Spreadsheet grid design
2019-08-10
Review of spreadsheet user interfaces
You can find these images with a quick image search, but I wanted examples of each on one place so I can see the general UI patterns. What are the common elements that a user would see when using them? What do they have in common beyond the grid?
Review of spreadsheet user interfaces
2019-08-06
Spreadsheet reading list
A list of stuff about spreadsheets.
Spreadsheet reading list
2019-08-06
2019-05-01-treehouse
2019-05-01
2019-01-01-mirror
2019-01-01
2018-12-01-san-diego
2018-12-01
2018-11-01-ben-and-dad-christmas-tree
2018-11-01
2018-09-10-rain-on-booth-lake
2018-09-10
2018-07-01-garage-a
2018-07-01
2018-07-01-garage-c
2018-07-01
Acoustic fingerprinting television
Let's jump to the good stuff: How hard is it to create a program that can acoustic fingerprint a television show? Can we identify the playback position of a video based on audio tracks? For this blog post I'll use The Drew Carey Show, because it's the only show of which I have multiple seasons.
Acoustic fingerprinting television
2018-02-06
2018-02-01-snowshoe
2018-02-01
horse-lobby-painting-draft-2018-01-02
2018-01-02
2018-01-01-the-loop-winter
2018-01-01
1.0.1 Release of js-spreadsheet
Added 121 formulas, and fixed a few bugs, made Cells easier to handle, added support for scientific notation, clarified license, cleaned up parser a bit, added support for comma separated lists and much more.
1.0.1 Release of js-spreadsheet
2017-12-03
garage-painting-draft-2017-11-19
2017-11-19
2017-11-01-chicago
2017-11-01
2017-09-01-edinburgh
2017-09-01
2017-09-01-scotland
2017-09-01
2017-09-01-scotland-ben-neigh-a
2017-09-01
2017-09-01-scotland-ben-neigh-b
2017-09-01
2017-09-01-scotland-ben-neigh-other-side
2017-09-01
2017-09-01-scotland-museum-stairs
2017-09-01
2017-09-01-scotland-red-skyline
2017-09-01
2017-09-01-scotland-sunset
2017-09-01
Building a spreadsheet with formulas in javascript
The first crack at trying to write a spreadsheet engine in typescript & javascript. Parser and grammars were mostly written by hand or converted from other OSS, which made this a lot of fun to write, but probably filled with all sorts of errors.
Building a spreadsheet with formulas in javascript
2017-04-26
A guesser's guide to Google Spreadsheets
Stumbling through types, formulas, and errors in Google Sheets. I wrote this long before I had a firm grasp of spreadsheets, and their inner-workings, so this might best be described as my interior monologue when trying to figure out how and why spreadsheets sometimes do weird and interesting things.
A guesser's guide to Google Spreadsheets
2017-04-04
2017-01-01-shark-bowl
2017-01-01
Procedural terrain generation
Using procedural algorithms to generate terrain maps.
Procedural terrain generation
2016-11-30
From IDE to binary: writing Go in InteliJ
Getting the plug-in right, and living in the IDE. This was written before Goland came out, but here for posterity.
From IDE to binary: writing Go in InteliJ
2016-11-05
2016-10-10-utah-a
2016-10-10
2016-10-10-utah-b
2016-10-10
2016-10-10-utah-c
2016-10-10
2016-05-01-chicago-above
2016-05-01
2016-02-01-cables
2016-02-01
Captain's Log: a timestamped note taking app
An electron app that uses a command-line like log to keep track of what you're doing and working on, saving it to a YAML file. I used this for a while at work to track some trial-and-error performance tuning of Java apps. Not being able to go back and change your text frees you from the desire to make each sentence perfect.
Captain's Log: a timestamped note taking app
2015-09-26
2014-10-01-cabin
2014-10-01
Hexcraft: a Minecraft-like hexagonal tile editor
Hexagonal tiles that you can edit like a voxel-explorer game.
Hexcraft: a Minecraft-like hexagonal tile editor
2014-03-06
Live special effects for theatre performance with the Kinect
Shakespeare's Hamlet opens with a scene of two sentries discovering the Ghost of King Hamlet. More often than not, the part of the ghost is played by an actor in white makeup walking on stage to deliver his lines. I approached this project with the idea that through live motion capture and replay, theatre visual effects can serve to strengthen a performance, and breath new life to dead characters, even the ghosts.
Live special effects for theatre performance with the Kinect
2013-12-06
2013-07-01-dad-cabin
2013-07-01
You can also browse by
tags
, or
months
, or
archived
.