HN user

Jetrel

453 karma

www.frogatto.com

Posts0
Comments189
View on HN
No posts found.

They've fired a bunch of government employees who work in e.g. air traffic control, inspections, etc. This is likely not a case of some hand-wringing villain at the airline declaring "haha, we're finally free of that pesky regulation, now we can skip all the safety checks!"

Rather, we're seeing "the people in charge of all the procedures" (Govt employees, not airline employees) being grossly understaffed. It's a bit like "inbox zero"; you have a list of SOPs you want to observe, and you want absolute inbox-zero for completely every single procedure, to the letter, for something like flight control, spaceflight, etc.

If you cut staff, and still demand the same throughput, then the simple reality is balls are going to get dropped in the juggling - and at worst, if you refuse to accept that you don't have staff on hand to do it, and threaten to punish people who fail to keep up the same output with less staff, people are going to start lying about it.

And that - that, is the nightmare scenario. That creates what the Russians call "Vranyo": https://www.youtube.com/watch?v=Fz59GWeTIik

Well, there's actually a HUGE historical downsizing that happened; this is actually something that really caught people off guard with Russia's invasion of Ukraine - the US MIC is a tiny fraction of the size that it used to be, and honestly isn't prepared to supply a "peer conflict" where two industrial powers are in a stalemate that they can't seem to break, so they're throwing as much ordinance as they can produce at the enemy to try to break through.

Thank god, this also hit the Russians incredibly bad, but yeah; people's perceptions of the production capacity of both countries is wildly, wildly overestimated.

The MIC basically had its budget slashed by ~80% or so after the cold war. Thousands of factories were permanently shuttered, hundreds of companies more or less ceased to exist - sometimes some of their engineers were aqui-hired by other firms, but by and large they just stopped working for the MIC in general.

https://www.youtube.com/watch?v=CqjvTKFufuk

This is what they called the "Peace Dividend"; when the Soviets collapsed, we no longer felt we needed a military that could repel a conventional assault from the Soviet Union (with all 700m citizens, and the heartland of industrial Europe (i.e. Germany, Poland, Czechia) backing them). We just, worst-case, needed to stop Russia and their 140m citizens.

They called it that because it unlocked a huge chunk of the budget that previously went to the MIC. A literal dividend of money.

My radicalization came from an incident a few years ago where some brownshirts yelled "trump won" and emptied a clip into my sister's friend's house party. They were uninvolved with politics, and had no obvious "marks" like gender shit, ethnicity (white); just anything that conceivably would have made them a target. Just normal, innocent 20-somethings.

