MurphyA/hacker-news huggingface dataset:
by rowinofwin | 2025-05-06 08:17:28+00:00
Yep. I had endocarditis a couple of years ago. No warning, just slightly lowered energy levels, then a sudden bout of gout. After going to the doctor I got some meds for the gout but the pain increased and progressed to a lung infection. That got worse for a couple of days then suddenly oral thrush. Big "Oh no" energy, so I drove to the emergency room. I walked in, taking four stops along the way to catch my breath on a 100m walk, then once in the ER I had a doctor listen to my left lung, expression of concern, right lung, deepenitg concern, then worst heart, definite oh shit moment.

I had Streptococcus Sanguinus, a typical oral bacteria, in my Aortic valve. It has eaten the valve until it was back flowing by 75%, so I needed four pumps to match one normal pump.

They said the source was probably biting my cheek, ADHD comes with lots of benefits, so yeah, not a virulent or particularly dangerous bacteria, just in the wrong place. Got the valve replaced, now I am on Warfarin for the rest of my life, but wow, I am glad to be in Australia, the only money I spent was on snacks. I was flown to and from hospital, 6 weeks in hospital, surgery with 11 staff, and not a single solitary cent spent.
by hnlmorg | 2025-05-06 08:18:39+00:00
Murex and Elivish share a lot of similar design goals. The author of Elvish has done a lot of great talks about his approach to Elvish development and you can tell a lot of care has gone into its design.

