As you get larger there is a fire everyday and ever more competing priorities on which fires get put out.
How much money does movie maker bring Microsoft? Now which executive would want to prioritize movie maker so much that they would directionally alter the company to fix this? Consider the issue that the execs had was fixing all the issues involved a huge number of teams.
Discredit to Bill here but I honestly think he was the only one who had the power to fix this. A Jobs-like figure is the only person with the organizational power and freedom to drive details like this to completion. Anyone else would end up in a power struggle
If the correctness of my program depends on the ordering of data (for operations that would otherwise be commutative), that seems like that should be something explicit rather than implicit.
I'm not sure if I agree that "hidden setting actually keeps your data correct" is something that should be the default.
The problem in practice with CCSV files, is they are no longer human editable, nor will tools like Excel automatically parsed them (maybe, I haven't checked in ~10 years, however I doubt CSV parsing has improved at all).
If the files aren't human editable anymore, why stick with CSV at all?
I mean no one is arguing that it is the best or even an OK format for serious data storage. Other solutions exist for a reason. But it’s evergreen and won’t go away precisely because of its simplicity. You will be able to use a CSV more or less identically in 2050, no questions asked.
It’s inherently universal because it’s text-based, and I think you underrate the occasional need to inspect it yourself. And when you do, it’s nicer to view than JSON to throw out an example (arguably JSON and variants need their own bespoke file viewer!)
It’s like saying markdown should be abandoned because text editors do all the formatting for you anyways and different markdown parsers exist and don’t always play nice. Or like saying txt should be abandoned in favor of rtf, even. Okay, sure, not invalid points. But in practice? Simplicity is often a virtue.
excel can edit csvs, definitely, no problem at all. It will lose any formatting and column size adjustments if you save back as csv, but that's expected.
This makes sense for a verifiable task like a regex engine - but those are clearly defined and I doubt an LLM will have a meaningful speed increase over current human regex engines.
Anything else kind of just feels like "make GTA 6, make no mistakes". The ability for you to write fast and correct software is really going to depend on well you can specify your problem, and having the ability to specify correct programs in such detail an LLM can reasonably performance tune it is a big enough reason for me to believe there will still be slow software
The SpacetimeDB launch video came up on my YouTube feed - and I was surprised the video didn't go at all into how it was implemented. I assumed it was proprietary magic, but then I was surprised to find it was opensource. That confused me more - to get the kind of semantics they were talking about I had assumed that it was pretty novel and if it was open source they should be leading with that.
Kind of bummed to see its essentially 2015-era React Flux in Rust around a mutex.
Notably, single threaded execution is optimal for performance here. If you don't believe us, maybe you'd believe TigerBeetle which is also single threaded by design.
>If you don't believe us, maybe you'd believe TigerBeetle which is also single threaded by design.
If SpaceTime was as rigorously developed as TigerBeetle, with TigerStyle, that would have been worth reading into as well. I don't think this can compare with TigerBeetle just because both are single threaded. TigerBeetle achieves it's numbers with a novel architecture
>There’s no reason why this can’t be replicated elsewhere. The key is to make the programming language reasonably robust with at least 80% of common non-UI dev needs built in and put the remaining 20% and UI bits into a small family of well-supported, community-embraced, preferably first party libraries.
The big reason is money & time. Maybe less so today if you are happy with an AI generated stdlib, but I don't think it's fair to compare Rust (built by Mozilla, who's primary product is an open source web browser) to Swift/AppKit (built by Apple, 4.6T marketcap at the time of writing).
When Go was released it had an amazing stdlib, but that was because Google was funding it.
Python is batteries included, but all the batteries have corroded.
Look at C++'s long in the tooth STL.
You don't want to marry a language to fast aging libraries you have to support for eternity. Better libraries always naturally emerge.
Rust's decision here is fine.
The only thing I'd like to see is the ability to programmatically limit transitive dependency count or depth in Cargo. I'd also like crates to specify whether they limit their own deps and whether they have panick-y behavior or not.
I think maybe the right answer is to have a standardized, curated group of libraries pegged at some sort of LTS release that only backports security fixes. However, someone would need to pay for creating and maintaining this -- and then you wonder where the money would come from?
That or potentially fast tracking merging popular libraries into the standard library. Or at least concepts from popular libraries. Basically all the "most downloaded" crates on the Crates.io front page should be candidates for merging into the standard library.
Not everything should be eligible for this treatment. Certainly not an HTTP library or something without extremely widespread applicability.
Nearly all of my projects used once_cell, so it's good to see that pulled in. I wouldn't want to see anyhow, thiserror, anything opinionated, or anything domain specific in the std. That's a weight you have to bear forever.
Remember how long Python 2 -> 3 took, and look at the ancient and awful stuff in Python 3's standard library. Rust is not the right language for this.
I’m a big fan of how C# handles this. The standard library is versioned like any other library. Your program is explicit about the major version of the standard library you’re pulling in. And all major versions of the standard library continue to work.
For rust, this would mean something like adding std = 1.0.6 to your cargo.toml. The advantage is it means the standard library can deprecate and replace features. Upgrading std is an explicit step by the developer. Annoying, but in the age of LLMs it should be pretty easy.
The one big question I can’t answer is what happens if your dependencies use a different version of std? Are std v1 Strings compatible with std v2 strings? Oof.
> The one big question I can’t answer is what happens if your dependencies use a different version of std? Are std v1 Strings compatible with std v2 strings? Oof.
C++ went through that around C++11, where some types had to have ABI breaks (on some implementations, such as that of GCC's libstdc++). It has been a while, but as I remember it std::string was affected since it went from COW to SSO. Map might have been affected too (don't quite remember). It was a mess.
Rust can link multiple semver versions of the same dependency, but you can't pass data structures between those versions. For transitive dependencies that usually isn't a big deal if your direct dependencies use them internally rather than exposing the types in their own APIs. But std contain vocabulary types that everyone uses (Option, Result, String, etc) so that would really not work.
More than that. Rust requires that a program can be compiled from multiple crates, with those crates all targeting different editions. This limits a lot of breaking changes you might want to make. APIs can never really be removed.
Rust releases a new version every 6 weeks and the latest version is the only supported version. This is only tenable when the amount of breaking changes is tiny and each instance's impact is analyzed and cost-benefit tradeoff is checked and mitigations are put in where possible.
Some features, e.g. the never type[0], are held back years due to all the work that's needed to minimize the breakage.
Can we pick and choose the good without the bad? If we agree stability is a net-negative we could just say there will be a list of blessed trustworthy libraries with extra scrutiny and bureaucracy (make no mistake this is completely necessary to what people are asking for) to make sure they don't go rogue. But without a guarantee they will stick around and get updates forever.
There's probably to truth to this, but I would weight the design intention behind the language just as or more heavily than available resources.
Swift was intended from the start to not only replace Objective-C and all of its use cases, but also take on new use cases and bring a number of features from other languages that were newer and had different dominant paradigms.
Certainly having a juggernaut like Apple behind it has been instrumental in its success in achieving those goals. That said, a community-lead project with similar aims could probably achieve those aims as well, given enough time.
I think it's just rare for enthusiast-led projects to set out to do such things. My theory on why things tend to go that way is that the types of people to start programming language projects tend to heavily lean nuts-and-bolts and theory with a purist/idealist sort of mentality that's more concerned ideological purity than practical usability.
So to sum this all up, a community-run practical, multi-purpose, batteries-included language likely needs to at least partially designed and helmed by product engineer types so it doesn't end up anemic and stuck in an ideological rut.
One thing that ticks me off about this conversation is they are always framed as anti-consumer, instead of anti-developer. It's Tim Sweeney, Mark Zuckerberg, and the ad networks who have the biggest gripe with these policies, not consumers. Consumers are the ones who bear the brunt of the cost when it comes to developers who desperately need to exercise their right to capture every and any piece of data the OS provides.
>If I can download and run arbitrary code on my Mac--even if I have to jump through scary warnings--why should I not be able to do so on my phone?
We saw how developers used that "freedom" - now all almost all software runs in a remote server and is delivered through a sandbox (and even then developers try as hard as possible to poison that as well).
Anti-developer is anti-consumer because it creates a barrier to entry as a supplier in a market where consumers create the demand, but I suppose the main thesis behind calling it anti-consumer is that competition among suppliers is generally considered good for consumers for keeping prices and product/service quality in check.
>who desperately need to exercise their right to capture every and any piece of data the OS provides.
thankfully the EU has extensive privacy regulations prohibiting developers from doing just that, so we can enjoy open platforms instead of being at the mercy of a private corporations protection racket as if it's the 19th century
>open platforms instead of being at the mercy of a private corporations protection racket as if it's the 19th century
But your gripe is not about open platforms. Your gripe is that Apple iOS is not an open platform. Those are two different things, there are open platforms out there.
My complaint is that iOS as a closed platform is a feature, and Apple has been a good steward for that platform that has made it a stable computing platform for the general public. Corporations (cosplaying as "poor indie developers"), are simply frustrated that Apple isn't allowing them to abuse their users for extra dollars.
These same "developers" who pretend to care so deeply about open platforms don't even distribute their software on Linux. The concern trolling about open platforms is a farce. Picking on epic games again - you can't play Fortnite on Linux. It's "open platforms for me, but not for thee"
Forget the advertising angle, lets look at payments. Apple forces you to use their payment processor and they charge a larger fee. What does the consumer get? They get a single control panel for all their subscriptions that they can cancel at any time. "Developers" hate this - not because they want to charge you less, but so that they can make you jump through 50 hoops in order to cancel.
If I have to choose between two evil corporations, Apple and the greater tech industry that shit on the web, I'm picking Apple. If I care about open platforms, I'll move to an open platform, not lobby the government for Apple to open theirs.
>, but so that they can make you jump through 50 hoops in order to cancel.
again, doesn't apply in the EU. Consumer Rights Directive passed a few years ago stipulates that any subscription must be as easy to cancel as it is to sign up, and created a 'two click rule'.
Practical example of this is Amazon, here in the EU it takes exactly two clicks, in a lot of other jurisdictions you have to jump through half a dozen pages.
You might have to choose between two evil corporations, my point was I don't. Here we can open Apple up so they don't get to extract platform rent and I'm still not at the mercy of Tim Sweeney. Being governed by robber barons instead of your own government is an ideological choice, if you enjoy living like that fine but we don't.
A closed platform can only ever be a feature if you're so disempowered that private companies are running circles around you, otherwise it's just anti-consumer and anti-developer behavior.
We can? Last time I checked everyone and their mother is collecting all kinds of data for nefarious purposes. EU has a snowball's chance in hell keeping up, and when they eventually get around to issuing a fine it's so small and irrelevant compared to money made that it's business as usual.
Are those regulations adequately enforced? Lots of smaller developers out of jurisdication, and lots of bigger ones treat it as a cost of doing business: the data is worth more than the fines.
Thank you. There is a huge difference between "developers being able to do anything they want to the user's system" and "users being able to do anything they want with their own system." I'm strongly against the former and strongly for the latter.
App developers have shown time and time again that they will abuse every single resource on the user's system they can get their claws into. If they can get it, they will use APIs meant for accessibility and disabled users to remote-control your system. If they can get it, they will use location/GPS when their app has nothing to do with location. If they can get it, they will spam you with notifications and alerts. The USER needs to have control over these and the ability to stop abusive developers from running roughshod over their computers.
> We saw how developers used that "freedom" - now all almost all software runs in a remote server and is delivered through a sandbox (and even then developers try as hard as possible to poison that as well).
Evil developers forcing poor users to download their applications.
Guess we all to suffer with braindead supercomputers in our pockets, because granny gran installed hax to get free gems for a gacha (that she downloaded from Apple approved App Store).
>Guess we all to suffer with braindead supercomputers in our pockets
Complete non-sequitur. You don't have to suffer, you can just buy a different platform. Android has had alternate stores for decades.
This is concern trolling. If you cared about having an open platform, you could just not buy apple. But that's not what you care about - you want to be able to push your shitty software onto other people's supercomputers without Apple getting in the way.
> You don't have to suffer, you can just buy a different platform. Android has had alternate stores for decades.
Because the only difference between Apple and Android crap is only software, of course? I won't fit into the message limit if I start listing issues that I have with Android garbage.
> If you cared about having an open platform, you could just not buy apple. But that's not what you care about
Where did I say anything about open platform? Are you hallucinating LLM or something? I just want to install whatever I write for myself without going through the hoops of weekly resigning and big brother approving what I do on a device that I OWN.
> you want to be able to push your shitty software onto other people's supercomputers without Apple getting in the way.
> We saw how developers used that "freedom" - now all almost all software runs in a remote server and is delivered through a sandbox (and even then developers try as hard as possible to poison that as well).
What are you talking about exactly?
On linux I can run any software I want, and how is that bad?
Your approach is fine, if that is something important to use then use linux. What I dislike is taking a platform where the sandbox is a feature, and crying you aren't allowed to shit in the sandbox.
I understand the author feels he missed an opportunity to catch a bug in Sqlite - but this still feels like catching something in hindsight. Just knowing the bug the is in Sqlite's concurrency engine is a huge win.
But reading over tailscale's blogpost, I'm not sure how I would connect the dots to "this issue I'm seeing in production" to "load this up in antithesis". It seemed half the battle was figuring out if the bug was in Sqlite, Tailscale, or Linux, and in that situation if you gave Antithesis all the context, would it reliably find the bug?
>Was the Union army complicit in the crimes of the Confederacy by simply allowing them to drop their arms and walk away as well? The world is complicated and full of nuanced takes depending on context.
I think the irony here is you are presenting this like a complicated choice, when I would argue many people agree that the way the Union handled reconstruction was extremely poor.
How much money does movie maker bring Microsoft? Now which executive would want to prioritize movie maker so much that they would directionally alter the company to fix this? Consider the issue that the execs had was fixing all the issues involved a huge number of teams.
Discredit to Bill here but I honestly think he was the only one who had the power to fix this. A Jobs-like figure is the only person with the organizational power and freedom to drive details like this to completion. Anyone else would end up in a power struggle
reply