Blake Williams (@blakeorwhatever) header
Blake Williams (@blakeorwhatever) profile picture

featured in the NSA's internal newsletter | building cursor | formerly principal eng @github | words my own

Boston, MA
Joined September 2010
Photo by Blake Williams (@blakeorwhatever)Photo by Blake Williams (@blakeorwhatever)Photo by Blake Williams (@blakeorwhatever)Photo by Blake Williams (@blakeorwhatever)Photo by Blake Williams (@blakeorwhatever)Photo by Blake Williams (@blakeorwhatever)Photo by Blake Williams (@blakeorwhatever)Photo by Blake Williams (@blakeorwhatever)Photo by Blake Williams (@blakeorwhatever)Photo by Blake Williams (@blakeorwhatever)
Hacking on a tool to bridge the gap between "agent finished iterating on a plan" and "committing+pushing my changes for review" It's basically `git add -p` with super powers, letting you prompt+polish as you go. Experimental and still lots of jank, but fun so far!
1
71
For anyone curious, github.com/BlakeWilliams/gg I really wanted a tool that avoids the pitfalls of vibe coding and prompting without line level context. I can review the code, ask questions, and prompt changes. All while easily staging/ignoring anything inconsequential.
1
68
I've been using TypeScript on a side project and I'm really loving how much type safety you can achieve with a bit of effort. I ended up migrating from hbs to JSX/React to get even more type-safety and wrote a post about it. blakewilliams.me/posts/type-…
1
3
tl;dr this function can give you a simple, type-safe view layer in express using React.
1
Blake Williams retweeted
Today is the final 2021 performance on the "Ruby's Got You Covered" tour. I'll be Zooming over to London for the show. See you there?
1
3
Hacking on a code formatter for Ruby and learned about this fun shadowing edge case: With explicit parens calls the method defined on the class, without returns nil.
1
4
the issue is that the formatter turns the with parens version into the without parens (and breaks things). there's only one quick fix I can think of and that's to make all method calls add `()`, which seems not great. Imagine `foo().bar().baz() unless some_method_value().nil?()`
Added `set -g status-right '#(cd #{pane_current_path}; git rev-parse --abbrev-ref HEAD)’` to my `~/.tmux.conf` and got rid of RPROMPT to show the current git branch and it’s been great.
I never thought about Rails models this way before, but they’re basically just decorators on database rows it was kind of an “ohhhhhhh” moment when I was pairing and saw some JSON hashes being decorated. we extracted them into classes and it was a big improvement
1
7
after writing that out, it does seem kind of obvious in hindsight. I knew they were decorator like, but I had never made the 1-to-1 connection between the two directly.
4
the surface pro x looks like what I wish the iPad could be. totally tempted to get one but I don’t think I could deal with windows. just give me a terminal on the iPad and everything will be great.
1
3
Blake Williams retweeted
Breaking: Effective immediately, Blizzard has removed Hong Kong Hearthstone player blitzchung from Hearthstone Grand Masters, rescinded all his prize money, and have suspended him from pro play for one year for his recent interview. Statement below nitter.cf/Slasher/status/1181065…
in a post-match Hearthstone Grandmasters winning interview, Hong Kong HS player @blitzchungHS said "Liberate Hong Kong, revolution of our age!" in response, Blizzard Taiwan has now deleted the VOD from their official Twitch channel nitter.cf/InvenGlobal/status/118…
1,789
11,592
5,583
24,731
I also wrote a post about the adventure I had to go on in order to get Objective-C + #golang interop to actually listen to macOS URL events blakewilliams.me/posts/handl… tl;dr Go’s support for C interop is great and making a `.app` from scratch is a lot simpler than it sounds.
2
2
It’s been a while, but I hacked on a project this weekend to scratch an itch. I made github.com/BlakeWilliams/b-r… which is an app for macOS that you set as your default browser and it routes URL’s to your browser of choice based on regex patterns you define. Mostly CLI oriented.
1
1
Using cgo to write Go + Objective-C for macOS integration is pretty rad. Turns out you don’t actually need too much boilerplate to get a working .app running.
1
Not my usual genre or music that I’d seek out on my own, but I’ve been really enjoying this: music.apple.com/us/curator/m…
Great advice on recognizing the good things you’ve done. It’s good to push and be hard on yourself sometimes but it’s super easy to ignore all the things you’ve accomplished along the way.
Blake Williams retweeted
Then I read up on `yield_self` and thought, “OK, but that might be confusing to the reader.” Guess what? Ruby 2.6 introduced `then` as an alias for `yield_self`! Now this 😍
1
1
3