I got to hear about how (name I won't doxx) was being told how he was gonna be okay when he was obviously bleeding to death from a gut wound that wouldn't stop. It's the kind of story you hear about soldiers in a warzone. 7 people got shot; he was the one who died before paramedics could stabilize him.

Mass shootings are barely newsworthy anymore. They plopped the usual couple of sentences about it, and didn't mention the political angle on it, probably for fear of death threats.

All these societal institutions, politicians, churches - everyone that's supposed to give a shit; they all just collectively shrugged. "So it goes", as Vonnegut would say.

-

It's that grotesquerie, that banality of people just pretending it's all social hysteria, or bothsides, or "it's not really happening" or any number of ways of just ... gaslighting it as not being real. That's what's so vile. It's a level of cowardice and dishonor I have no words for. At least own your deeds like actual men, don't weasel out of it like spineless worms.

Yeah; frankly, in almost all languages, some early works of literature tend to be THE thing that establishes canonical spelling. A lot of this is simply that they act as an argument-settler when two people can't agree how something "ought to be" spelled. In fact, sometimes they go so far as to warp pronunciation, cementing little verbal quirks that only some speakers had.

Well, we had two recent presidents. In all honesty, I was totally willing to give Trump the benefit of the doubt; like he was talking a big circus, but sometimes for a politician that's just "dazzle and chaff" to distract the media.

In and among the nonsense there were a bunch of great promises, like pulling us out of China, getting massive infrastructure projects, resourcing a ton of our manufacturing from Mexico, maybe finally taking out the Ayatollah. Legitimately good shit!

So like; honestly if he was gonna do any of that, I'm game, man. We need it.

If I sit back and objectively look at it … he did a couple of tiny "token gestures", like saving a few hundred jobs at the Carrier plant, or whacking Soleimani. But for the most part … almost none of it got done, and not because of "Democratic obstruction", but because he just didn't even try. At all.

Really had me bummed, because damn if he wasn't -saying- all right stuff, but honestly I feel like I just got taken for a ride, you know? Like he said all that stuff just to get elected, and then just forgot about us.

Meanwhile Biden's doing: https://en.wikipedia.org/wiki/CHIPS_and_Science_Act

https://www.hhs.gov/about/news/2023/06/09/biden-administrati...

https://fortune.com/2023/04/17/biden-manufacturing-chips-com...

https://www.forbes.com/sites/alanohnsman/2023/12/08/watershe...

I don't care who delivers, but I do take note of who chose not to do so, and don't vote for them a second time. "Fool me once".

It's not soldered. It used to be, but ever since the M1, it's in-CPU. The ram is actually part of the CPU die.

Needless to say it has batshit insane implications for memory bandwidth.

I've got an M1, and the load time for apps is absolutely fucking insane by comparison to my iMac; there's at least one AAA game whose loading time dropped from about 5 minutes on my quad-core intel, to 5 seconds on my mac studio.

There's just a shitload of text-processing and compiling going on any time a large game gets launched. It's been incredibly good for compiling C++ and Node apps, as well.

Yep; tons of credit cards do usurious bait-and-switch stuff like that, under the express hope to make it up on people who have occasional "slippages" where they miss it by one pay period.

The "siren song" on those is the whole "if you're careful you can cancel" trick the users think they're pulling off. They may individually, but not in aggregate.

These cards are often much easier to get approved for.

The reality is that nobody wants the alternative. Another commenter was replying to you pitching a mobile debian version, and went on to explain that said mobile debian version isn't usable ... and that's probably because the size of the community of people actually interested in it is so vanishingly tiny that they can't sustain development.

It's like watching the stillborn OpenPandora or GP2x, and discovering that "devices bought almost exclusively to pirate SNES/SEGA games" have no devs writing games for their market because ... well ... you know ...

———

Woke: using OSS as a dev model because it's inherently more efficient/effective and leads to better software Broke: using OSS because "muh rights".

In the finest tradition of Jean-Louis Gassée:

The app store is a condom (or a covid mask). It's not all about "you"; it doesn't matter a damned sight if YOU are careful, or if YOU are responsible. Other people can make god-awful decisions that screw you over, and you have no power to stop them. Or rather: the app store IS your power to stop them.

I can't count the number of times I've seen windows users get duped by phishing that gives a bad actor root access. If that's your family member, that's YOUR problem; it doesn't matter if you were super careful — if your 18 year old son fucks up because he just didn't realize he was getting hacked, well — you're liable. That's what regulations are about; just like the FDA, just everything else.

I like having a platform where there is no fear. Same reason I like vaccines, same reason I like food safety regulations, etc. It's about network effects.

———

The worst thing about all this stuff is: when tragedies like this happened back in the day (and I remember, clearly, friends having their drives get wiped by script kiddies) — you suffer in silence. You sob and cry about whatever happened to you, and try to "raise awareness" in the open-source community about how maybe we should do something better, and nobody listens.

A lot of this stuff in the OSS community reminds me of gun nuts and school shootings; people wring their hands when a personal tragedy happens, the solution is right in front of them should they dare to actually adopt it, but they refuse to adopt it because it's ideologically untenable. So they just pretend the problem never happened until it personally hits their own family — and the worst thing is watching their friends, around them, engage in the same denial.

The two "real consequences" are losing your data (drive wipes, randomware, etc), and financial fraud (someone getting your CC number or bank access). I personally know people who've been hit by this. It's heartwrenching when it happens.

Have the political will to adopt the solution.

That's fully possible, even easy, on an iOS device.

---

The kind of programming people are agitating for in threads like these is emphatically NOT general-purpose programming. It's a very specific kind of proto-programming - being able to write direct inputs in exactly the kind of way you'd write software in the 1980s; a core example being the ability to write for a built-in BASIC interpreter, right on the commandline.

Plot twist: that shit's useless.

I grew up in that era, and that kind of programming is a toy. You can write gimmicky little things like outputting text in various colors, or at extraordinary expense, you can use these incredibly basic building-blocks to jerry-rig higher-level constructs to actually accomplish something meaningful.

It's an incredibly damning indictment that most of the successful pieces of software from that era started by bootstrapping their way out of having to do direct "dos/apple console" programming and wrote a high-level interpreter for something better so they didn't have to deal with that; every major title did something like its own virtual machine (c.f. lucasarts games), its own lisp interpreter, etc.

It doesn't teach you to program; it teaches you to bootstrap language interpreters — if you get incredibly lucky and figure that out on your own. The other "99% of space marines get attrited in training"; the other 99% of aspiring programmers from that era never figured that out, and gave up at the blinkenlights stage, without ever building an actual piece of software, or really getting their machine to actually do anything. I use that example to illustrate the absurdity: the WH40K trope is meant to be satire, because that level of attrition in any field is just a bafflingly wasteful way to elevate people to higher skillsets. Survivor bias may make heroes out of the tiny minority of people who actually made it (the Jordan Mechners of the world), but the cost in people who never "break through" isn't worth it.

I'd rather teach people to actually program. Teaching them to build the ingredients for programming (not the universal ingredients, but just the ingredients to enable it on one very particular kind of host medium) isn't it.

My regard to that "programming" era is: "rest in piss, you won't be missed".

He notably took credit for ending the lawlessness of the 90s, which was really bad. Russia went through a couple of years of being an outright "failed state", with basically no police operating in much of the country, and rampant gang violence, extortion, and lots of people wondering how they were going to survive, let alone put food on the table.

Putin played the classic "tough on crime" authoritarian tack, except the crime wave was genuine, and huge. The routine street crime and killings were brought to a stop, and ... unfortunately he's been riding the popularity wave from that for at least 20 years. I mean — he didn't solve the high-level corruption of basically having a mafia class run things, which robs the average people of opportunity, but he did slam down on street crime, at least.

Credit for this is a bit misplaced, but it is a reason why he was unusually popular for quite a while.

It's almost like the fundamental basis of crypto is fraud. Like they're not actually selling anything, besides "british south sea company" ~~stock shares~~ coins.

At this point, I don't think much of famous schools, and might even find them a -minus- on hiring criterion. I'd be much more likely to hire someone from a tier-2 school who doesn't have any of the negative baggage — the wealth and "connections" are kind of a big risk factor to my mind.

The problem is that all users aren't happy. Having used federated services for years, they're never in synch, and some users always have access to some features that other users don't have.

In fact, the problem is chiefly that a certain group of assholes never upgrade their clients, ever, and disingenuously try to keep everyone on an old version of the protocol, because they don't see a need for new features. Period. I've been through this gauntlet with some long-running open-source projects, and basically these guys were like "plain text and command-line should be sufficient for everyone (and shame on you if it's not!)".

Of course, that's fine if you're a programmer, but then these guys were SHOCKED - shocked, I say, that people's whose primary working medium was images rather than text - you know, UI designers and artists - found it a struggle to work on their project and quickly gave up.

This kind of bigotry constantly stifles progress in the OSS community.

---

There's a damn good reason no federated service even comes remotely close to Discord, and it's because despite all of those features being developed for other clients, repeatedly, there is always heavy social pressure not to leave people out, so "newfangled" features get swatted down by communities, and people are forced to only use the features that everyone supports.

You can have IRC that supports pasting images just fine, but some asshole's client doesn't support it, so you're back to using a shithole solution like external pastebins or personal FTP servers, again. Otherwise you're dealing with a constant "I don't see anything! Why can't you just use something that works on my client!"

---

So no, "interoperability and open systems" doesn't mean all users can be happy. It's a trojan horse to let luddites force obsolete versions of the protocol on everyone because they don't want to update.

The biggest plus is that — like Chrome, if they decide they made a mistake, they can pivot a change that many of their users would disagree with, and force it on the whole ecosystem immediately. Chrome has done this a lot, and almost all of it has been security-related stuff that's been jammed down our throats. And sure enough - the medicine has been quite distasteful, but it was good for the patient.

A lot of this stuff is UI-related; it's things that aren't a reskin, but they're a major shakeup of how the entire UI works, and would break all other clients using a framework.

The problem with "truly" federated protocols is that every design fuckup is preserved in amber for eternity.

To help clarify for the person you're replying to; minification could be considered to only mean: taking an interpreted language like JS, and essentially compressing the text of the code by doing transformations to it that don't change the semantic meaning of the code. Swapping out long variable/function names with short, computer-generated single(ish)-letter names. Removing whitespace.

Much of this was because real compression methods like zip simply weren't available during early decades of web development.

Obviously, if shrinking the code size is desirable, and you were building a library that did minification, you'd want to move on to also adding other, more dangerous changes that could change the meaning of the code, like removing unused CSS classes, doing DCE on javascript, etc, etc.

--

Since programming is a giant, decentralized soup of autodidacts, there's no "word of god" authority that can really say "this is the one true name of something". It's mostly just lingo that passes in and out of various communities, and a lot of times communities (as you're seeing in splintercell's comment) try to helpfully match themselves up and standardize so it doesn't degenerate into pure chaos.

Yeah.

I get pretty tilted when people complain about the banking system, because most of the "problems" they're complaining about are features. A really good metaphor is a programmer complaining about being forced to use a version control system, and wishing they could just dispense with all this pointless waste of time. "All this thing does is cause me trouble" — well, yeah, because you've never experienced the problems it utterly eradicated.

It's a Chesterton's fence issue at best. At worst, it's wolves repealing the laws that prohibit eating sheep.

Unfortunately for people with your worldview, this isn't the way the world works. You're thinking under a framework that one set of actions will certainly prevent it, and the other is more likely to cause it.

At this point, neither intervention nor non-intervention is likely to prevent this. It's entirely likely that if Putin loses this assault, or faces an intractable insurgency, he could launch nukes out of a desperate attempt to save face. He's old — at this point, only the reputation he leaves behind is what matters to him, and it's clear that he wishes to be remembered as a fearful and powerful figure. What better way to do that than nuking someone?

Your attitude is the same entrapment that allows abusive spouses to hold their spouse in thrall. I've actually witnessed that backfire to its ultimate degree; in my hometown, a woman in an abusive relationship called her husband's bluff on his threats to kill her if she left, and he wasn't bluffing. Killed her in broad daylight at a local bank, and then killed himself.

The question you have to ask is whether you think her leaving him was the only thing that precipitated him killing her, or whether his killing her was because he realized she no longer loved him.

Everything in life is a gamble.

The problem with RoR is that it's an all-encompassing framework. It gives you a huge collection of things you typically don't need — entire major layers like the database are frequently completely irrelevant to projects. This isn't just true of small projects, but can often extend to a large part of a career.

One of the grave dangers that older/wiser programmers have learned is to stop trying to pathologically "drink the entire river". Programming has a constant deluge of new frameworks, tools, and publications coming out, and it's easy to fall into the trap of thinking you need to know, well, everything. I know a lot of 'aspiring programmers' who accomplish next to nothing precisely because they waste most of their time reading about programming instead of actually practicing it. It's sadly rather similar to 'aspiring writers', or any other craft — some reading is helpful, but not when it crowds out the actual task it's meant to teach. Life is short, and you have a choice between "actually making things" and "doing prep work for making things". That's all reading the docs is — it's just prep work. It's completely useless unless it parlays into actually accomplishing things.

There are semi-rare cases where some language/framework is actually teaching you new fundamentals and is worth deep-reading to gain core skills as a programmer. Haskell broke new ground. Lisp was enlightening. Smalltalk was a worthy historical study. Rust is genuinely changing things. Unfortunately, Rails just isn't special.

When I was considerably younger, I used to pathologically do this — I used to buy books on programming, and read them like a school textbook "exam cram". I read entire books on languages (like Perl) that ended up exiting the zeitgeist before I ever did any work in them — and I now have no reason to do so (I feel sorry for Perl, because Larry Wall seems like a cool guy, but perhaps it's a testament to its influence on other languages that it no longer has uniquely redeeming features). I even read books on various applications. Naively, at the time, I looked at learning as a pure, unalloyed good — rather than a dangerous spend of lifetime I'll never get back.

I deeply regret wasting that time on that instead of learning a meaningful skill.

In most cases - source available is _de facto_ open-source.

You have two limitations on a product: - "actual physical limitations": the fact that you have the source, and that it's not a brutally-difficult life/career-consuming endeavor to edit it. - "artificial legal limitations": what the license says you can do

Typically the capabilities afforded by the latter are a strict subset of the former (legal freedom to modify is useless without the practical freedom afforded by the actual source — I could release something with the full rights afforded by an open-source license, but if I fail to actually upload my code, even if you're legally free to edit the binary, it's a mostly useless freedom). At the same time, it's very common for the legal limitations to be utterly irrelevant, whether it's a case of you simply breaking a law that's not relevant to you (perhaps from another economic sphere of the world, or maybe you're just poor — or something is abandonware and there's nobody to even pay, not even a publisher). In all of these cases only the physical limitation dictates what you're able to do.

--

If someone makes a freeware game, and it's abandonware — but it's source available, people can patch it so it keeps running on modern computers. They can translate it to other languages People can even fix egregious bugs. They can analyze it, and tease out internal mechanics and secrets, and document them on a wiki. If it's source-unavailable, then they're basically screwed.

Far from being hypothetical, what I'm describing is more or less how the entire rom-hacking community works — thousands of games have undergone this, where they've received unofficial translations, balance and bug fixes, etc. (I have at least a couple of personal favorites, where I had an RPG with certain abilities that infamously did nothing in the release copy, even though they supposedly applied buffs to your heroes. In a modded version, that bug was fixed and they fully worked as intended.) All of this is possible in the modding scene because this stuff existed in a state where something "awfully close to" the platform's source code was available in a non-obfuscated, direct form.

It's all illegal. All of it. That entire scene can't exist, legally, and survives on this wonderful, cockroach-like survivorship mentality of simply not caring that it's illegal, dodging lawsuits, and trading copies of things in defiance of takedown requests — which in turn happen so incredibly rarely that it may as well, practically, be legal.

--

Unix, for another great example, basically exists because "actual physical limitations" didn't restrict it — the devs made the source available, tons of people copied it in what was probably a rather illegal/gray-area way, and sure, some people kicked up all sorts of legal fuss about it (c.f. some famous lawsuits involving SCO group), but in practice the only thing that matters was the fact that it had illegally achieved ubiquity. At that point the genie could no longer be put back in the bottle.

Yeah, it's worth pointing out that people are blaming electron for what's wrong with Slack. When, perhaps, it's just Slack itself that sucks?

I use Discord all the time, which is one hell of an oranges-to-oranges comparison (with Slack), and not only does it have none of the perf problems of Slack, it's also faster and snappier than any NATIVE chat app I've used.

There's a lot that can be done wrong in any framework; as recently as windows xp, there were a few atrocious algorithmic-complexity gaffes in basic file viewing (directories with more than a few hundred files would slow to a crawl in the GUI, taking multiple minutes to display). It wasn't the fault of the framework it was written in; it's just that someone at MS had written something that had to scan the directory in a hurry, and ended up accidentally writing an exponential-time algorithm. Slack likely has a few deep-seated goofs in their architecture that are just too big to extract and fix.

The thing with Electron et al is that the GUI dev tools on it are the best thing humanity's come up with, by a country mile. It's vastly, vastly easier to develop a really good, clean app, with a great UI in it — especially a UI that needs lots of unique, new components that aren't in an OS-level GUI api's standard set. You compare really well-built electron apps (VSCode, Discord) with their competition, and it's such a staggering, one-sided comparison in "fit and finish", attention to detail, and not having weird little bugs that never get fixed. I say this as a former OS partisan, but even Apple, previously the trophy-holder for "best gui-builder tools", is way behind the curve. Steam, too, is now an electron app.

The thing that's just the brutal nail in the coffin is — if it just had the attributes mentioned above, it'd be a huge win. But to have "nearly perfect cross-platform support out of the box with no effort?" Jesus.

The thing about electron is — some 5 years from now, we're likely to start shipping electron apps that run on WebASM rather than JS, and at that point, there won't be any valid counterargument. They'll have all the benefits, and run just as fast and lean. Game over.

Not exactly a java fan here, but java targeted the enormous block of people writing in C/C++ for their enterprise servers, and gave them "machine-independence". Being able to upgrade your server, and not having to rewrite your app, was huge. The competition wasn't PHP, at the time; it was C/C++.

It's interesting in today's era of Rust, that people think of Java as failing to replace C++; in practice, it was only 90% successful, and managed to replace the vast majority of cases where people did use it.

About the only things that didn't get replaced were (some) desktop gui apps, and apps that were so tiny that they weren't worth the launch of the JVM.

I was really surprised to discover that quite a few games in the SNES/Genesis era actually weren't written in assembly. They were usually "touched up" in assembly; there would be inlined assembly stuff for a lot of core loops and hardware interaction, but apparently quite a few games actually used "high level languages" for large tracts of the code. I'm merely relating hearsay here, but at least one primary source (Secret of Evermore) suggested this was the case.

The thing is that once it's compiled down to a final rom, all the scaffolding used to build it is gone, so there's so little evidence left that it's pretty plausible for people to think it was just done completely in assembly (particularly since there's significant evidence of hand-crafted assembly routines in such a product, since they did that for parts of it).

I think there's a lot of "transposing of knowledge" there, where people know how 8-bit games got built, and assume it was the same for the 16-bit era, but I suspect the 16-bit era was where the transition away from that started, so there was a bit of both.

So, I've been a person like this on a smaller scale (taking a fully written program, and basically "completely rewriting it" in a new language. Biggest thing I can say is that if you have enough of a "crazy-eyed mofo" that's just insane enough to take a big job like that, 3 things are of utmost importance:

1] remove their technical blockers. Often a person like this doesn't have a universal skillset — they're usually good, but they can't do everything. If there's a 5% of the job that's hard-blocking them, make sure it gets done so their tires don't get stuck in the mud.

