MurphyA/hacker-news huggingface dataset:
by tibbar | 2025-11-29 05:33:42+00:00
Yes. I like to think that all of the people above could have solved most of the same problems, albeit in wonderfully different styles, but what really guaranteed success was a commitment to just keep at it.

Edit to add: Still, the styles matter a lot! For one thing, they greatly influence which problems each person is interested in. Also, the style you solve problems with colors what your final output looks like, which is perhaps more obvious in engineering than in mathematics.
by dwohnitmok | 2025-11-29 05:35:08+00:00
> What do you mean by "the current implementation"? Isabelle defines mathematical functions, not running code.

This is the whole problem! The line gets blurry with `primrec`, `fun`, and `function` and indeed the book is treating Isabelle definitions as runnable code (and a lot of uses of Isabelle with code extraction do the same).

But precisely because Isabelle technically doesn't define running code it's really hard to make cost functions and relate them to the original Isabelle function.

E.g. here's another definition of `double`.

definition double :: "nat => nat" where "double n = (THE y. y + n = 3 * n)"

Perfectly reasonable in Isabelle. How do you generate the cost function for it? A reasonable answer is "well you don't, you only generate them for certain kinds of definitions, just like other lemmas in Isabelle," which then leads me to...

> Of course you have to do some work to integrate it properly. In particular, you would need to have to generate inequalities (upper bounds) as runtime theorems. Just as code generation (for example to Ocaml) is integrated with Isabelle, this approach could be integrated similarly, and I don't think there would be any danger to the logic.

Okay so how would you do this? Again the point here is to have some formal connection between the runtime cost function and the original function. This boils down to one of two ways in Isabelle (which technically are both the same, but they have meaningful ergonomic differenes). One is as a relation so e.g. a `T` such that

T_rel(f, time_f)

or as a function such that

T_fun(f) = time_f

If you introduce these, then in the former case, how do you prove `not(T_rel(f, time_f))`? In the latter case, what is `T_fun(T_fun)`?

> Of course you can write these morphisms, you need to define your machines and machine functions first though, which is a lot of work.

I meant writing them in Isabelle.
by jazzypants | 2025-11-29 05:35:09+00:00
I'm sorry, but this is just incorrect. Have you ever heard of ljharb[0]? The NPM ecosystem is rife with polyfills[1]. I don't know how you can make a distinction on which libraries would be used for "local scripting" as I don't think many library authors make that distinction.

[0] - TC39 member who is self-described as "obsessed with backwards compatibility": https://github.com/ljharb

[1] - Here's one of many articles describing the situation: https://marvinh.dev/blog/speeding-up-javascript-ecosystem-pa...
by Helmut10001 | 2025-11-29 05:35:12+00:00
This is it. For years, I had a stable IPSec connection from Germany to the US, where packets would be routed selectively for the convenience of web browsing without geo-blocks. It was a bit excessive for what it did, but the technical challenge of trying it was worth it. [1]

[1]: https://du.nkel.dev/blog/2021-11-19_pfsense_opnsense_ipsec_c...
by saithound | 2025-11-29 05:35:26+00:00
> your glued together rectangles will have perimeter 2*(1+2)

No. You should think through that perimeter calculation one more time, preferably while drawing a picture.

Here's a hint: the perimeter of a rectangle is no less than its height; you can glue so that the perimeter of each rectangle contributes at least 1 to the perimeter of the union.
by sailfast | 2025-11-29 05:36:39+00:00
Sure, but this ends up poisoning any sort of culture and creating all sorts of in-group nonsense which is almost impossible to undo.

It’d be like using Blind as your company chat - nobody goes on there to say how great their experience has been, and the tone infects everything else.

But maybe I’m just not very fun at parties…

This should be avoided at all costs by creating a culture that is receptive to people’s concerns and doesn’t do stupid things without explanation - but I get how difficult that is in reality and most orgs end up messing this up.
by andai | 2025-11-29 05:38:31+00:00
I've been a lifelong Linux user, and this makes me sad.

I don't know enough to comment about whether or not it's necessary, but any time I've tried to get anything working that wasn't updated recently, it was impossible.

