skysight-inc/HackerNews huggingface dataset:
Hi, I own the Native AOT compiler and self-contained compiler for .NET.

Self-contained will work fine because we precompile the runtime and libraries for all supported platforms.

Native AOT won't, because we rely on the system linker and native libraries. This is the same situation as for C++ and Rust. Unlike Go, which doesn't use anything from the system, we try to support interop with system libraries directly, and in particular rely on the system crypto libraries by default.

Unfortunately, the consequence of relying on system libraries is that you actually have to have a copy of the system libraries to link against them, and a linker that supports that. In practice, clang is actually a fine cross-linker for all these platforms, but acquiring the system libraries is an issue. None of the major OSes provide libraries in a way that would be easy to acquire and deliver to clang, and we don't want to get into the business of building and redistributing the libcs for all platforms (and then be responsible for bugs etc).

Note that if you use cgo and call any C code from Go you will end up in the same situation even for Go -- because then you need a copy of the target system libc and a suitable system linker.
For many things Inkscape is better even though it is a vector drawing program, like making photo collages, and clipping photos against frame designs, etc.

It is much easier to make a photo collage in Inkscape than Gimp.
You responded to a comic where a guy has a slide saying those things I enumerated — so the response of "what if it is for nothing" is quite literally in opposition to clean water, livable cities, and so on. It seems your comment was more directed to the post's article and not to the thing you responded to
> discovered, early adopters get great results, everyone starts doing it and it loses any value.

You might still lose out, if you don't do it?

Just like virtually every car these days has great safety features, so it's not a good selling point; but just try selling a car with 1980s levels of safety.
Government crowding out companies is absolutely a concern. I don't want the government running grocery shops or making video games.

But it works fine for infrastructure where competition is not only rare, but often is counter-productive, like for sewer and water delivery. Can this include software infrastructure? Maybe.
*did (sigh)
I liked the piece. Interesting OP refers as 'Science 2' what many call 'the scientific enterprise':

https://osf.io/preprints/metaarxiv/pkahc_v1

^ This is a review I co-authored of a meta-science book that focuses on the scientific enterprise. (The book is oriented more to life sciences than compsci). Although my personal preference of a term is 'praxis of science', I go with one of the more frequently used terms. But I do appreciate the enumeration approach that inherently juxtaposes Science 1 vs. Science 2.
Spidermonkey: JavaScript Syntactic Quirks
> What you're asking for is basically a bug-free btrfs plus a bit of automation on top

Apple was this close around Mac OS X 10.5. Time Machine is more-or-less a perfect backup solution for most people, and if they had ended up using ZFS rather than just testing it in a Server release, your average Mac user would have automatic block-level file hashing and verification (with background scanning and auto-recovery from backups with Time Machine, presumably) which is good enough for the vast majority of people.

APFS is an improvement on HFS+ but ZFS would’ve been much better. FileVault (2) may have complicated matters but who knows, maybe we would’ve seen sped up native encryption in ZFS with support from Apple.
Simple localscope in TXR Lisp:

$ txr -i localscope.tl
Pour le service en la langue Shell, appuyez sur Ctrl-D.
1> (localscope (+ %pi% %pi%)) ;; OK, %pi% is built-in
6.28318530717959
2> (localscope *print-base*) ;; likewise
10
3> (localscope (+ a b c)) ;; bad
** expr-3:1: localscope: global variables (c b a) used

Code:

(defmacro localscope (:form f :env e . forms)
(let ((body ^(progn ,*forms)))
(tree-bind (exp fv-inner ff-inner fv-outer ff-outer) (expand-with-free-refs
body e)
(ignore ff-inner fv-outer ff-outer)
(let* ((usr (find-package :usr))
(globals [keep-if (do or (not (boundp @1))
(neq (symbol-package @1) usr))
fv-inner]))
(if globals
(compile-error f "global variables ~s used" globals)))
body)))

We get a list of the free variable references emanating from the enclosed forms, and filter them: we are interested in all that do not have bindings as globals in the standard library. I.e. either are not bound at all, or else if they are, are not symbols in the usr: ("user space") package.
Or maybe they could all sit down for 5 minutes and think of a better name