With Murex, I initially took a "let's just experiment until I find something that works" with no fear of writing ugly proof-of-concept code. This allowed me to build a lot of stuff very quickly and originally it was written in a self-hosted git repository to solve my own problems. But as the project evolved I realised there was some good stuff in there that's worth sharing. The downside to this approach is that there is some ugliness to its design that has lasted even to the latest version due to Murex's compatibility promise. However, the latest version of Murex does provide an internally versioned runtime, which means scripts can now pin to a specific version of Murex and not worry about gradual changes over time (even if "gradual over time" in this context literally means "years of compatibility" even before the versioned runtime.

This means that Murex and Elvish might feel like very different shells despite being conceptually quite similar.

I'm a little reluctant to give specific areas where the two shells diverge because both are under active development and thus moving targets. So what might be true today might not be true tomorrow. However, I will say the syntax for each does vary significantly despite being superficially similar.

As for job control, this was part of Murex's early design because it's a feature I used heavily at the time. So the concept of background and foreground processes are weaved throughout all of the core runtime. Like with Elvish, Murex doesn't create new UNIX processes for builtins. And with commands that are forked processes, Murex doesn't hand over complete ownership of the TTY to them so that Murex can still catch the signals. The reason for the latter is because Murex can then add additional hooks to job control, such as returning a list of open files any stopped processes have opened, and how far through reading those files it is. So Murex has needed to re-implement some of the job control logic that would normally be handled by the POSIX kernel. This does result in a lot of additional code, and thus places for things to go wrong. On balance, I think I made the right tradeoff for Murex. However if I were to write an entirely new shell from the ground up, I'd probably not do it this way again.
by rollcat | 2025-05-06 08:19:00+00:00
I've been using Docker swarm for internal & lightweight production workloads for 5+ years with zero issues. FD: it's a single node cluster on a reasonably powerful machine, but if anything, it's over-specced for what it does.

Which I guess makes it more than good enough for hobby stuff - I'm playing with a multi-node cluster in my homelab and it's also working fine.
by usrbinbash | 2025-05-06 08:19:53+00:00
> But agenty LLM configurations aren't just the LLM; they're also code that structures the LLM interactions. When the LLM behind a coding agent hallucinates a function, the program doesn't compile, the agent notices it, and the LLM iterates.

This describes the simplest, and most benign case of code assistents messing up. This isn't the problem.

The problem is when the code does compile, but contains logical errors, security f_ckups, performance dragdowns, or missed functionality. Because none of those will be caught by something as obvious as a compiler error.

And no, "let the AI write tests" wont catch them either, because that's not a solution, that's just kicking the can dwn the road...because if we cannot trust the AI to write correct code, why would we assume that it can write correct tests for that code?

What will ultimately catch those, is the poor sod in the data center, who, at 03:00 AM has to ring the on-call engineer out of his bed, because the production server went SNAFU.

And when the oncall then has to rely on "AI" to fix the mess, because he didn't actually write the code himself, and really doesn't even know the codebase any more (or even worse: Doesn't even understand the libraries and language used at all, because he is completely reliant on the LLM doing that for him), companies, and their customers, will be in real trouble. It will be the IT equivalent of attorneys showing up in court with papers containing case references that were hallucinated by some LLM.
by cibomahto | 2025-05-06 08:21:21+00:00
Very close. It's somewhat of an OpenSCAD or Processing for electrically simple circuit board design, that uses KiCad as the generating kernel. Artistic projects are the easiest to demonstrate, however we also use it for industrial applications where we need many similar variants of simple boards. You can also use its output alongside normally routed parts to automate the tedious portions of a design: https://social.v.st/@th/111646753350070002
by camgunz | 2025-05-06 08:22:23+00:00
There are no moral hazards when it comes to social welfare programs. People really think there are, but every time we look we find practically no freeloaders. This idea that we have to threaten people with literal starvation to get them to be productive members of society is ironically deeply impoverished.

And if we really think that's true, why do we let people accrue wealth at all? Why do we then think that the most productive people in our society are also the richest? Shouldn't it be the opposite? I struggle to see the pillars of this moral structure in any other way than "poor people are a different breed and need stricter rules to keep them in line". Which again is super wrong! TFA cites research that shows that these kids' parents work, but their wages/bills are too low/high. Does anyone want to guess how bad those parents' jobs are? Do we need to detail the struggles working people go through (lack of health care, wildly inconsistent hours, sexual harassment and assault, etc)? The nicest thing you can say about this kind of thinking is that it's out of date.

And what is "freeloading" anyway? Kids of all backgrounds and parenting situations get to eat? Bring on the freeloading then. Who do I make the check out to?
by justlikereddit | 2025-05-06 08:22:26+00:00
>It's not possible to mimic natural conversational rhythm with a separate LLM generating text, a separate text-to-speech generating audio, and a separate VAD determining when to respond and when to interrupt.

If you load the system prompt with enough assumptions that it's a speech-impared subtitle transcription that follows a dialogue you might pull it off, but likely you might need to fine tune your model to play nicely with the TTS and rest of setup
by KingOfCoders | 2025-05-06 08:23:17+00:00
"Making accusations and finding biased sources is easy"

The report says exactly what I'm saying,

> "send back Jews to be killed"

From the report: "The measures agreed in August 1938 to turn back unwanted immigrants were implemented ruthlessly; [..] It even happened that border guards struck refugees with the butts of their rifles to bar them from crossing the border"

> "sell weapons to the Nazis"

From the report: By far the most arms were sold to Germany and Italy, e.g. page 200

> "buy stolen Jewish gold and stolen gold from occupied countries"

From the report: "During the Second World War, Switzerland was the most important market for gold from the territories controlled by the Third Reich. Almost four-fifths of the Reichsbank’s gold shipments abroad were arranged via Switzerland."
by Rygian | 2025-05-06 08:23:30+00:00
Maybe the example is contrived in a way that does not show the issue very clearly.

User forgot to include the posts table in the query.

Error line 1 says "Cannot select `posts::columns::id` from `users::table`.

For me, that is more than enough to spot the issue. But if I had missed my morning coffee, 5 lines below I have extra help: "note: `posts::columns::id` is no valid selection for `users::table`"

The rest of the "help" lines I can happily ignore.
by austin-cheney | 2025-05-06 08:24:41+00:00
When I was doing performance examinations from localhost I found that CSS was mostly inconsequential if written at least vaguely efficiently and requested as early as possible from the HTML. By completely removing CSS I might be able to save up to 7ms of load time, but that was extremely hard to tell because that was well within the variance between test intervals.

https://github.com/prettydiff/wisdom/blob/master/performance...
by Tainnor | 2025-05-06 08:24:58+00:00
Tried it recently and it seems rather hit or miss. Claude 3.7 was able to generate the right business logic but the UI didn't look right at all and I couldn't fix it with further iterations. I'm no frontend dev at all and didn't know how to fix it properly, but at some point I noticed that it tried to use flexbox even though I asked for a grid. I pasted the thing into Gemini, said "rewrite it using CSS grid" and it came out correct. Maybe Gemini could have one-shotted it, from my limited trials it seems much better than Claude.
by Aardwolf | 2025-05-06 08:25:06+00:00
What does a 2D manifold with a Kervaire invariant of 1 look like?

I only found a technical article that didn't show any images at all, and 3D looking images in image search

Visually seeing a 2D one might help understand what it is though, and it shouldn't be too bad to render something in 2 dimensions :)
by lukan | 2025-05-06 08:25:18+00:00
I mean, I am pretty sure that I won't be fooled by a bot, if I get the time to ask the right questions.

And I did not looked into it (I also don'think the test has too much relevance), but fooling the average person sounds plausible by now.

Now sounding plausible is what LLMs are optimized for and not being plausible, still, I would not have thought we get so far so quick 10 years ago. So I am very hesistant about the future.
by airbreather | 2025-05-06 08:25:33+00:00
In Australia during university around the second the summer of love period we ended up doing acid at least once a week (mostly weekends) for near two years.

Probably about half time in the city at clubs and parties, and half time out in the forests and remote beaches.

Strawberry double dips were prevalent, a few other designs, microdots etc.

I'm pretty sure it gave me a perspective still today, that I would not otherwise have.

I don't think it caused any "damage". I still graduated with one of the hardest 4 year degrees and went on to use the degree in a career. I don't have any regrets about it all and the events that unfolded.

There were, however, many, many notable incidents and events, most of them more than little bit funny, even today.

I don't really remember expressly how, why it ended, it was like organic decay. I think it just ran it's course with availability of LSD, us having the time and places to do it, and eventually I think life just took over.

But, definitely, there were some regular repeat customers.
by PeterStuer | 2025-05-06 08:25:39+00:00
I get both sides of this debate.

However, claiming llama is not a 'substantial transformation' of the information used to build it seems untennable.

The complaint feels to me more like the paint factory claiming rights to the paintings you created with it's paint, rather than a classic pirate DVD copier that just resells copies.

Maybe a midway could be some Google Books like solution where you can still find anything but where the output is restricted to just substantial fragments and not complete verbatim chapters?

I do not believe people use llama to 'read published books on the cheap'.
Greenspector Studio: Optimize Your Mobile's Application Energy Consumption
by ophilippot | 2025-05-06 08:26:08+00:00
Hello HN,

I’m excited to share the launch of Greenspector Studio, a SaaS Self-Service platform designed to help developers and companies measure and optimize the energy consumption of mobile and web applications.

With the growing concern about the environmental impact of technology, Greenspector enables you to build greener and more efficient applications while maintaining top-notch performance.

What Greenspector Offers:

Precise Energy Analysis: Identify energy bottlenecks in your user journeys. Actionable Insights: Get real-time data and practical recommendations. Market Benchmarks: Compare your app’s performance to industry standards. Easy Integration: Works seamlessly with popular development and CI/CD tools. Try it for free: We’re launching with a free trial, so you can see the results firsthand and start reducing your application’s energy footprint today.

Check it out here: https://saas.greenspector.com/signup

We’d love to hear your thoughts, feedback, and suggestions! Let’s collaborate to make mobile and web technology more sustainable.

#AskHN: What strategies do you use to optimize your application’s energy consumption?

Thanks for reading,

Olivier PHILIPPOT
by jaks6 | 2025-05-06 08:26:18+00:00
Dr K (from HealthyGamerGG) had a fun experiment on this topic: Try setting the goal of not using your smartphone when you're on the toilet.

Notice the voice of protest within you as you seriously consider doing this. Why is that part so unwilling to give up something so trivial for just a few minutes?

It's a truly good exercise for mindfulness/meditation/re-calibration of our dopamine system. Obviously the principles apply everywhere in life, I just love this example because it is so relatable for most and highlights the issue so clearly.
by piva00 | 2025-05-06 08:26:28+00:00
Or just have another hobby not involving programming. I got into this from being my main hobby as a kid, the passion thing I did when free time was available, I learnt a lot (enough to build it into a career), I had lots of fun but that time is gone.

My free time is to be spent on other things, I get paid to fix issues and that pays my bills, I don't want nor need to be thinking about these issues outside of paid hours, you know too much to the point where you know how much effort it will take to fix something that might look innocuous, innocent, but definitely has deep tendrils of other related issues to tackle. It's not worth it, not if I'm not being paid for it or it isn't part of a personal project I'm really passionate about.

So I learnt to not care much, I help my colleagues, deliver what I tell I will deliver, and free space in my mind to pursue other more interesting stuff to me.
by globular-toast | 2025-05-06 08:27:32+00:00
Tests assert correctness of behaviour, which is the only thing that really matters. A type system can't do that. Spending time getting your types right just to please the type checker does catch some bugs sometimes, but I'm not convinced it's truly worth it given that bugs usually happen at a much higher level anyway which will lead to rewriting/throwing away the lower level code anyway.

It's a completely different tradeoff if those types are also being used to compile the program into native code. No C programmer complains about types because at least we're getting native code with zero overhead. It's a tradeoff that's worth making, sometimes. But there are so many cases where speed does not matter, and there it's much harder to make the case.

As always, it's not really about static vs dynamic, strong vs weak, red vs blue, left vs right etc. All have their virtues. The axis that really matters is extremity. Extreme adherence to anything is rarely a good thing.
by TeMPOraL | 2025-05-06 08:27:51+00:00
Parent here, can confirm Nature solved this elegantly.

However, like every other solution built by Nature, this one also works through pain, suffering and death. Nature doesn't care if you're happy, nor does it care if you're suffering. And it especially doesn't care if your suffering is a low-burn, long-term pain in the depth of your heart.

So yeah, having kids will force you to make choices and abandon frivolities, in the same way setting your house on fire will free you from obsessing over choices for unnecessary expenses :).
by CJefferson | 2025-05-06 08:28:00+00:00
I'm confused about styling. You show that I can't put in inline styling (is it unfair to use inline styling in react, when you put it in in a CSS file if you liked?)

But, you then only give me an example of formatting a 'h2 in a p'. But, what if I want to highlight one row of one particular table?
by rollcat | 2025-05-06 08:28:05+00:00
The only issue I'm having with systemd is that it's taking over the role of PID 1, with a binary produced from an uncountable SLOC, then doing even more song and dance to exec itself in-place on upgrades. Here's a PID 1 program that does 100% of all of its duties correctly, and nothing else:

#define _XOPEN_SOURCE 700 #include <signal.h> #include <unistd.h> int main() { sigset_t set; int status; if (getpid() != 1) return 1; sigfillset(&set); sigprocmask(SIG_BLOCK, &set, 0); if (fork()) for (;;) wait(&status); sigprocmask(SIG_UNBLOCK, &set, 0); setsid(); setpgid(0, 0); return execve("/etc/rc", (char *[]){ "rc", 0 }, (char *[]){ 0 }); }

(Credit: https://ewontfix.com/14/)

You can spawn systemd from there, and in case anything goes wrong with it, you won't get an instant kernel panic.
by bilekas | 2025-05-06 08:28:20+00:00
Fun fact, Finland also has a lot of bunkers, for more obvious reasons, enough I believe to host their whole population.

The TLDR : they are obliged to have bunkers for a given population in an area thanks to Russian military aggression over the years.

> Finland has around 50,500 civil defence shelters with space for about 4.8 million people

https://valtioneuvosto.fi/en/-/1410869/finland-has-civil-def...
by AStonesThrow | 2025-05-06 08:29:05+00:00
In high school we were having growing pangs, and so several of my classes were held in temporary trailers that had been hauled onto campus for that purpose. They were serviceable and not particularly hostile, and arguably more modern than the existing classrooms we were using anyway.

Then I graduate and enroll in a cushy university (UCSD) and come to find out, they're also having growing pangs, and so in the middle of campus we found ourselves taking classes in Quonset huts. These Quonset huts were bona fide military surplus, though it was already 1990. https://en.wikipedia.org/wiki/Quonset_hut

The Quonset huts were extraordinarily different from the classrooms and lab facilities we used on campus; they were, of course, comparatively set out in the wilderness, and very rough accommodations overall.

However, I was a commuting student, and nobody was living in Quonset huts, so after our hourlong class was dismissed, I was able to retreat to the relative comfort of home, or the Theodore Geisel library.
by bsaul | 2025-05-06 08:29:06+00:00
I see why you're saying that, and i almost entirely agree with you. However, i would say that if all you're doing is glueing calls to third party systems (like what most backend code is), then you won't fall into complex lifetime problems anyway, and the experience will remain quite pleasant.

Another point, is that the rust ecosystem is absolutely insanely good ( i've recently worked with uniffi and wasmbindgen, and those are 5 years ahead of anything else i've seen..)
by isqueiros | 2025-05-06 08:30:45+00:00
This is yet another clickbaity title from the same developer. On the last thread, there were multiple instances of criticism that were dismissed or ignored.

Reading through the article, there are many places in which the information is incomplete, wrong and downright dishonest, imo.

> Through Radix UI, Tanstack Table, and TypeScript interfaces. This results in approximately 170 lines of code, versus 40 lines in Hyper.

You made the choices to include these. TypeScript boilerplate is inevitable in good quality code. Tanstack and Radix UI add an immense number of features that your plain table just doesn't have. You're also omitting the fact that you import all components automatically with your IDE.

> ShadCN table requires six different transpilers: ESBuild, JSX Transform, Rollup, TypeScript, Tailwind, and PostCSS.

Exactly two of these are actual "transpilers" (tsc and esbuild), and only one is used in the compilation step. The JSX transform is performed by esbuild, rollup is a bundler, TypeScript is only used during development, tailwind is not a transpiler at all and PostCSS only transforms CSS for greater compatibility.

> Modern React components aren't reusable across projects with varying design requirements because the design is hardcoded in the component.

None of these things are inevitable in React. It's a really bizarre example because this only seems to point to a specific limitation/design flaw on Shadcn specifically.

> By contrast, Hyper colocates your typography concerns into a single CSS file, acting as the single source of truth for your h2 an p element styling: [global styling]

If your argument is that components are not reusable across projects, then it's really funny that you're applying your styles globally. What if I don't want my paragraphs to look like that? Then I have to manually override it, duplicating CSS code. This is also legitimately just possible with "Modern React", you can just add CSS and use it however you'd like.

> cryptic utility classes like dark:bg-lime-400/10 size-[max(100%,2.75rem)]—is systematically eliminated.

You mean you're not using Tailwind. Which is possible in React.

> Nue is the "framework" (think Next.js + Astro, but simpler)

Next.js and Astro are both frameworks which are totally incompatible with one another.

This whole article seems to stem from a fundamental misunderstanding of (or a lack of desire to understand) what React is or does, and how to fix it. It's genuinely impressive that you were able to build a framework from scratch instead of just... googling your issues? Some of these were solved ages ago and don't require a whole new stack to be created.

I also believe there is a real argument to be made against React everywhere, but that is beyond the scope of this comment. What I can say is that this comparison would be a lot better if it were against Astro or SvelteKit, which will solve most of the issues you have (boilerplate and bundle size), while also providing a much better supported experience.
by hunglee2 | 2025-05-06 08:32:23+00:00
'MAGA Maoism' - isn't a joke, or even an unfair characterisation.

All the elements are there - anti-intellectualism, destruction of bureaucracy, attack on state capacity, sidelining of state institutions, blatant illegality, cult of the leader.

Took China two decades to get out of it, though election cycle in US style democracy should mean an earlier opportunity to change course