Well impossible is a bit strong, the process ranges from:

- Find a forum post that links to some old .deb files and install them manually

- Install a newer version of a dependency and then recompile from source code, after spending an hour or two updating the program so it works with the new version of the dependency because the dependency changed its API for no reason (that one's not a Linux problem per se, but it wouldn't be necessary if the old one still worked!)

Better to download the Windows version and run it in WINE...
by k310 | 2025-11-29 05:39:25+00:00
> It is also my opinion Mac OS 9.2.2 is the greatest OS, and Mac OS, ever, but not everything that is possible in earlier Mac OS versions is possible in Mac OS 9.2.2.

I had fun with hypercard on MacOS 9. At work, even. The boss was into rapid prototyping, and I cooked up some damn productive stacks in a hurry.

It runs on the Cube and under OS 9 emulation on the new stuff.

Hypercard scripters did cool things that most users don't do today. And without those monster data centers.
by sailfast | 2025-11-29 05:39:29+00:00
DM-first is an extremely frustrating culture. That kind of operation tells me that that folks are too risk averse and political to discuss things openly. Typically this is led by panicky managers that are worried about involving too many people or having to explain things to folks they don’t want to deal with, and it escalates from there and gums up ALL the things. It makes Slack basically useless.

The same people DMing however will also extol the virtues of posting in public and lament why there is not more conversation happening in the open.
by optymizer | 2025-11-29 05:40:09+00:00
I like the vulnerability displayed by the author. I'll share a moment myself:

A few years ago I was the TL on a FAANG Android project, where for a few months I was doing more spreadsheet/TPM work than usual, and didn't have much time for coding. Once we had a meeting where I ended up coding in Kotlin live in front of a dozen younger devs to discuss the implementation of some feature. My work background is Android and Java/Kotlin, but at the time I was mostly coding in C on the side, and in the moment my brain just forgot what the syntax in Kotlin is for a "switch-case" statement, so I wrote "switch", "match", etc, struggling like a first year student, while everyone watched me fumble, until I just gave up and said: "oh my god, I'm forgetting Kotlin. What the hell is the switch keyword in Kotlin called?". Then someone said: "it's when".

I felt old and a little embarrassed, but mostly I was surprised at how quickly I could forget a programming language I used daily.
by dan-kolodny | 2025-11-29 05:40:46+00:00
I built a tiny Alfred workflow powered by AWS Nova that fixes spelling + grammar with one keystroke.

No UI. No switching apps. No copy/paste. Just highlight text, press your shortcut, and it rewrites your message in place instantly.

The goal: zero-friction writing. If AI is useful only after opening a chat window, it's slower than typing manually. NovaSpell removes every step between thought → clean sentence.

5-second demo + full write-up: https://medium.com/@kolodnydan/i-built-the-one-keystroke-pro...

Source + installer (MIT): https://github.com/kolodny-coder/NovaSpell/tree/main

Would love feedback — especially from: • People who write in Slack/Email all day • Devs who want fast cleanup without losing flow • Power users who care about speed more than UI

Curious what features you'd add next: rewrite mode? translation? tone shift? code comment cleanup?
by throwaway31131 | 2025-11-29 05:42:01+00:00
That’s interesting because I can’t imagine learning a subject without a textbook. I have a hard time believing another medium would have the depth and density to get all the points across. Although it does depend on the subject matter and one’s learning goals.

But I also do read textbooks for fun… Now that I have a few decades of experience in a lot of these subjects I get way more out of the books. And I can start to understand more of the meta information. Like, of all the things the author could’ve used as an example, why did they pick that. Also, it’s hugely interesting for me to look at the homework problems and theorize why this particular problem was picked. Especially fun for electrical engineering books. But ya, I’m weird like that.
by princevegeta89 | 2025-11-29 05:43:40+00:00
Signal seems to work alright for me, although I felt the desktop app gets a bit annoying because of too many frequent updates happening to the app, which I believe is based on Electron.

