jmoiron plays the blues

@jmoiron.bsky.social replied: Funcopts also have some minor advantages for maintenance. Funcopts separate data and interface, so if you have to eg. change the type of an option, it's easy. The name might suck, but you can make what would be a breaking change to your internal config data and keep things consis...
@jmoiron.bsky.social replied: I'm not a massive fan of funcopts, but your example is best case and config struct usage usually looks more like this: x := f.NewDefaultConfig() x.Port = 80 ... y := f.New(x) Which.. frankly it doesn't bother me, but in-lining would be nice. If x is a *Config, that's also trick...
@jmoiron.bsky.social replied: A last remark, some center left people that I like (eg. Hank Green, Ezra Klein) will say that Americans buy these cars because they like them. These cars only work in the US because the American suburban lifestyles are heavily subsidized by nearby cities.
@jmoiron.bsky.social replied: So the US car industry is definitely in trouble, but it's been that way for a long time. It produces stupid and inefficient "light trucks" for a thoroughly car-brained society that looks nothing like the global market, and instead of diversifying, it's doubled down.
@jmoiron.bsky.social replied: The only US car company that has been making anything close to what people want internationally has a CEO everyone hates, and is now producing low-polygon stainless steel monstrosities that are not even street legal outside of North America.
@jmoiron.bsky.social replied: In the US, none of these are true, so US car companies make big SUVs which are more expensive, heavier, and less fuel efficient than small cars. To price them lower, they use cheap materials and sell a terrible entry trim. The result is still a bit expensive, but feels cheap.
@jmoiron.bsky.social replied: In most of the world, roads are small, gasoline is expensive, and people are concerned about climate change. They want smaller cars that can be run inexpensively, and they want to take advantage of the rapid greening of their energy grids.
@jmoiron.bsky.social replied: I was just in London for a bit, and while in a taxi a very large pick-up truck pulled up next to me. It was a Ford Ranger, the smaller version of the F-150. It looked completely ridiculous and impractical.
@jmoiron.bsky.social replied: For ~20 years, Ford made cars that were excellent choices even in the packed EU market, the Focus and its little sibling the Fiesta; probably the best American ICE cars of the 21st century. They stopped production in 2025 and 2023, respectively. The only car Ford produces now is...
@jmoiron.bsky.social replied: A lot of the takes on this are a form of "US car companies are cooked", which.. yes, but it's not primarily due to Chinese competition. It's cooked because the domestic industry has totally reoriented around producing large, inefficient, unsafe, poorly made SUVs, and nobody else...
@jmoiron.bsky.social Assuming the Huawei YU7 sells its 200k-in-3-minutes pre-orders, that's about as many cars as Honda Civics sold in the US in 2023, or about how many cars Tesla sells globally every 4 months. As the saying goes, quantity has a quality all its own.
@jmoiron.bsky.social People are starting to call all sorts of applications of real world computer assistance and interaction "AI" with the intended effect of making fairly harmless technologies like Hawkeye and blind spot sensors seem more controversial.
@jmoiron.bsky.social First time at Wimbledon, first time on Centre Court.. just an amazing match between Anisimova and Sabalenka.
@jmoiron.bsky.social Been in Chelsea about 6 hours and have already thought about how pleasant it would be to spend some time sketching its historic architecture.
@jmoiron.bsky.social Honestly, you need exceptional evidence these days to justify not using 64 bit integers for serials.
@jmoiron.bsky.social As a Portuguese football fan, I've followed Jota's career closely since he spent a year on loan at Porto. His middle name, José, is my father's name, and it's where "Jota" comes from. Lots of stories today about how he was truly one of the good ones. Gutted.
@jmoiron.bsky.social replied: I prepared a talk called "The network is the Computer" for an early Gotham Go, but I unfortunately fell ill and couldn't give it. A core part of the talk was calling out the many similarities between CPU architecture & distributed architecture and caching is a big component.
@jmoiron.bsky.social replied: Another peculiarity with the data you work with is that it's incredibly temporal. Writes and reads are heavily correlated along the t axis. This can be good leverage for anticipating & improving cold read scenarios, but if that anticipation fails enough then it's not worth it.
@jmoiron.bsky.social replied: Ah okay, I know the kind of thing you're talking about ;) A big reason to design a tiered system with more explicit routing up front is QoS. I'd argue this architecture is still an application of "caching" as a technique, but without the traditional expiry mechanisms.
@jmoiron.bsky.social replied: This and "caching" is not limited to locality, it's a way of saving any kind of expensive operation, including computation (eg. memoization). I'm not sure the idea of caching as an abstraction extends naturally to these other uses of caching.
@jmoiron.bsky.social replied: I guess this is what is throwing me: > Coming to caching from the belief that "I will personally manage when my data needs to be stored in faster storage" I don't think many real systems ever go through this phase, but many really do look like the naive version.
@jmoiron.bsky.social replied: I don't see how these morphisms correspond to any kind of realistic system development lifecycle. Systems that benefit from the addition of caching are usually "slow & simple" and they are made faster & more complex by its introduction.