But of course that won't happen
No, just hundreds of billions in grants, tax offsets, and other government largesse.
We're not getting any money from them now, so who cares if they leave.
The next biggest shift in interface is moving from a tactile input -- keyboard, mouse, touch screen, ect. -- and visual screen output to none tactile input -- voice, brain implants, ect. -- and none visual output mostly automation or multistep tasks. Some attempts so far haven't been successful, i.e. Alexa and Siri, others look promising like OpenAI Operator, and it exists in sci-fi like Iron Man's JARVIS, nonetheless, it is definitely the future.

I worked on a browser automation virtual assistant for close to a year -- injecting JavaScript into third party webpages like a zombie-ant fungus to control the pages. The idea of tactile input and visual output is so hard coded into the concept of an internet browser, to rethink the input and output of the interface between the human and the machine, everything becomes hack.

After a decade working in UI, it was strange to be on a project where the output wasn't something visual or occasionally audio, but rather the output of the UI was automation.
Me too! But nobody is fixing to materially raise my taxes. Somehow, “the top 1%” became “the super wealthy” and “billionaires,” and engineers and lawyers and doctors continue to enjoy tax rates that haven’t materially gone up since Reagan.

If you’re not going to significantly raise my taxes, and instead are ranting about the “super wealthy,” you’re just cosplaying about universal healthcare and free college. The math doesn’t match. People in the top 1% of the wealth distribution have an average wealth of $18 million: https://taxfoundation.org/blog/super-rich-pay-effective-tax-.... They have an average AGI of about $1 million/year. The total income for this segment is about $1.8 trillion. You could double their taxes to over 50%, and that would bring in less than $500 billion a year. It wouldn’t even get halfway to closing the deficit, much less paying for universal anything.

Meanwhile, people in the top 10% have an average wealth of $3.8 million, and average AGI of $273,000. Their total income is $4.9 trillion. So the people outside the top 1% but inside the top 10% reflect a potential tax base of $3 trillion. And we refuse to raise taxes on these people.
When Oregon blew up a whale with 20 cases of dynamite (2024)
Unfortunately,

https://www.debian.org/doc/debian-policy/ap-pkg-diversions.h...

> Do not attempt to divert a file which is vitally important for the system’s operation - when using dpkg-divert there is a time, after it has been diverted but before dpkg has installed the new version, when the file does not exist.

I doubt that diversions are safe for coreutils. Now personally I'd like to know if that could be fixed instead of making a new tool, but /shrug
Because it’s a classic gag, even if it’s out of place on HN

https://youtu.be/bZe5J8SVCYQ?feature=shared
Listen to yourself. That's what management is supposed to do: manage people -- including other managers. You can't both accept and deny responsibility in the same breath.

If you truly believe that, then this is cognitive dissonance in it's highest form.
A moderate on-call ritual is a necessary evil. I’ve worked at places that tried to get rid of it with all kinds of automation and playbooks, only to revert back to PagerDuty a few months later.

That said, my last workplace completely burned me out with a terrible on-call policy and an absurdly short recovery period. Not to mention, upper management tried to gaslight everyone into thinking on-call was just part of normal work and didn’t warrant additional compensation.

I get why it’s necessary, but I’m lucky enough to be in a position where I can flat-out decline any job that mandates unpaid on-call.
Can you post some examples?

Having been working in TS with Prisma for a bit, what stands out is how a Prisma query is effectively trying to express an expression tree in structural form

An example on TS with Prisma:

const loadedAda2 = await tx.runner.findFirst({
where: { email: 'ada@example.org' },
include: {
races: {
where: {
AND: [
{ position: { lte: 10 } },
{ time: { lte: 120 } },
{
race: {
name: { contains: 'New' }
}
}
]
}
}
}
})

(Other query tools like Kysely end up using strings (though with the support of TypeScript at dev time))

And the same in C# with EF and LINQ:

var loadedAda = await db.Runners
.Include(r => r.RaceResults.Where(
finish => finish.Position <= 10
&& finish.Time <= TimeSpan.FromHours(2)
&& finish.Race.Name.Contains("New")
)
)
.FirstAsync(r => r.Email == "ada@example.org");