But besides this, there is really a strong need for a web client, just like Telegram or WhatsApp. If only the protocol can be extended in such a way that it allows for integrating into a web app, that would be incredibly great.
by mbreese | 2025-11-29 05:44:20+00:00
Many of the 22-25 year old-ish people in a grad school class I was part of recently had no idea where a shared project document was or how to edit it outside of Office 365’s online editor. Many didn’t know that the “attachment” from email was actually a Sharepoint link and not a file. This becomes a problem when you need to use some features in the desktop Word program that aren’t in the online editor.

Honestly, I’m less interested in how things work on day one. When systems are fresh or new, it’s easier to keep working. The mess always ends up happening after things have had time to accumulate cruft. Working on a collaborative manuscript in the current Microsoft shared system is normally a nightmare.

Trying to manage/accept/reject edits and revisions between different people is still difficult. That is unless you can use a source code repository like GitHub. But good luck trying to convince people to do that. Sadly, this means that emailing files around is still the easiest way to keep things straight.
by throwaway290 | 2025-11-29 05:51:19+00:00
I see the mega wealthy in charge of LLMs who benefit the most from destroying copyleft and individual IP as adversaries)

> That isn't the case for someone who wants to use an LLM to fix a bug in their printer. They're doing the good work

they take advantage of temporary situation for good outcome but longer term they benefit those people doing shady stuff and concentrate power to them.

> Suppose you train an LLM only on GPL code, and all the people distributing and using it are only distributing its output under the GPL

That seems fair? but that's not what happens except by accident.
by anonymousiam | 2025-11-29 05:52:45+00:00
proper SEU mitigation goes far beyond ECC. Satellites fly higher than the A320, and they (at least the ones I know about) use Triple Modular Redundancy: https://en.wikipedia.org/wiki/Triple_modular_redundancy

https://en.wikipedia.org/wiki/Single-event_upset

For manned spaceflight, NASA ups N from 3 to 5.

Other mitigations include completely disabling all CPU caches (with a big performance hit), and continuously refreshing the ECC RAM in background.

There are also a bunch of hardware mitigations to prevent "latch up" of the digital circuits.
by solatic | 2025-11-29 05:53:26+00:00
Leadership is part of the group of people who built the product, therefore different leadership would have also built a different product.

With that said, it's also not correct to claim that line folk have no influence at all. I don't believe that you can blame any individual since they may have stood up against something bad being put in the product, but they're still part of a collective group of people that built a bad product.
by 0xbadcafebee | 2025-11-29 05:54:25+00:00
Right, because there's nothing special about remote vs in-office. It's just communication and collaboration.

Living beings do it all kinda ways. Bees waggle their butts, crickets rub their legs, geese honk, snakes hiss, some fish detect electrical signals. And to collaborate, the bees' dance indicates a flight path, birds singing indicates interest in mating, the snake's hiss and the geese's honk tells you to watch out. You use the tools you have and develop collaboration with them. There's clearly no right way, there's just ways.

But tomorrow morning, would you wanna learn to honk at people, or rub your legs, or waggle your butt, to order a latte at Starbucks? It'd be awkward, weird, painful, and unnecessary. So if you were asked to, you'd probably not try very hard to adapt to it. And if everybody you knew were in the same boat, all being forced to change with no real guidance, kinda not trying that hard to make it work? It would suck for everybody.

People just don't like changing what they're used to. They probably don't even mean to fight it. But we do like culture we're already familiar with. Change is hard, not changing is easy. We like easy. So people who grew up with remote work (on IRC, mailing lists, etc) find it easy, even more productive. But a company that's thrown into it without a healthy established culture are going to be swimming upstream indefinitely.
by ayaros | 2025-11-29 05:54:27+00:00
I have an iMac G4 1.25 GHz. Originally, it was a 1GHz, but I swapped out the motherboard for a later model. For a while I've been wondering if I would had been better off with an earlier motherboard capable of booting OS 9 natively. Compared with using OS X's classic mode, this would omit the overhead of running a whole other OS and leave me with more resources to run OS 9 apps and games. I don't get a whole lot of use out of the earlier OS X software that I have on there...