2] remove their bureaucratic blockers. Make absolutely sure the project WILL proceed, even in a skunkworks capacity (this is the primary value of skunkworks — it's the ability to proceed with something you know will work, in spite of authorities expressly forbidding it because they think it won't work and don't want it to happen for what's usually a petty reason like a "it's waste of resources").

3] remove their emotional blockers. This is really the apex — THE primary value of a person like this is not technical skill, but rather, their work ethic. A person like this has a really profound, train-engine drive to just keep soldiering on. The danger here is the problem of the "weary crusader". This willpower is considerably above average ... but it's not infallible. It's not like a superhero that's always gonna come through no matter the odds. They can break down. They can lose heart.

One of the things that will constantly break them down is if people are naysaying them, and calling into question the value of their work. If they're doing a giant refactor, and people are angrily opposing it simply out of fear of change, it will break them down. As silly as it sounds, you want to coddle them — they might be unusually emotionally tough, but they are the absolute last person you want breaking down. Treat them like a "snowflake".

And yeah, I'm explicitly suggesting censorship. Don't permit negativity. Don't permit the usual cesspool OSS discussions where you have a bunch of people who contribute almost nothing bikeshedding a project to death and exercising a sort of "liberum veto" on any attempt to do new things. Just shut down those conversations — make it clear that only the people who do major heavy lifting (or really, who are discussing things "in good faith") have a voice. The whole OSS community has an unhealthy cultural fixation on "absolute free speech", and like ... I completely understand where that comes from, but it's absolutely toxic for motivation. I've observed over the years that a lot of the more aggressively successful groups at "creating things" basically just establish their own safe-spaces where people get emotionally reinforced instead of emotionally sabotaged. Occasionally their work will get exposed to the world and some toxicity from outside will leak in, but the bread-and-butter day to day experience of working on their projects has them surrounded by friendly people who believe in what they're trying to do, and encourage them to keep going.

Partly because we know we won't be there forever to keep working on it. If we feel like we're part of a group that "has our back", and will support what we built, and grow it into something, it's a million times easier to keep working on something, compared to a situation in which someone actively holds our work in spite and is itching for the first chance to tear it down the moment we turn our back, or move on, or die, etc. This is all "emotional extrapolation", but these are the sort of depressive/anti-depressive thought cycles that go through your head during a mega project, and too much of the negative side can just break people.