The difference being that the C# code is actually passing an expression tree and the code itself is not evaluated, allowing C# to read the code and convert it to SQL.
All we have to do is convince a large group of very active voters to vote for uncertainty and change in their neighborhood, it'll be easy!
Does the UI still suck?
(2024)

They named a park after it: Oregon town names park after rotting whale officials blew up 50 years ago (3 points, 5 years ago) https://news.ycombinator.com/item?id=23604100

Related The Exploding Whale remastered: 50th anniversary of legendary Oregon event (209 points, 4 years ago, 74 comments) https://news.ycombinator.com/item?id=25070440
I’m highly skeptical about voice for most interactions. It’s inherently inappropriate in most public settings.
You can just zero out the pointer variable with __attribute__((cleanup)) before returning its value (from a temporary copy of course).
It probably matters for backward compatibility with existing workflows that depend on destructive editing.

Breaking users’ macros is bad design full stop.
These kinds of wealth transfers have been studied, and you do not need dark pools for them, just predictable trading patterns. See, e.g., https://papers.ssrn.com/sol3/papers.cfm?abstract_id=5080459 on index funds or https://papers.ssrn.com/sol3/papers.cfm?abstract_id=5122748 on funds that maintain a certain ratio of stocks to bonds (e.g., target-date funds). These costs can be larger than the actual management fees of the funds.
They could easily add a $90k tier and no one would bat an eyelash.

This is a reasonable point. I'm sure they can't deviate too much from other Ivy Plus fees, as it would show they're just being greedy. But this doesn't explain why they don't just nudge up even more over time. Maybe they can't charge $90k this year, but they could add $10k per year for the foreseeable future, as long as other Ivy Plus colleges do the same thing.

This is sort of what has happened, but it appears there's some limit.

My point is that, at some level, it becomes obviously a scam. If you charge someone $60k for a year's tuition, you can sort of justify it.

But at $90k, it would be the same price as hiring a full time (40 hour per week) tutor at $70/hour for 32 weeks. At some point what you're doing becomes totally transparent even to those who would like to believe you.

The point was that they wouldn’t give you a price ceiling.

Two thoughts about that:

1. If you're rich and your kid doesn't quite meet the bar, you can get in to a top university through donations. I'm not talking about bribing an athletics coach, but donating to the university itself.

2. If there were no sticker price at all, again it would seem very shady. It's hard to explain when you're a university with a huge endowment that gets tax breaks and federal funding, why you can't publish the maximum tuition price.

How do you think they set the sticker price? Do you think they aim to make a certain modest margin on the undergraduate class as a whole? Do you think the total amount they receive in undergraduate fees is a reasonable markup (say, 30%) on the reasonable cost of the services they provide?
Magazine and book readers are not the same fiends that is Gen Z.
If you use Adobe, you’re not the prime design persona.
I think a better UX for average consumer would be more a side-swiping filter menu similar to that of social media mobile apps, with different non-math style names "default blur", "circle blur", etc. Especially as more people do not use desktop computers today.

Also maybe LLM integration so you can just explain what you want done, then it does it, instead of needing to follow some tutorial to learn the software
I love using x macros with c++ to create static types and hooks to disambiguate from basic types. This is more applicable to final executables than libraries - I would never provide anyone with an API based on the mess it creates, but it allows application code to be strongly checked and makes it really easy to add whole classes of assertions to debug builds.
Interesting to hear your experience with Rust. I’ve also been working on a game project for a long time, but in Unity. It’s bothered me for a long time that I have to be so reliant on the editor when using Unity, because I feel like as a programmer, man I could just be so much more productive if I was _only_ coding all day long!

But over time I’ve realized that the Unity editor is actually a really important piece of the development tools for games. Games are an extremely visual medium. So it’s really important to have something that is at least mostly WYSIWYG.