Maybe in the future I won't have to make that choice! I'd much rather dual boot OS 9 off a different partition, but that hasn't been supported on the 1-1.25GHz models (Thanks Steve...) and no one has gotten it working properly. Maybe now it will be possible! A man can dream...
by andai | 2025-11-29 05:54:30+00:00
Thought "isn't that just Wine" but no! They are virtualizing it! And integrating them seamlessly with Linux desktop somehow!

Looks pretty cool. I remember playing with something similar in Virtualbox, it had a seamless mode too. It was a bit janky, and I think they removed it recently.

I used it in the old days, to have MSN messenger on Ubuntu :)
by RealityVoid | 2025-11-29 05:54:52+00:00
Ok, I can see how my statement can be confusing. I wanted to say that on newly built things this is mostly gone today, although I'm certain freakish accidents can happen. Yes, if your hardware does not have ECC[1] that is something that can happen. I was initially surprised because I did not expect them to not have error correction, but I guess it makes sense for systems designed a long time ago and still in use, so that was new info to me.

[1] Technically EDAC is the correct name of the whole sybsystem, and ECC is the name of the algorithm. But I've only heard it refered as ECC in my industry. I was even initially confused when I read EDAC, so TIL.
by roenxi | 2025-11-29 05:54:58+00:00
> The proof is as trivial as ...

That proof doesn't hold as an argument. You're arguing that if people got a message out then it isn't cancel culture, but if people didn't get a message out because they were cancelled then people just wouldn't talk about it. It is setting up a rhetorical position where taboos can't exist and we know that they do.

Cancel culture might not exist depending on what people think it mean. The term is a bit vague. But arguing that some people managed to push past the cancellation attempts doesn't mean that there isn't anything there. We'd expect cancel culture to have some cancellation attempts that ended in failure, the authoritarians are fallible humans too. And although they tend to be good at wielding government power the extreme authoritarians do tend to be ideologically isolated and so struggle to act when people pay attention to them.
by haideralshamma | 2025-11-29 05:55:20+00:00
I am building an open source desktop app in Tauri [1]. One of the issues I encountered was having to duplicate and sync types between the TypeScript frontend and Rust. On the other hand, Rust proved to be a great language with a sizeable ecosystem for building application backends.

[1]: https://github.com/haideralsh/prompt-lab
by oconnor663 | 2025-11-29 05:55:21+00:00
> If the unwrap hadn't caused an exit, the process would've run out of memory

It was trying to push an element into a full ArrayVec. The options are:

- Blindly write off the end of the array. Obviously no one wants this, despite the decades of tradition...

- Panic and unwind, as the program actually did in this case.

- Return an error.

Some folks assume that returning an error instead of unwinding would've been better. But my assumption is that the outcome would've been the same. I think the issue came up when loading configs, which isn't usually a recoverable situation. If you have an "invalid config error", you're probably just going to return that all the way up, which is effectively the same outcome as unwinding: your process exits with an error code. There are cases where the difference matters a lot, but I don't think this was one of them.

The real gap seems to be why it took hours for folks to notice that this service was crash looping. That should normally be really prominent in alerts and dashboards. (Probably part of the story is that alerts were firing all over the place. Tough day at the office.)
by Aurornis | 2025-11-29 05:55:47+00:00
How does it not have anything to do with the quality of the writing? The writing is supposed to convey some facts, but it's too busy pushing narratives and layering on snark that it fails to convey real facts. Even in this comment section the people who applaud the article don't really understand what's happening because they soaked up so much of the narrative-pushing from the article.
by QuercusMax | 2025-11-29 05:57:46+00:00
I got a minor reprimand in a performed review for having a slightly heated conversation in a public channel. In the past that company had been very open about communicating about negative stuff (our CEO emailed the entire company when he visited one of the hardware labs that was a mess), but the upper management started tamping down on anything negative, and one of the things that suffered was any sort of honest communication.

Kind of a ship of theseus situation culture wise - when the original leaders are all gone, did they pick good successors to fill their spots? Very often not.
by kristopolous | 2025-11-29 06:00:15+00:00
I swear I remember using this. I even remember the syntax. I was able to compile it and just start writing in it. I have no idea how I know this syntax.

Did early linux have this? Maybe netbsd?

