MurphyA/hacker-news huggingface dataset:
by dgb23 | 2025-05-16 20:55:45+00:00
I recently read an article about the US having a relatively weak occupational training.

To contrast, CH and GER are known to have very robust and regulated apprenticeship programs. Meaning you start working at a much earlier age (16) and go to vocational school at the same time for about 4 years. This path is then supported with all kinds of educational stepping stones later down the line.

There are many software developers who went that route in CH for example, starting with an application development apprenticeship, then getting to technical college in their mid 20's and so on.

I think this model has a lot of advantages. University is for kids who like school and the academic approach to learning. Apprenticeships plus further education or an autodidactic path then casts a much broader net, where you learn practical skills much earlier.

There are several advantages and disadvantages of both paths. In summary I think the academic path provides deeper CS knowledge which can be a force multiplier. The apprenticeship path leads to earlier high productivity and pragmatism.

My opinion is that in combination, both being strongly supported paths, creates more opportunities for people and strengthens the economy as a whole.
by rootbear | 2025-05-16 20:57:00+00:00
When Gosling was at Sun, he was one of two principal architects of the NeWS Window system. The X Window system was designed for "dumb" display devices and so the display elements were all static, not requiring much work from the server. NeWS was designed to run on a (Sun) workstation, where there was a lot of computational power available, so it was based on Postscript. A NeWS client would send a program to the server, not just static commands.

Gosling, unsurprisingly, designed Java with the NeWS model in mind, where web pages were programs, not just static HTML documents. When I got him to sign my copy of "The Java Programming Language", I asked him if Java was the revenge of NeWS. He just smiled.
by kazinator | 2025-05-16 20:57:16+00:00
Under multiplication, rows go into columns and all that. So if we transpose things, rows are being dot-producted with (what were originally) rows:

[ a b ] [ a c ] = [ (a b) . (a b) (a b) . (c d) ] = [ |(a b)]^2 (a b) . (c d) ] [ c d ] [ b d ] [ (c d) . (a b) (c d) . (c d) ] [ (c d) . (a b) |(c d)|^2 ]

Down the diagonal we have squared norms of (a b) and (c d) which is interesting and could somehow be used.

We also have repeated values between the upper and lower triangle because (a b) . (c d) is the same as (c d) . (a b): the dot product commutes.

Whereas just squaring the matrix:

[ a b ] [ a b ] = [ (a b) . (a c) (a b) . (b d) ] [ c d ] [ c d ] [ (c d) . (a c) (c d) . (b d) ]

all four dot products are unique.

So right of the bat, we can find interesting things about X X^t without going deep, and an obvious shortcut.
by SigmundA | 2025-05-16 20:58:06+00:00
I haven't found this is the case many times, many api will have two versions of the api with XxxAsync versions all the way down, maybe less so now days but it took a while to get async entry points added everywhere so you could use it properly, such as ActionResult.ExecuteResultAsync and IAsyncEnumerable as a couple examples.

HttpClient one prime example and you can see the back and forth here internally from MS: https://github.com/dotnet/runtime/issues/32125

This snippet of code or something like it has been used in countless libraries to try and give a workable sync over async which should be baked in: https://github.com/aspnet/AspNetIdentity/blob/main/src/Micro...
by onli | 2025-05-16 20:58:38+00:00
I am not aware of a better alternative. It is a good question, that would be quite helpful!

What I did in the past (with M3) is to add some additional design tweaks (in flutter), like giving buttons an elevation. That worked when I had the designer on my side and since the app came from flutters M2 style, which had similar aspects. But it is cumbersome to argue against a google guideline with only usability knowledge and test results, and it also frankly depends on each component what can be done, which means the adapted design can easily become inconsistent if one is not careful.
by prrada | 2025-05-16 20:58:45+00:00
Yeah, lol, just saw the amazon thing. I find therapy to be a bit of a spiritual experience and although companies can provide a lot, a more human connection has never been one of them for me. Also, so far every therapist I know has been either heavily squeezed by an insurance intermediary or drowning in task while building their own thing, can't imagine an amazon anything helping them help us.

