More from seangoedecke.com RSS feed
When I write about doing politically valuable work in big tech companies, I often get comments accusing me of trying to get ahead at the…
Some engineers work very consistently, putting in the same hours every day and getting out the same amount of work. I don’t. Some days I…
Big tech companies spend a lot of time and money building things that a single, motivated engineer could build in a weekend. This fact…
You can go a long way as a software engineer without ever managing to think clearly. The feedback loop of writing and running code is so…
More in technology
Casey Newton: Hands on With Operator — A Promising but Frustrating New Frontier for Artificial Intelligence The experience revealed to me one of Operator’s key deficiencies: it can use a web browser, but it cannot use your web browser. This matters a lot, because your browser is already
We are proud to announce the Made-in-India UNO Ek R4! Available exclusively in India in both WiFi and Minima variants, it is born to meet the needs of the country’s growing maker and innovation ecosystem, by combining all the powerful features of the UNO R4 with the benefits of local manufacturing, enhanced availability, and dedicated […] The post The future of making, Made in India: Introducing the Arduino UNO Ek R4 appeared first on Arduino Blog.
When I write about doing politically valuable work in big tech companies, I often get comments accusing me of trying to get ahead at the…
A small standard library means an explosion in transitive dependencies. A more comprehensive standard library helps you minimize dependencies. Don't misunderstand me: in a real-world project, it is practically impossible to have zero dependencies. Armin Ronacher called for a vibe shift among programmers and I think that this actually exists already. Everyone I speak to on this topic has agreed that minimizing dependencies is ideal. Rust and JavaScript, with their incredibly minimal standard libraries, work against this ideal. Go, Python, Java, and C# in contrast have a decent standard library, which helps minimize the explosion of transitive dependencies. Examples I think the standard library should reasonably include: JSON, CSV, and Parquet support HTTP/2 support (which includes TLS, compression, random number generation, etc.) Support for asynchronous IO A logging abstraction A SQL client abstraction Key abstract data types (BTrees, hashmaps, sets, and growable arrays) Utilities for working with Unicode, time and timezones But I don't think it needs to include: Excel support PostgreSQL or Oracle clients Flatbuffers support Niche data structures Neither of these are intended to be complete lists, just examples. Walled gardens Minimal standard libraries force growing companies to build out their own internal collection of "standard libraries". As one example, Bloomberg did this with C++. And I've heard of companies doing this already with Rust. This allows larger companies to manage and minimize the explosion of transitive dependencies over time. All growing companies likely do something like this eventually. But again, smaller standard libraries incentivize companies to build this internal standard library earlier on. And the community benefits relatively little from these internal standard libraries. The community would benefit more if large organizations contributed back to an actual standard library. Smaller organizations do not have the capacity to build these internal standard libraries. Maybe the situation will lead to libraries like Boost for JavaScript and Rust programmers. That could be fine. Versioning A comprehensive standard library does not prevent the language developers from releasing new versions of the standard library. It is trivial to do this with naming like Go has done with the v2 pattern. math/rand/v2 is an example. Conclusion My concern about the standard library does not stop me from using Rust and JavaScript. Furthermore, they could choose to invest in the standard library at any time. We have already begun to see Bun and Deno to do exactly this. But it is clearly an area for improvement in Rust and JavaScript. And a mistake for other languages to avoid repeating. While zero dependencies is practically impossible, everyone I've spoken to agrees that minimizing dependencies is ideal. Rust and JavaScript work against this ideal. But they could change at any time. And Bun and Deno are already examples of this.https://t.co/qkSh6oW1Yd pic.twitter.com/mY1MNErZG7 — Phil Eaton (@eatonphil) January 25, 2025
A certain individual who owns a certain social media site spoke at a certain President's inauguration earlier this week and at one point gave a very distinctive salute. Now look, I'm not calling this billionaire a Nazi, and I'm not telling you whether I