2,029 tweets, and 4,224 including replies.
- (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.https://twitter.com/craigmod/status/11156115240877…
- Having walked by it for years, I’ve always wondered about this tiny dive shop in the center of SOMA a stone’s throw from HQ of half the major tech startups of the last decade.Finally did a course there last night, and although compact and aged in very SF ways, it’s a delight. https://t.co/CPeWitJZBC
- As a user, I can't overstate how much of a game changer Sorbet by @darkdimius and co. is — you get totally, wonderfully, can't-ever-go-back captivated by it after just a few hours of use. The extra type annotations cost a little, and return *a lot*.https://sorbet.org/
- Some exciting progress for Stripe client libraries: stripe-java v9 now has typed parameter classes for API inputs, and they're code-generated for accuracy.This is something the team's been wanting to do this for *years*. More info and migration guide: https://github.com/stripe/stripe-java/wiki/Migrati… https://t.co/TgtVdTu2Za
- This map of Berlin's transit is beautiful pragmatism: https://berlintransitmap.de/Speaking as a somewhat colour-impaired person, the old/current map (2nd image) has always been borderline unintelligible because of heavy reliance on adjacent colours. https://t.co/etECeq6CAR
- Some of the first crocuses starting to flower in the foothills of Alberta.So soon after the end of winter the province is a monochrome landscape of lifeless brown, and these little splashes of colour are a delight. https://t.co/xapPkgtxfH
- Maintaining good status pages is an important discipline.The update to http://isairpoweroutyet.com was expedient, accurate, and definitive. https://t.co/lYzcuimOwU
- It'll be really interesting to find out how their concurrency/sandboxing model works out.It's *so* good to see innovation on that front. The traditional serverless model of "1 request = 1 container" is grossly inefficient. Memory use and startup times are important.
- Fastly's recent open sourcing of Lucet prompted me to go back and read about Terrarium, WASM-based computing on the edge.So much positive signal even from just the initial list of supported languages: Rust, C, TypeScript. Someone there has good taste :)https://www.fastly.com/blog/edge-programming-rust-… https://t.co/PODU9QXhmn
- RT @pganalyze: "Atomicity states that for a series of operations performed against a database, either every one of them commits together, o…
- China is destroying the west in terms of made up tech/startup lingo. You need to get to book three of the trilogy to even understand this reference.https://logicmag.io/07-the-chinese-burner/ https://t.co/gV16e85jqW
- The National Geographic article about Tokyo that's been heavily featured in the screenshots of the launch of Apple News+. Includes an amazing map that gives you a feel for the proportions and relative density of the city and its metropolitan area.https://www.nationalgeographic.com/magazine/2019/0… https://t.co/Du7mraoPCF
- For more complex aggregate operators like `$lookup` (a lackluster left outer join), Mongo's official docs actually use SQL examples to illustrate what they do because it's so much more clear than their own pseudo-query language.Why are we supposed to be using this thing again? https://t.co/AyeaaugxMa
- Reading Wiki's “Difficulties of plot summary” on Finnegan's Wake is great:It's one of the best known classics and Joyce gave interviews after publication, but still, not even the most pre-eminent literary critics have a clue what happened in this book.
- It'll be really interesting to find out how their concurrency/sandboxing model works out.
- 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.