(My game project: https://pollywog.games/barnards-star.html )
UX, as a term, didn't really exist in the 1990s: https://books.google.com/ngrams/graph?content=user+interface...

That's consistent with your timeline of the decline of UI/UX though. My sense is that the birth of the term UX marked the beginning of the decline because it meant redefining the term UI as being purely about aesthetics, implying that no one was paying attention to all of the non-aesthetic work that had previously been done in the field.
From, a comment I posted elsewhere for written versions.

There is a course reader for CS109 [1]. You can download pdf version of this.

There is also book[2] for excellent caltech course[3].

[1] https://chrispiech.github.io/probabilityForComputerScientist...

[2] https://www.amazon.com/Learning-Data-Yaser-S-Abu-Mostafa/dp/...

[3] https://work.caltech.edu/telecourse
Japanese Kingfisher Shinkansen [video]
Even if it's free I doubt they would have wanted it. Supporting DRM is the opposite of what KOreader is for.
Tap it with two fingers, the same as you would on many other manufacturers' laptops for just ages now. Honestly, if you're not going to bother to try to learn...
> When engineers bear the full financial consequences of 3AM pages, they're more likely to make systems more resilient by adding graceful failure modes.

Making engineers handle 3 AM issues caused by their code is one thing, but making them bear the financial consequences is another. That’s how you create a blame-game culture where everyone is afraid to deploy at the end of the day or touch anything they don’t fully understand.
https://smartboardandbeyond.com/products/boogie-board-55-wal...

This is 55inch one
The phrase you're looking for is OODA loop, popularized in the 80s.

https://en.m.wikipedia.org/wiki/John_Boyd_(military_strategi...
> upper management tried to gaslight everyone into thinking on-call was just part of normal work and didn’t warrant additional compensation.

If it's made explicitly clear in the job interview process that on call is expected in a role and if it's enforced evenly across the organization, this can absolutely be normal and ethical—you're on a specific salary and your salary includes on call expectations. If you knew about that going in then you weighed it against the offered salary and decided it was worth it. It's not "unpaid on-call" in that case, it's paid on-call.

Obviously it can also be done poorly in ways that are harmful and dishonest. Not communicating it clearly during the job interview and salary negotiation, applying it inconsistently, or changing the frequency or the difficulty of the rotation after you have started are all real problems.
The Anti-hero of CSS Layout – "display:table" (2014)
It's not just that people don't want to waste an investment into learning something; that investment can actually enable you way more than a more easily accessible interaction method, and you stick to it because it's _better_.

Once you've learned to use the keyboard property, it's simply faster for many applications. Having buttons at your fingertips beats pointing a cursor and clicking at a succession of targets. For example, I can jump through contexts in a tyling window manager and manipulate windows and their contents much faster with a keyboard, than wading through a stack of windows and clicking things with a mouse.

It all depends on what you're interacting with, and how often. I mostly have to deal with text, and do not need to manipulate arbitrary 2d or 3d image data.

But suggesting that I am simply too set in my ways to ditch the keyboard in favor of poking things with a pointy thing or talking into a box is just too reductive.
Or each SD-card-reader node could copy to its own hard drive (to free things up for another card) and asynchronously upload from there to the central unit... Or possibly send metadata/thumbnails first, and then alternate between sending specifically-requested content versus uploading the backlog.
So, the 1000 card problem is pretty easy. What matters is how much is on each card, and how long the DL window is.

For instance, if you can spend 2 hours downloading each card, (SPI to an esp32 can do about 32GB an hour) so you could Download 64GB in 2 hours via ESP32 boards with SPI uSD slots, pushed onto your server over wifi6.

If that’s enough, that’s a simple solution. If you need more than 32GB an hour per card, I’ve seen some adapters that hold 10? uSD cards and connect over SATA, so that might get you a better way into the bus than typical USB?
A column on things Internet: The Root of the DNS
Depends. Is everything open source (TypeScript)? Or does it give me basically everything for free when building open source (Github)?
What would be the fancy modern buyable version of this?
I have done both and agree
Two decades ago, I quite-suddently dropped out of a rural medical school to grow marijuana in the SF East Bay.

Through random medical marijuana introductions, I ended up meeting a co-founder of a Dotcom-era Unicorn — which eventually failed. Through his own alleged financial misunderstandings, he had stupidly kept 90% of his net worth in his Unicorn stock... but still had about a million dollars left-over.

By the time I was working for him, the beautiful Parnassus home (which he then owned, out-right) had been partitioned into several rental units — only slowing his moneydrain.

Very interesting guy, and I had just a few years earlier watched several of my childhood friends not-be-able to attend university (Texas, post-Enron/2001), due to their own family financial issues.

I'm 40, and have experienced FOUR "once in a lifetime financial crisises..." my take-away, even at my young age, is to diversify [particularly into gold, bitcoin, land].
I agree with your expansion. In this particular case, the on-call policy was enforced after the hiring.
Ask HN: Do web vitals scores matter anymore?
Web vitals scores measure website performance out of 100 on several parameters.

With mobile devices becoming faster, internet speed not being a bottleneck anymore. Do web vital scores hold the same importance as earlier days?
>This, of course, is a big charade. The cost of producing a drug is low relative to its sales price (gross margins are high, see the pharmaceutical companies’ 10-Ks!)

A drug is not a widget. You can't just make one. Almost all drug programs end in abject failure, usually far before even the clinical trial phase. Gross margins have to be high because you have to pay for 10 failed programs with the successful one.

And one reason that profits are low in the US because that's where there R&D happens.
The interesting thing is that you can do this in C# with tuples because tuples can nest tuples.

type Platform = "Mastodon" | "Bluesky" | "Threads";

type Profile = {
name: string,
socials: {
handle: string,
platform: Platform
}[]
}

function getProfiles() : Profile[] {
return [{
name: "Charles",
socials: [
{ handle: "@chrlschn", platform: "Mastodon" },
{ handle: "@chrlschn", platform: "Bluesky" }
]
},
{
name: "Sandra",
socials: [
{ handle: "@sndrchn", platform: "Threads" }
]
}]
}

Versus:

using Profile = (
string Name,
(
string Handle,
Platform Platform
)[] Socials // Array of tuples in another tuple
);

enum Platform { Mastodon, Bluesky, Threads }

Profile[] GetProfiles() => new[] {
("Charles", new[] {
("@chrlschn", Platform.Mastodon),
("@chrlschn", Platform.Bluesky),
}),
("Sandra", new[] {
("@sndrchn", Platform.Threads)
}),
};

With some caveats
I got so used to GIMP back in my Ubuntu Linux days that I don’t bother installing Photoshop or other image editor on my Mac.

Besides, Adobe is an ugly company with shady billing/retention tactics…
> Let's say you are or might be a serial killer. How should I talk about it without offending you? Just asking.

If that is an issue, it absolutely should be addressed; personal offense doesn't outweigh the deaths of others. Imagine if an alleged serial killer said, 'nobody can talk about that because it offends me.'

It's also a well-worn tactic to change the subject from one's own behavior to attacking people who raise the issue - the right-wing has been using it for years, now on behalf of Israel.

I'm not changing the subject: The issue is that Israel has killed ~50,000 people, injured many more, and destroyed most of their resources including things like healthcare, infrastructure, just buildings. It is blocking access to food and essential supplies. Palestinians in the West Bank are subject to have their property stolen, physical violence, lack of the rule of law, and being terrorized. Israeli leaders openly talk about seizing Palestinian territory, harming Palestinians, and contempt for harming them.

Whatever you call it, those are the issues. Whether it meets a legal standard of genocide is something a court can figure out, but there are warrants from a widely-recognized court.
> pretty much anything that might attract the attention of antifa will also attract violent elements like the black bloc types or opposition

What does that have to do with Gaza-related protests? If you are saying it applies to them, you haven't established that there is a significant level of violence.
These don’t even remotely compare. In academia, timelines are long, failure is extremely high, total team involvement on a project is small, motivation is different, as is team selection criteria.

Just look at a large project for academia that requires lots of people and is a deliverable. It reverts to standard practice
> UI/UX: "Tool->GEGL Operation..." is too much friction for such a common operation- just pop it up when you click on the "FX" button in the layers window.

You can make this a button in the toolbox in the settings.
This article has a lot more detail: https://www.politico.com/news/2025/03/17/rasha-alawieh-depor...