I had forgotten about prog21, and I'm impressed how he wrapped up his blog:
> I don't think of myself as a programmer. I write code, and I often enjoy it when I do, but that term programmer is both limiting and distracting. I don't want to program for its own sake, not being interested in the overall experience of what I'm creating. If I start thinking too much about programming as a distinct entity then I lose sight of that.
Programming is a useful skill, even in the age of large language models, but it should always be used to achieve some greater goal than just writing programs.
That would be wild: a cash furnace merges with a pile of cash. I had forgotten just how late in the dot-com bubble AOL/TW happened. I think it's far more likely that Microsoft lets OpenAI hang, then pillages the corpse, while Apple goes on to boringly make giant piles of money from hardware.
The thought of rewriting anything as intricate, foundational, and battle-tested as GNU coreutils from scratch scares me. Maybe I'd try it with a mature automatic C-to-Rust translator, but I would still expect years of incompatibilities and reintroduced bugs.
See also the "cascade of attention-deficit teenagers" development model.
Eh. People have written replacements for glibc because they didn't like something or another about it, and that seems to me to be way more fraught with risk than coreutils.
Folks also run into compatibility issues with musl as well. The biggest I recall was an issue with DNS breaking because musl didn’t implement some piece.
Fair enough. My gut sense is that C functions are simpler than shell commands, with a handful of parameters rather than a dozen or more flags, and this bug supports that -- they forgot to implement a flag in "date." But I haven't tried to do either, so I could be wrong.
> The thought of rewriting anything as intricate, foundational, and battle-tested as GNU coreutils from scratch scares me. Maybe I'd try it with a mature automatic C-to-Rust translator, but I would still expect years of incompatibilities and reintroduced bugs.
It is extremely bad that it's not a relatively straightforward process for any random programmer to rewrite coreutils from scratch as a several week project. That means that the correct behavior of coreutils is not specified well enough and and it's not easy enough to understand it by reading the source code.
Not to be too harsh, but if that’s your (fundamentalist) attitude to software, remind me to argue strenuously to never have you hired where I work.
Fact is you can’t rewrite everything all the time, especially the bits that power the core of a business, and has for a decade or more.
See banking and pension systems, for instance.
I think you're completely missing the point. The problem being solved is not that coreutils is bad and thus they should be rewritten, the problem is that coreutils is not specified well enough to make new implementations straight-forward. Thus a new implementation written from scratch is tremendously valuable for discovering bugs and poorly documented / unspecified behavior.
For a business it's often fine to stop at a local maximum, they can keep using old versions of coreutils however long they want, and they can still make lots of money there! However we are not talking about a business but a fundamental open source building block that will be around for a very long time. In this setting continuous long term improvement is much more valuable than short term stability. Obviously you don't want to knowingly break stability either, and in this regard I do think Ubuntu's timeline for actually replacing the default coreutils implementation is too ambitious, but that's beside the point—the rewrite itself is valuable regardless of what Ubuntu is doing!
This is the one most familiar to me. Usually the signs have flashing orange lights to indicate when they're active, but sometimes not. You generally know roughly when the kids are in school (maybe look at the school?), and follow what other drivers are doing. Things like this are why I think fully autonomous driving basically requires AGI.
> The global average cost of solar panels is $90/kW.
I don't remember where I read about it first, but the fact that Pakistan is installing gigawatts of solar panels per year made me smile. It's not a coordinated effort, either; people choosing between (1) relying on janky transmission lines, (2) feeding a diesel generator, and (3) buying a rectangle that creates electricity and a cheap battery tend to choose option 3.
"E-bikes" are much more efficient than electric cars, but they're just electric scooters with governors at this point, and only called "bikes" for regulatory reasons.
I have a friend who hates any electric bike not "pedal-assist". His opinion is they are electric motorbikes - that happen to have pedals as a backup option, usually not used.
And if anyone said "lets ride motorbikes with pedestrians" they'd be looked at funny.
I'm seeing more near misses each week AND in 20 years I'll be old enough to feel real vulnerable...
Everyone is vulnerable regardless of age. There absolutely need to be regulations around how these ebikes are allowed to go based on their power output.
I ride a motorbike. I'd argue speed is the limiter.
Some of these electric bikes are quite speedy - capable of mixing it up with flowing traffic. So classify them as being motorbikes.
If they can't go that fast, or are "assistive only" (require large fraction of rider pedal input up to a set speed) then legislatively they are a "normal bike".
The thing is, we already have the rules around each style of bike. It's just a classification thing.
Many electric bikes are masquerading and hoping no one looks too closely. So, just look closely. And hold actions responsible.
E-bikes are shockingly dangerous, although at least the only kill their operators and other pedestrians, unlike cars and trucks which spread the carnage around to everyone.
A skim of his Wikipedia bio suggests that he's smart, but mostly just interested in making money for himself. Since high school, he's spent time at: some fintech place, a Q-and-A site, MIT briefly, another fintech place, then data labeling and defense contracting. He sounds like a cash-seeking missile to me.
> The web is crazy complex these days because it is an entire app platform.
I'd prefer something that's not crazy complex, that's not "an entire app platform" designed and implemented by Google. Google essentially controls the W3C (Mozilla would vanish if Google stopped funding it), and controls the monopoly rendering engine.
Half of websites are better without JavaScript and web fonts, and 99% are just text, images, and videos with maybe a few simple controls. For the other 1% I can fire up Google Chrome and suffer the whole platform.
I want a web rendering engine for the 1%, that does the simple stuff quickly and isn't a giant attack surface around 30 years of technical debt and unwanted features calling itself an "application platform."
This actually reminds me that early in the HTML5 era one of its key selling points was that you could play videos using just the <video> element. There would not be a need for Flash, Silverlight or JS. However these days it is extremely rare to come across a site that can successfully play videos with JS turned off. Complicated JS has de facto become a requirement for videos but it doesn't have to be.
I too have nostalgia for a time when prices were reasonable, politicians didn't philander and children respected their elders.
And yet here we are :-)
For what it's worth, despite it being /en vogue/ to rag on Google, the Chrome team has some of the most talented and dedicated folks focused on building a vibrant and interesting web for most people in the world.
> I don't think of myself as a programmer. I write code, and I often enjoy it when I do, but that term programmer is both limiting and distracting. I don't want to program for its own sake, not being interested in the overall experience of what I'm creating. If I start thinking too much about programming as a distinct entity then I lose sight of that.
Programming is a useful skill, even in the age of large language models, but it should always be used to achieve some greater goal than just writing programs.