Yeah, I was excited about the possibilities of something different with Crypto, but it always seems to be more complication than it's worth. That said the true ownership of the name part with ENS is epic. Good stuff, thank you.
by andy99 | 2025-05-16 20:59:19+00:00
I agree with this, it's actually a good reminder not to trust a preprint server. Arxiv already has an inappropriate air of validity, moderation will only make it worse.

(Incidentally, I don't think misplaced trust in preprints is much of an academic issue, people that are experts in their field can easily judge quality for themselves. It's laypeople taking them at face value that's the problem.)
by kazinator | 2025-05-16 20:59:39+00:00
The "invert binary tree" interview question can be solved by swapping the accessors of the node type:

tmpfn = tree.left tree.left = tree.right tree.right = tmpfn

Now when tree.left(node) is applied, it returns the right child, and vice versa. All traversals use the accessors, QED.
by triMichael | 2025-05-16 20:59:53+00:00
I agree, but I'd add that it's not just the tech giants who want them to be better than they are, but also non-programmers.

IMO LLMs are actually pretty good at writing small scripts. First, it's much more common for a small script to be in the LLM's training data, and second, it's much easier to find and fix a bug. So the LLM actually does allow a non-programmer to write correct code with minimal effort (for some simple task), and then they are blown away thinking writing software is a solved problem. However, these kinds of people have no idea of the difference between a hundred line script where an error is easily found and isn't a big deal and a million line codebase where an error can be invisible and shut everything down.

Worst of all is when the two sides of tech-giants and non-programmers meet. These two sides may sound like opposites but they really aren't. In particular, there are plenty of non-programmers involved at the C-level and the HR levels of tech companies. These people are particularly vulnerable to being wowed by LLMs seemingly able to do complex tasks that in their minds are the same tasks their employees are doing. As a result, they stop hiring new people and tell their current people to "just use LLMs", leading to the current hiring crisis.
by YZF | 2025-05-16 21:00:03+00:00
I edited my reply because it is sometimes referred to as both. But hey, can't rob you of the joy of correcting someone on the Internet.

https://www.uscis.gov/working-in-the-united-states/temporary...

"If you are a Canadian citizen, then you are not required to apply for a TN visa at a U.S. consulate.

You may establish eligibility for TN classification at the time you seek admission to the United States by presenting required documentation to a U.S. Customs and Border Protection (CBP) officer at certain CBP-designated U.S. ports of entry or at a designated pre-clearance/pre-flight inspection station. You must provide the following documentation to the CBP officer:"

"You may be eligible for TN nonimmigrant status, if:

You are a citizen of Canada or Mexico; Your profession qualifies under the regulations; The position in the United States requires a NAFTA professional; You have a prearranged full-time or part-time job with a U.S. employer (but not self-employment - see documentation required below); and You have the qualifications to practice in the profession in question."

"If a CBP officer finds you eligible for admission, you will be admitted as a TN nonimmigrant. "

The main point is this has none of the process usually related to "visas" and even if that term is sometimes used along with "TN status" it's its own special thing. Canadians don't need a Visa to visit the US and I am not a lawyer. Mexicans might be in a slightly different situation. Either way, the proper legal answer has no influence whatsoever on the points being made.
by datpuz | 2025-05-16 21:00:12+00:00
> I guess the main (valid) concern is that LLMs get so good at thought

I don't think that's a valid concern, because LLMs can't think. They are generating tokens one at a time. They're calculating the most likely token to appear based on the arrangements of tokens that were seen in their training data. There is no thinking, there is no reasoning. If they they seem like they're doing these things, it's because they are producing text that is based on unknown humans who actually did these things once.
by thewebguyd | 2025-05-16 21:00:34+00:00
> By contrast, Apple, which is often praised for its product aesthetics, never makes marketing content like this about its design language. It may present creating emojis as a huge feature or inflate some of its claims a bit, but in general, they let the product do the talking.

On top of that, when Apple makes a change or does a redesign, it's usually not overly disruptive (new macOS settings aside). The core functionality and layouts remain more or less the same, but it's just a new coat of paint. I still use my Mac the same way today, with the same keyboard shortcuts and workflow I did in 2006. Meanwhile, Windows has gone through no less than 5 total UI disruptions since then.
by nelup20 | 2025-05-16 21:01:19+00:00
I personally appreciate Java (and the JVM) much more after having tried other languages/ecosystems that people kept saying were so much better than Java. Instead, I just felt like it was a "the grass is greener" every time. The only other language that I felt was an actual massive improvement is Rust (which so far has been a joy to work with).

It's a shame imo that it's not seen as a "cool" option for startups, because at this point, the productivity gap compared to other languages is small, if nonexistent.
by neonsunset | 2025-05-16 21:01:31+00:00
I suppose the difference of opinion comes down to whether you consider hiding side effects a good or a bad thing. And whether you want to have easy composition and cancellation (Go struggles with passing context around a lot, in .NET it's much less of an issue if at all, depending on codebase).

If you don't want to join on some other virtual thread or goroutine completing immediately (and with Goroutines it's additionally painful since you need to communicate completion separately), it's more difficult and costlier than doing so with tasks/futures.
by azaazal | 2025-05-16 21:01:49+00:00
You’re right—journalism ethics do exist. That’s not the issue.

The issue is there’s no public-facing structure that shows who’s committed to them, or holds anyone visibly accountable when they’re violated. The NEAA framework proposes a way to make those standards transparent and enforceable—while also allowing them to evolve through a consensus-based, open process.

It’s not rewriting journalism ethics. It’s giving them structure, consequence, and public utility.

But you're also right to point out the phrasing. I didn’t mean I created a new set of journalism ethics. What I developed is a structural framework for making existing ethical standards visible and enforceable — voluntarily and publicly.
by martin-t | 2025-05-16 21:03:09+00:00
Not just commit contempt, we should punish them.

It used to be the case that people valued freedom and the lack of it was something blatantly apparent.

When somebody was a slave, it was a very explicit interpersonal relationship which was very obviously abusive. Even today, some cultures such as Americans are so ashamed of their slaver past that they censor the word on YouTube.

When somebody worked for a company which compensated him not with money but company script which could only be exchanged for goods in company stores, it obviously created a relationship of unequal power which over time put the weaker side at an even bigger and bigger disadvantage. People were able to see and understand this and it was outlawed.

But these days, the power dynamics are so complex and have so many steps and intermediaries, people don't even know what is being taken away from them. It's a salami slicing attack too. There are minor outrages here and there but nothing even changes, two steps forward, one step back to appease them.

---

Bottom line: if a company claims it "sells" you something, the precedent is you own it fully. If you don't, that's theft. Theft, even multi step theft, should be punished in full. That means the company should pay a fine according to how much money they made from their abuse of power, multiplied by a punitive constant.

Additionally, all people involved in the decision making process should also be punished according to how much they stole.
by AStonesThrow | 2025-05-16 21:03:40+00:00
The corollary of this was Display PostScript. At my first job we had a SPARCStation 2 with a SPARCprinter. The SPARCStation was a mighty wonder to behold, with a storage pedestal and a lovely OpenWindows GUI on a luxurious Sun monitor and color framebuffer. The operator sitting at the desk was often just a novice clerical worker, but we ran a few Internet services on the machine as well. However, our department depended on that SPARCprinter to spit out hundreds of sheets of paper daily.

We could not depend on the printer to stay functional, though. Have you heard of a Winmodem? SPARCprinters were essentially that: they were configured as a "dumb display device" where all the imaging logic was contained in the software and run on the server. A page was written in PostScript, rendered on the print server, and dispatched to the printer as if it were a framebuffer/monitor.

Unfortunately, for whatever reason, the server software was not so reliable, or the printer hardware wasn't reliable, and because of this peculiar symbiotic parasitism, whenever our printer wedged, our server was also toast. Every process went into "D" for device wait; load averages spiked and all our work ground to a halt. We would need to pull the worker off the desktop, reboot the whole server, and start over with the printer.

That printer haunted my dreams, all though my transition from clerk, to network operator, to sysadmin, and it wasn't until 2011 when I was able to reconcile with printers in general. I still miss SunOS 4 and the whole SPARC ecosystem, but good riddance to Display PostScript.
by oytis | 2025-05-16 21:04:17+00:00
I know about this system, but I am not convinced it can work in such a dynamic field as software. When tools change all the time, you need strong fundamentals to stay afloat - which is what universities provide.

Vocational training focusing on immediate fit for the market is great for companies that want to extract maximal immediate value from labour for minimal cost, but longer term is not good for engineers themselves.
by kelseyfrog | 2025-05-16 21:05:02+00:00
> So the fun, all along, was not in the process of creation itself, but in the fact that the creator could somehow feel superior to others not being able to create? I find this to be a very unhealthy relationship to creativity.

People realize this at various points in their life, and some not at all.

In terms the author might accept, the metaphor of the stoic archer comes to mind. Focusing on the action, not the target is what relieves one of the disappointment of outcome. In this cast, the action is writing while the target is having better thoughts.

Much of our life is governed by the success at which we hit our targets, but why do that to oneself? We have a choice in how we approach the world, and setting our intentions toward action and away from targets is a subtle yet profound shift.

A clearer example might be someone who wants to make a friend. Let's imagine they're at a party and they go in with the intention of making a friend, they're setting themselves up for failure. They have relatively little control over that outcome. However, if they go in with the intention of showing up authentically - something people tend to appreciate, and something they have full control over - the changes of them succeeding increase dramatically.

Choosing one's goals - primarily grounded in action - is an under-appreciated perspective.
Ask HN: Has LLM prompting changed how you interact with people?
by bredren | 2025-05-16 21:05:21+00:00
A few times now, I've realized that something I was going to say to someone was going to not add meaningful enough information to include it in a conversation.

That just by uttering the thing it would unnecessarily cloud the person's "context." Even if it seemed innocuous.

I've gotten surgical in how I handle LLM conversation contexts, and I think I'm paying more careful attention to what I say from that.

I'm curious if this has happened to anyone else.
by thewebguyd | 2025-05-16 21:05:47+00:00
> And toggled / disabled states. With mobile’s lack of hover, it’s often a game of trial and error to figure out what’s even interactable.

The toggle switch is one of the worst UI conventions to come out of mobile IMO and I get irrationally irate when I see it in desktop UIs with a mouse and keyboard.

A simple checkbox would have done just fine, we've those since forever, and they clearly convey either an on or off state.

Nope, not good enough, we need a toggle switch. Which color or direction is on or off? Who knows, because everyone implements it differently.
by lucb1e | 2025-05-16 21:05:50+00:00
Can I refer to animals as 'them' instead of 'him' or 'her'? Die Katze draußen ist so Süß, ich möchte es unbedingt streicheln. I know that it's not considered correct but to me it feels even wronger to just assume it's a pussycat and not a tomcat. Would people actually mind if I do the more, ehm, to-me-logical thing? Does it take you out of what I'm saying, the way that reading "its you're cat" takes me out of a story?
by rfwhyte | 2025-05-16 21:06:25+00:00
The class war was won decades ago, we're only just now starting to realize it.

The people at the top control literally everything, and they run the world like a gated community, with only those with the proper "Credentials" even being able to get a foot in the door. That foot in the door guarantees you nothing though, only a chance to prove your use to the true masters, who will keep you around and let you hang out in their gated Edens only so long as you continue to be useful to them by making them money.

So how does one get these "Credentials" you might ask? Well, you could be exceptionally talented, absolutely bust your ass in school to get the right degree, and then work like a dog for a decade or more for an at best marginal chance of being let into the club, or as is depressingly the de facto standard, the credentials are stamped onto you at birth if you're lucky enough to be borne into a wealthy and connected family.

The whole goddamn world is a rigged carnival game at this point, with a very small cadre of very wealthy folks setting the rules and for the most part getting to decide who's even allowed to play. If you're very, very, VERY lucky, you might get one ball, and get your chance at a prize, but even then there's a lot more folks who take their shot and lose than their are that win, and the true luxury of the wealthy and connected, is the freedom to take as many shots as it takes until they finally hit a winner.
by polskibus | 2025-05-16 21:06:26+00:00
I think the bigger problem, that started around 2022 is much lower volume of jobs in software development. Projects were shutdown, funding was retracted, even the big wave of migrations to the cloud died down.

Today startups mostly wrap LLMs as this is what VCs expect. Larger companies have smaller IT budgets than before (adjusted for inflation). This is the real problem that causes the jobs shortage.
by throwe3away | 2025-05-16 21:06:47+00:00
Thanks Peter. I'm very unremarkable as a software engineer, no publications or anything like that either. It's unlikely I would qualify for NIW or O-1.

You seem to agree that PERM would be problematic in these times? Maybe you are seeing failures too? My thinking is that I don't want to try to persuade my employer to start the sponsorship process but then fail the market test (potentially repeatedly). Some SWEs are being successful in this though, so I'm wondering if it's also down to having a good law firm handle the process.
by dakiol | 2025-05-16 21:07:00+00:00
Thanks, Sherlock. Now, tell me, when senior engineers start to retire, who will replace them? Ah, yeah, I can hear you say "LLMs!". And LLMs will rewrite themselves so we won't need seniors anymore writing code. And LLMs will write all the code companies need. So obvious, of course. We won't need a single senior because we won't have them, because they are not hired these days anymore. Perfect plan.
by segmondy | 2025-05-16 21:07:19+00:00
you can do this already with -ctk and -ctv, why would anyone need this?

-ctk, --cache-type-k TYPE KV cache data type for K

allowed values: f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1 (default: f16) (env: LLAMA_ARG_CACHE_TYPE_K)

-ctv, --cache-type-v TYPE KV cache data type for V

allowed values: f32, f16, bf16, q8_0, q4_0, q4_1, iq4_nl, q5_0, q5_1 (default: f16)
by vunderba | 2025-05-16 21:07:41+00:00
> They internalised the qualities of their models’ prose as much as possible, and also kept a sort of verbal rainy-day fund in something called a commonplace book, which is to say that, as they read, they transcribed a stockpile of salient words, metaphors, turns of phrase and clichés – usually organised thematically – that they would then draw upon while writing.

I'm reminded of an excellent passage from "Lives of the Great Pianists" by former New York Times music critic Harold Schonberg when speaking on the strength of Beethoven's musical extemporization:

"How much Beethoven prepared his improvisations we do not know. Most pianists did prepare, knowing full well that sooner or later they would be called upon to supply an improvisation on 'Batti, batti' or a similar well-known tune. And all pianists had at their command a thorough supply of passagework by the yard, which they could snip off and use for any possible contingency. But when Beethoven improvised, prepared passagework or no, it was evident to his hearers that after a while he was on his own, idea pouring after idea. Then he would get carried away, pound the piano, and the strings of the delicate Viennese instruments would pop, or hammers would break."

Speaking on a purely personal level, I am mostly unconcerned with the amount of purple prose a writer chooses to embellish their work with - because I'm always internally stripping away the literary wrapping paper to get at the heart of the idea itself.
by eagleed | 2025-05-16 21:07:46+00:00
Money is either a hard-to-forge representation of the value of a variable in a distributed algorithm, or a claim on a share of the total output of the economy. It is a coordination tool, not "condensed time". It doesn't have any inherent value in isolation, and you can't eat it any more than you can eat political power.

What it can do is incentivize certain behavior by playing part in the distributed algorithm. But adding more tokens to the supply does not by itself make the economy produce more.
by lukev | 2025-05-16 21:08:50+00:00
One of my favorite things about the JVM ecosystem is how stable it is. A 5-year-old library will almost certainly Just Work. And Clojure very much follows the same spirit. There's a lot of great, useful libraries that haven't been updated in years... not because they've been abandoned but because they're _done_ and just don't require active maintenance.

Immutability as a cultural value, not just a data structure.