I actually found it. It was on simtel: https://archive.org/details/Simtel20_Sept92

I must have gotten it from there. I would routinely get any thing Walnut Creek would make.

I also realized a couple years ago I could navigate EDLIN without help and knew how to use masm. Somehow I had forgotten what I know but my fingers did not.
by ffuxlpff | 2025-11-29 06:00:28+00:00
I watched the original series as a kid and when a local TV station sent reruns of 1999 at the nineties and I was so amazed by the design that I only realized how rotten the plots were when I bought a DVD box a decade or two later.

One has to understand that in the 1990s the old popular culture was very much gone. Now it is different. Everything old preserved in the net which is actually probably the biggest cultural change the internet has brought.

Besides I learned why I've always liked wearing black leather gloves: Balor, the evil artist. The coolest character in the series.
by redrove | 2025-11-29 06:01:10+00:00
I've never seen it put this way but I think you've hit the nail on the head.

Text requires correctness to some extent; bullshitters will just yap away for hours and nobody can point to one piece of text and say "Here, this is where you are objectively wrong, and/or misrepresenting things".

The unfortunate reality of remote work is there's a lot of zoom meetings where yappers in high places will BS away -- a lot more "important" zoom meetings than "important chats", especially in public.
by buu700 | 2025-11-29 06:01:16+00:00
This is an odd response. Wikipedia does not in any way claim that the moon landing was faked or that flat Earth theory is legitimate.

The insinuation that I "want it to be true" is silly. Why would I want cancel culture to exist? I'd prefer that it not. I'd be thrilled if everyone were nice to each other, social media were a thriving hub of only productive good faith discourse, and reddit mods had no interest in censoring everyone and everything they personally disagree with.

It sounds like you find cancel culture inconvenient to acknowledge, for whatever reason, and want to project that cognitive dissonance onto others.
by stuffn | 2025-11-29 06:02:31+00:00
> Why does bad code bother engineers so much? Are they actually misguided for feeling like bad code is a catastrophe, or is it really the fault of the broader economic sphere we all inhabit? Is it actually maturity to reconcile ourselves to drift powerlessly as faceless and titanic forces sculpt our reality? So many possible questions.

Nihilism is a defense mechanism when everything is moving against your world view.

STEM people of all walks of life join because of the challenge, the loveliness of an elegant solution, and the “art” you create that leaves your mark. Good engineers view their code as a makers mark. This code represents me as my art and I should do my best. Unfortunately (or fortunately) this is beaten out of you by senior engineer and the shell left is a nihilist and misanthrope.

Corporate programming strips you of your creativity, your autonomy, and your drive. It’s simultaneously strict, but too loose where it should matter. It’s spastic in its execution. There is often little rhyme or reason aside from “build fast make money”. No one appreciates your contributions. You show up to meetings where sales and PMs simultaneously wrestle to take the credit you rightfully deserve. You made it 10 years, here’s another low budget pizza party while the sales team gets an all inclusive in Ibiza. You wanted to make cool, elegant, things, and instead you’re just a factory worker that had to do 7 rounds of interview for the privilege of stacking premade widgets together until retirement.

The end result as I and many engineers at and over the one decade mark have realize. Nothing matters, no one respects you, and no one truly cares. You get paid and promoted whether or not your code is elegant, or safe. You get recognized by prostrating yourself in front of leadership. So why should I give a shit if my code works or not. It passes tests and I get to eat.

The industry is pathetic and we should stop calling ourselves “engineers”. Modern corporate programming is analogous to working on a widget assembly line in the limit. Most of us simply find our joy elsewhere and have learned “hearts and minds” as the rule of corporate life.
by raw_anon_1111 | 2025-11-29 06:03:56+00:00
A website Can easily deduce your phone model based on the browser agent attribute which tells the operating system and the screen resolution with a fair degree of certainty, an app can’t get your phone number, it can get your GPS with your permission. But so can a web page with your permission. There is a standard JavaScript API for it. Contacts are also gated by permissions.

And there is a Contact Picker API for browsers

https://developer.mozilla.org/en-US/docs/Web/API/Contact_Pic...