2,040 tweets, and 4,246 including replies.
- Dove Monterey this weekend. Great experience, but even with 7mm wetsuit and two layers of it on the torso, yeesh that water is chilly. https://t.co/KQPkNO9YvG
- Deployed a couple small things to Google Cloud Run finally.First impressions: Cloud Build is awesome (totally avoided installing local Docker), excellent custom domain setup/TLS, way too expensive but may work for tiny projects, GCP TUI/GUI both underwhelming but functional.
- Favorite new Mac OS mini-productivity tip:Copy the current path in a focused Finder window with ⌥ Option + ⌘ Command + C.So good when a common action turns out to have an easy default shortcut.(You may have to disable an Alfred shortcut in Features -> Clipboard History.)
- Today: Writing, light coding, photo editing, whole pot of coffee. Interludes for calisthenics and running in the greenbelt. All in the quiet of the 'burbs (away from SF's natural soundtrack of heavy machinery/road noise).Yep I'm boring, but practically a perfect day off.
- Last week wrote about rain in SF, 70s space optimism (and the MOMA), mainframes, vectorized SQL execution, and the artistic philosophy behind "Under the Wave Off Kanagawa".This week going out in ~1 hour.https://brandur.org/nanoglyphs/006-moma-rain https://t.co/DYeAO6X8up
- A couple snowy/icy Alberta shots, mandatory for the season. https://t.co/TfDx65X6ga
- They're making "Wonder Woman 1984" and joining the 80s nostalgia train started by Stranger Things, It, Deutschland 83, etc.Me: The present is so stylistically unremarkable that we're like an elderly generation reminiscing on a more vibrant past. Also me: sign me up. https://t.co/4cxRHoD9oY
- Really neat to see that the runner that powers GitHub Actions has been open-sourced, but it seems like a missed opportunity in that the release was so light on context. Can any GitHubbers comment on the choice of C#?https://github.com/actions/runner
- I've been having trouble finding inspiring writing topics recently, so experimenting with a (not quite) weekly newsletter to help get some words flowing.Last week's: an old Heroku eggnog recipe, and a dive into GitHub Actions.https://brandur.org/nanoglyphs/005-actions https://t.co/gByYndgnKX
- And I shouldn't be too hard on the NeXT logo — it does have a great 80s vibe. Certainly more interesting than today's "just use sans-serif" school of design.https://www.bloomberg.com/news/articles/2018-11-20… https://t.co/hxZHIAHbsb
- Re-read the Jobs biography and was reminded of Steve paying Paul Rand $100k, sight unseen, for the NeXT logo. There's some nice photos of Rand's booklet online, and even a reaction video — from 1986!The logo is a little homely, but it's a *great* story.
- (And although a new scissor mechanism had been predicted for a while, the physical Esc key and T-shaped arrow configuration were very nice surprises.)
- RE 16-inch MacBook Pro:Thankful that Apple didn't lay it on _too thick_ with superlative rhetorical bullsh*t about "reinventing the keyboard" or anything like that after the new variant is clearly a revert of a Really, Truly, Worst-of-Apple-hubristic-design Bad Idea. https://t.co/pn8ax4a18S
- And probably obvious, but I'd highly recommend enabling this. It works on both web and mobile, and is set up in such a way that you can always show images from your trusted senders.(And if enough of us do it, it'll significantly dilute the value of these dark techniques.) https://t.co/T63KePsIZZ
- Gmail's new-ish setting to not show external images by default is its best new feature in years.I get an inordinate amount of pleasure examining tracking pixels from recruiters (in source) and knowing that they can no longer trust their surreptitious telemetry. https://t.co/GDwCWBn5aY
- (Still looking for a way of getting easy access to a version of Imagemagick built in the last decade though. Shell utilities via Docker container is awkward to say the least.)
- Ended up migrating my blog's build from Travis to GitHub Actions.All in all, not too different, but really like the formalized build steps — output is a lot easier to read. Also, access to more modern packages via Docker.https://github.com/brandur/sorg/commit/10c6c4ad36f… https://t.co/qi9H6Z1lpK
- I really like this piece suggesting thoughtfulness on runaway use of dependencies. (Quite a radical position by today's standards.)e.g. If Apache Struts as disclosed three major remote execution vulnerabilities in four years, consider avoiding it.
- A pod of dolphins swimming alongside our dive boat. Impossible not to love these animals.Near Bunaken, Indonesia. https://t.co/RAt3803Seo
- Coral Eye marine outpost on Bangka, Indonesia. https://t.co/2TTn8TdQRs
- Git tip I wish I'd discovered ten years ago: if you `git config --global diff.noprefix true` it removes the silly `a/` and `b/` prefixes so that when you double-click select one to copy, you get a usable filename instead of a mangled path. https://t.co/8COLkcClv6
- Finished up the last of 14 dives in Roatan. A couple photos of the dive outfit — love the hand-painted signs (very “Life Aquatic”).Highlights: eagle rays, sea turtles, mantis shrimp (!!), clouds of silversides, seahorse, lionfish (invasive species) hunting, diving 300 ft wreck. https://t.co/oF6n6LJpPS
- Portrait of “Dr. Claw”, an after hours pool user at our local resort. Comparison of 11’s Night Mode (left) versus a 1.7 Leica (right).3 years ago, not worth spending one second thinking about taking an iPhone photo in the dark. A year ago: possible, with bad results. Now: good. https://t.co/coiYnNh0yG
- Assumed the 11’s 0.5x lens to be a gimmick, but 24 hours in, finding it’s the wide angle I always wanted, but didn’t know I did.Apple knocked it out of the park. In including it, but also the new Camera app design, which subtly shows what 0.5x might look like from the 1x view. https://t.co/NY4ESUgwmZ
- My sympathies for the immortal souls of those who eschew the ORM (or more importantly, anyone who has to maintain their stuff).One of the most airtight models in software design: ORMs for basic fetches and persistence. SQL for the complicated stuff.https://news.ycombinator.com/item?id=21031187
- New docs on Stripe's rate limits:We could stand to have more information on how to build code and patterns to work with limiting, so if anyone has specific requests, I'll try to integrate them over the next week or so.https://stripe.com/docs/rate-limits
- Spent most of my professional career hoping for developer tooling to catch up to the productive power of VS + C# + IntelliSense that we had in 2007.Tried VS Code + LSP in Go, Rust, and C — they all worked without me writing a single line of configuration. We're finally close.
- Not wanting to be the last person using it, spent the morning trying to get "good" at VS Code.Took 3 hours to get a setup better than a vimrc/plugin config curated over 10+ years, with the 80% of Vim people actually use, functional completion, jump to def, and "hover" docs.
- Discovered that it's possible to hike from the hills of Richmond to the redwoods of Oakland, and thanks to a buried highway, only cross ~3 minor roads.This is now the best long walk that I know of in the Bay Area. https://t.co/XtvulyZc87
- RT @FranckPachot: an awesome explanation of PostgreSQL transaction and read consistency code: https://brandur.org/postgres-atomicity by @brandur
- I've emailed in 79-char plain text for years as a courtesy to counter Gmail's propensity to never line wrap, but am increasingly cognizant that it's ~illegible on mobile, which is where a lot of mail gets read.Should I stop? Are there any other great format tricks I'm missing?
- Hugely important. Infrastructure matters, but safety also requires laws to be followed.Stopping at crosswalks, red lights, and stop signs is informally not required in San Francisco — dangerous norms blessed by the SFPD by comprehensive non-enforcement. https://twitter.com/hknightsf/status/1167442617031…
- Some texture shots of 3sixteen 16.5 oz unsanforized Japanese denim, indigo died, and slubby for fade contrast.(Especially in California) Owning only one pair of raw denim is more than enough, but the feel/weight/heft on these is pretty satisfying. https://t.co/3Xd8JvkyXr
- Learned today that Perl 6 won't be compatible with 5.Luckily I have no skin in the game, but it's amazing that language designers made this mistake after the hard lesson of Python 2 to 3 — a division that will have taken 12 years to resolve (if the 2020 sunset works this time).
- Tried Postgres' automatic partitioning feature — very cool stuff.However, one limitation only raised given a thorough read of the docs is that because indexes are partition-local, there's no easy way to enforce a unique constraint across all of them, which hurts many use cases.
- Coincidental with today's rest-client compromise, we released stripe-ruby v5, which among other things, moves to stdlib's Net::HTTP and brings total runtime dependencies to zero. (A micro-feature maybe, but a good one.)We'd love it if you gave it a try!https://github.com/stripe/stripe-ruby/releases/tag…
- I was also very much entertained by the exotic format of "blog post as Rustdoc".With nice Markdown rendering, good typography, code rendering, and linkable headers, it's more pragmatic than most dedicated blogs.
- Real-world code being converted from futures to async/await in Rust. Beautiful.And in case you missed it: await was implemented postfix (`x.await` instead of `await(x)`) for chainability. Contentious at the time, but so obviously the right decision now.https://docs.rs/dtolnay/0.0.3/dtolnay/macro._01__a…
- This was a delightful Postgres mini-project.Working in high-level languages almost all the time, it's been a _really_ long time since I had to think about pointer widths and re-arranging bits with shifts and masks.
- A favorite operational trick from Stripe —Metrics and dashboards are great, but despite its inefficiencies, logging will always have a place in operations — it gets you insight in tight spots that you'd never have otherwise.https://twitter.com/stripe/status/1156276733923823…
- LHI004: “Drive me back to the academy,” Buckman said.“I don't think I can drive; I'm shaking too bad.” He felt something on his face; putting up his hand, he found that his chin was wet, “What's this on me?” he said, amazed.“You're crying,” Herb said.
- Knocked the Hornet off my Bay Area bucket list. Was pleasantly surprised by how much of the ship is open. e.g. You can walk the entire length of the flight deck, and especially later in the day, feels like your own private aircraft carrier.Alameda’s view of SF is wonderful too. https://t.co/8DdbE0n7sI
- Also worth reading: RE2's “Why RE2?”> “As a matter of principle, RE2 does not support constructs for which only backtracking solutions are known to exist. Thus, backreferences and look-around assertions are not supported.”https://github.com/google/re2/wiki/WhyRE2
- CloudFlare's outage being caused by RE backtracking is fascinating (see appendix) — there must be so many similar bugs out there, and benign by luck because they haven't seen the right load/input.(But ~none in Go or Rust, which don't backtrack.)https://blog.cloudflare.com/details-of-the-cloudfl…
- Birthday present to self: Osprey Duro 15 running pack. (Also, my last bag fell apart.)Stabilizing straps are so good and the pack so light/breathable that commuting down/up the mountain to/from work with a 13” MBP feels like no trouble at all. Should’ve gotten one years ago. https://t.co/WLHb6Dkfae
- Hate to see the 12” MacBook’s demise.It was underpowered, but it turns out that was fine for 95% of what I actually want to do on a computer. And a form factor so tiny that you could throw it in your bag and forget it was even there.
- In SF, people walking around with face glued to smartphone is an epidemic.It’s apparently even worse in South Korea — they’re now experimenting with ground traffic signals to save smombies (“SMartphone zOMBIES”) from walking into traffic.Truly awful.
- Great content on building a fast rule engine for ad blocking. Even better: it's in Rust.Original implementation assumed that most requests aren't blocked, but found that on 250k reqs across top 500 domains, _39%_ were. Almost half going to ads/tracking!https://brave.com/improved-ad-blocker-performance/
- Comments on new rent controls in Berlin are great. Thoughts:* A gov’t that rivals SF in dysfunction. Defies physics.* Policy should (but never does) respect market forces.* Can’t stop there. Rent seeking too easy. Housing as investment needs curbing.https://news.ycombinator.com/item?id=20214901
- My accidental discovery of the day: Park auf dem Nordbahnhof — originally a rail line that fell into disuse after the wall was built alongside it, and now a wilder version of New York's High Line.https://brandur.org/sequences/berlin/007 https://t.co/7XXyHcktDg
- Amazing parks and trails in Leipzig. Head far enough south and you find yourself on old roads through old forest, shockingly devoid of people. It all smells heavily of wild garlic.https://brandur.org/sequences/berlin/004 https://t.co/mvHshkJqe3
- 003: A short stint down in Leipzig, a city which is home to some extraordinary old music venues. Today: doom metal performed under a dome inspired by Rome's Pantheon.https://brandur.org/sequences/berlin/003 https://t.co/cpQkZUF35Z
- 002: It's a _really_ hot month in Germany. I may have found the single positive use of jet lag: letting me get up early to go running before it becomes unbearable. This is a favorite Berlin route down the Spree.https://brandur.org/sequences/berlin/002 https://t.co/a99VOAr2Pj
- Grenzmauer 75.(Not very original, but a good place to start.)https://brandur.org/sequences/berlin/001 https://t.co/hCqxV8pyEq
- Great comment on actix-web 1.0 (a fast HTTP server for Rust), which notably is no longer powered by the actix actor framework.One of Rust's best-maintained projects, and just as importantly, targets stable instead of nightly (unlike most alternatives).https://news.ycombinator.com/item?id=20104631
- In Berlin for a few weeks, and publishing a small photography/writing project while I'm here.(And if you have ideas for amazing things to see while I'm here — send them my way!)
- Fell in love with Huge's live reload feature, so I put together a bit of a writeup on how to build your own on various Go primitives, and with changes streamed to clients via WebSocket.Also: Vim file saving trivia including unusual case of file “4913”.https://brandur.org/live-reload https://t.co/K3hJNaSLpN
- Jonathan Blow makes the case that software is in decline, and been free riding on hardware improvements for a long time. “We don't expect it to work anymore.”So many great points — I'm 100% convinced. Most important talk of the year. Maybe the decade.https://www.youtube.com/watch?v=pW-SOdj4Kkk
- Walked out to the Hunter Point's Shipyard for the first time and was surprised by the area's serene beauty.I now have a recurring urban fantasy that the navy finishes radiological cleanup and turns it over as a national park with ~no redevelopment — San Francisco's Tempelhof. https://t.co/lqNoLwoxOE
- I link only the very occasional music discovery on YouTube lest I be tweeting the all day, but it's rare to find a new favorite — this song and video are perfect in pretty much every respect.It's in Swedish, but luckily, there are no lyrics.https://www.youtube.com/watch?v=bubOcI11sps https://t.co/cD4llJa59J
- And its true genius of course is still that *incredible* build/test speed. So fast that it just disappears into the background, becoming such a non-issue that you forget to even think about it. I'd be happy if my other dev environments were 1/10th as good.
- My money's on Go for the most productive language — a winning combo of speed, brevity, correctness, and strict-but-not-too-strict types.This morning I wondered how difficult it would be to implement graceful restart with exec on usr2. Went from idea to refined impl in < 30 min.
- Wish I'd figured this out years ago:By setting Gmail on Vimium's exclude list, but then excluding almost every key, you can have get both Gmail shortcuts *and* Vimium's "F" function.("F" = keyboard link following; possibly the greatest browser plugin feature ever created.) https://t.co/Fq28UGaa9J
- (And not to say that operatorless stability isn't something to shoot for, but generally speaking, it's a vanishing rarity right now.)
- A common mistake from industry laymen is that running software is "shelf stable". Like a bridge, once you build it, you can leave it in place for years.Especially for large/complex projects, the opposite is true. Without human care, most would last days, or with luck, weeks.
- I'm periodically reminded of this great little page: https://areweasyncyet.rs/The format may have started as a joke, but this site goes above and beyond by providing the ultimate executive summary, and linking relevant PRs, RFCs, and projects. Excellent way of staying apprised.
- A very short fragment of thought about iPhones, HomePods, falling orchids, and button design.(Admittedly, mostly just self-satisfying complaining, but trivial flaws amplified by constant, around-the-clock use compound into slightly-less-trivial flaws.)https://brandur.org/fragments/false-positives https://t.co/3tAj24P82Q
- Looking for some alternate UI inspiration — what are your favorite fictional computer/human interfaces?Here are a few of mine: Tron Legacy, Oblivion, Casino Royale, Mission: Impossible (the good one). https://t.co/IdWh8Nlaxg
- Only a few days in, I really look forward to these little bursts on walking and Japan (even thinking I was getting paged when the first arrived at 5 AM).More off-Twitter tiny indy web content please! Playing with some ideas of my own for future trips.
- A very short fragment of thought about iPhones, HomePods, falling orchids, and button design.
- Jonathan Blow makes the case that software is in decline, and been free riding on hardware improvements for a long time. “We don't expect it to work anymore.”
- Comments on new rent controls in Berlin are great. Thoughts:
- LHI004: “Drive me back to the academy,” Buckman said.“I don't think I can drive; I'm shaking too bad.” He felt something on his face; putting up his hand, he found that his chin was wet, “What's this on me?” he said, amazed.
- Some texture shots of 3sixteen 16.5 oz unsanforized Japanese denim, indigo died, and slubby for fade contrast.
- Portrait of “Dr. Claw”, an after hours pool user at our local resort. Comparison of 11’s Night Mode (left) versus a 1.7 Leica (right).
- And probably obvious, but I'd highly recommend enabling this. It works on both web and mobile, and is set up in such a way that you can always show images from your trusted senders.
- Today: Writing, light coding, photo editing, whole pot of coffee. Interludes for calisthenics and running in the greenbelt. All in the quiet of the 'burbs (away from SF's natural soundtrack of heavy machinery/road noise).
- Favorite new Mac OS mini-productivity tip: