MurphyA/hacker-news huggingface dataset:
by AdamJacobMuller | 2025-05-27 19:31:46+00:00
I would perhaps argue that juniper's behavior is the preferable one.

Remember the definition of this "drop the message I think is broken" not inherently "drop the broken message," it's entirely plausible that the message is fine but you have a bug which makes you THINK it's a broken message.

There is also a huge difference between considering it a broken message and a broken session, which is what Arista did.
by toomuchtodo | 2025-05-27 19:32:55+00:00
Far too often, I find people get caught up in the idea that there is some sort of idea of "done" or "success" in these regards. This is an easy mistake to make. It's more a window or gradient, and which direction you're going over time. Most importantly is recognizing that success is possible, what the tools are at your disposal, and the leverage of those tools in descending order. After that, it's "just" time and effort, course correcting as needed.

(think in systems)
by davedx | 2025-05-27 19:33:16+00:00
I am very interested in both of these. Coming from the TypeScript world I'm really interested in the different directions (type inference or not, intersections and type narrowing...). As a Python developer I'm wearily resigned to there being 4+ python type checkers out there, all of which behave differently. How very python...

Following these projects with great interest though. At the end of the day, a good type checker should let us write code faster and more reliably, which I feel isn't yet the case with the current state of the art of type checking for python.

Good luck with the project!
by throwaway5752 | 2025-05-27 19:33:49+00:00
That sounds clever!

But buying more lottery tickets does in fact improve your odds of winning. So your comparison breaks down because it undercuts your point.

The fact that you have no a priori knowledge of what is a winning ticket is not the case with college admissions. It's actually the complete opposite! You have a great deal of prior knowledge and odds of academic success. So, the lottery is a poor comparison in that regard.

Further, the lottery will always bankrupt you because the tickets have overwhelmingly negative expected value. In the case of education, every single study on it indicates extremely positive outcomes. So in fact, adding more seats and getting more students in college, all else being equal, is likely to have a positive economic outcome. If $1 dollar lottery tickets paid out $3 on average, the more you buy, the richer you would be. So again, the lottery is a poor comparison.
by tigy32 | 2025-05-27 19:34:13+00:00
I haven't found that to be the case in my experience: just for example in java you tend to end up with essentially a lot of `Vec<Box<Thing>>` which causes a lot of fragmentation. In rust you tend to end up with `Vec<Thing>` where `Thing`s are inlined. (And replace Vec with the stack for the common case). I find it more like Java is better at solving a problem it created by making everything an object.
by rwyinuse | 2025-05-27 19:34:19+00:00
Over here in Finland, higher education is state funded, and the funding is allocated to universities mostly based on how many degrees they churn out yearly. Whether the grads actually find employment or know anything is irrelevant.

So, it's pretty hard for universities over here to maintain standards in this GenAI world, when the paying customer only cares about quantity, and not quality. I'm feeling bad for the students, not so much for foolish politicians.
Show HN: I made a free web app security platform (ex-StarCraft pro turned dev)
by theognis1002 | 2025-05-27 19:34:21+00:00
I'm an ex-StarCraft II pro who retired back in 2014 and have been developing since then.

I made a free web app security platform for vibe coders and small businesses/startups. WraithScan (https://wraithscan.com) has a double meaning... as you can guess cloaked wraiths + comsat scanning but also is a web scanner for detecting attack vectors for your web app.

Cloaked wraiths are seen as cheesy these days, right?

Anyways, it tests for the following vulnerabilities: - SQL injection - XSS - Open redirects - Exposed .env / backup files - Misconfigured CORS - Misconfigured SSL/TLS settings - Insecure headers - Insecure cookies - Directory listings - Common CVEs - and more

There's a paid tier for some graybox testing (and blackbox on the way) but still relatively cheap.

Anyways, please check it out. Open to all roasts, feedback, comments! Thank you!
by mlinhares | 2025-05-27 19:34:40+00:00
Most of the time you should be working on both, sometimes you do shallow work, sometimes you do deep work and you naturally build a deep understanding of the pieces of the stack you mostly work with.

I find it hard to believe anyone does serious development work without some deep understanding of a piece of what they work on, the folks I've met that did that didn't last multiple review cycles.
by mrguyorama | 2025-05-27 19:36:41+00:00
>It became clear that it would be impossible to create diesel engines which would comply with enviromental standards

Absolutely not "impossible" FFS, VW was cheating to avoid using a proper adblue system, which would have been perfectly sufficient. They could also have used a particulate filter and burn off scheme like some trucks but that would require significant engineering and probably doesn't work as well with a small diesel engine.

Orrrrrr they could have just done what the "cheat" mapping did: Run less lean. The entire point of cheating was to run very lean to make artificially high fuel efficiency figures. The cheat map for emissions would then run richer to kill off nox emissions.

I genuinely believe they still "cheat" somewhat. My 2018 GTI has a 2L turbo engine. The MK7 GTIs were the first to be EPA emissions rated at 89 octane gas, even though the power figures are still recorded using 91 octane gas. Previous GTI engines were EPA rated with 91 octane gas.

My tinfoil hat theory is that they run EPA tests on 89 octane so that it runs rich and reduces combustion temp, reducing nox emissions. Using higher octane fuel runs much leaner, and demonstrably produces better miles per gallon. They purposely chose to advertise a lower miles per gallon figure because, IMO, they couldn't pass emissions with the leaner burning 91 octane. Notably, low RPM (and emissions testing RPM) performance is utter garbage with 89 octane fuel, and the car becomes very stall happy, when at 91 octane it is very difficult to stall.
by mrtksn | 2025-05-27 19:36:43+00:00
What happens in US is heartbreaking. For so many years the US was the place to go if you intend to invent the next stage of humanity and it wasn't like going to a foreign country but instead US was like this magical place where everyone is welcome and everyone can become American if they have what it takes.

When the best and brightest of a county went to America it didn't feel like brain drain because whatever they do in the USA was about all the humanity. It was just this place where they invent the technology and the whole world benefits of it, so our tax money and resources weren't spent just to make US companies richer - that was a side effect. Even the aliens in the movies always arrived in US, always wanted to talk to the US president and whatever US did later was done for the whole humanity and all that felt right.

Why USA decided that they no longer want to be that place? It looks excruciatingly stupid to deny people who already got lots of investment on them to get some more investment on them in US and they cash out.

Is it possible that the decision makers believe that AI replacing human intelligence is just around the corner and they can cut off the actual intelligent people to reduce liability on race/nationality issues from MAGA supporters?
by yazantapuz | 2025-05-27 19:37:18+00:00
No, you don't write code by hand. Maybe pseudo-code, analize some given code or you have to specify the general architecture for a system. But in other courses, for example operating systems, networks, distributed systems you have to answer questions like "when udp is the right choice over tcp?", "what kind of problems are associated with pagination?", "what are vector clocks?", etc., using pen and paper.
by tibbar | 2025-05-27 19:37:27+00:00
I think the distinction here is between "I understand that X is a solution to Y", vs. "I understand that X is BASICALLY a mashup of A and B according to scheme C." A lot of times, people reach for X when they have a vaguely Y-ish problem, when that's actually inefficient or overkill, and/or you could easily validate if X would actually work by manually trying out A and B by hand.

In addition, there will be times when X cannot directly solve the version of Y you have, but there are simple ways to tweak A or B such that now you do have a solution to the problem. So you can become much, much more effective at solving Y-like problems by understand the the building blocks behind standard solutions.
by username223 | 2025-05-27 19:37:39+00:00
> Anything that combines those three capabilities will leave you open to attacks, and the attacks don't even need to be particularly sophisticated to get through.

"...don't even need to be particularly sophisticated..."

This stuff just drives me insane. How many decades will it take to mostly mitigate the "sophisticated" attacks? Having three different ways to end lines ("\n", "\r\n", and "\r") caused years of subtle bugs, and buffer overflows are still causing them, yet we're thinking about using this thing to write code? It's all so stupid and predictable...
by armchairhacker | 2025-05-27 19:37:54+00:00
I made another comment on this thread about that. Exams should be test important knowledge (not computation or trick questions) so they should be easy for students who learned the material, even those who traditionally have trouble with exams. Most of the grade should be frequent in-class assignments or long take-home projects, which test almost if not the same skills students would use professionally (e.g. debug a simulated server failure in-class; develop a small filesystem with a novel feature at home).

The in-class assignments should also be easier than the take-home projects (although not as easy as the exams). In-class assignments and exams would be more common in earlier classes, and long projects would be more common in later classes.
by blindriver | 2025-05-27 19:37:57+00:00
The problem with shallow technical knowledge and, even worse, talking with confidence like the author does, is that it can propagate misinformation and loses a ton of nuance.

For example, the author talks very confidently about indexes, and makes a few conclusions, but they aren't as correct as his confidence suggests.

> That an index is only useful if it matches the actual query your application is making. If you index on “name plus email” and then start querying on “name plus address”, your index won’t be used and you’re back to the full table scan described in (1)

Not true. If you have single column indexes on both name and email, it could use the two indexes, though not as efficient as a single two-column index. If you query "name plus email" and the index is "name, email, age" then it could use the index.

> That indexes massively speed up reads, but must slow down database writes and updates, because each change must also be made again in the index “dictionary”

Must? No. The performance might be imperceptible and not material at all. If you have a ton of indexes, sure but not if you have a reasonable amount.

Shallow technical knowledge is fine but you should also have the humility to acknowledge that when you're dispensing said shallow knowledge. It can also lead to pretty bad engineering decisions if you think your shallow knowledge is enough.
by gnabgib | 2025-05-27 19:39:01+00:00
Recent related: MinIO Guts Management Dashboard (33 points, 2 days ago, 10 comments) https://news.ycombinator.com/item?id=44088551

MinIO Community version 2.0 is going back to be an object browser only (29 points, 2 days ago, 13 comments) https://news.ycombinator.com/item?id=44093987
by bityard | 2025-05-27 19:40:13+00:00
This happened a couple decades later, but my first FOUR tech jobs came from attending a local Linux user group and networking with the people there.

I was talking to someone and explaining that I was taking classes at a local community college in preparation for computer science degree and mentioned off-hand that I might try to find some part-time Linux/BSD sysadmin work at some point. (I never fully attained the degree but also ended up not needing it.) The owner of a local IT consulting business overheard me and called me up the next day. I worked for him for a while and the next three jobs I moved to after that were all based on referrals and recommendations from people in that group.
by matthewowen | 2025-05-27 19:40:25+00:00
I live near UPenn. Some locals call the end of the academic year "Penn Christmas". I definitely see some resentment, but having made an international move in my life I have sympathy for it. You need to buy things to live, shipping that stuff when you move away is often very expensive and time consuming, so you condense your life down to a few suitcases and do the best you can.
by indrora | 2025-05-27 19:40:56+00:00
At Least In The US, there's generally two forms of tracked attrition: Regretted and Unregretted. When you say "Fuck you, I'm leaving" that's generally "regretted" -- They would have kept you, you left. When you're fired, that's generally "Unregretted" -- You have been asked to leave and your position will be filled by the next in line.

Every manager wants to see their regretted attrition relatively low: It costs 2-3x the cost of the employee to re-hire that employee... but Regretted attrition being high means something is up with the (manager, org, etc) and needs to be rectified fast.

Firing a whole org (or much of a whole org) tree for not coming back in en masse causes those harvard MBA types to scrunch their face and go "What's going on here, something smells stinky" and if you're lucky they see all their metrics go into the red.
by arandomusername | 2025-05-27 19:41:18+00:00
That's not racism. That's being factual. Nations are bound together by common traits, including ethnicity. Italian, is an ethnicity. Chinese, is an ethnicity.

Racism is denying the European indigineous people the right to their own nation. Why do Europeans have to accept importing immigrants, who, statistically, commit more violent crimes?

> Haven't been to Tokyo so I can't comment, but honestly Warsaw and Prague over Paris? Prague is cute, but it's not much of a real live city, with a bustling cultural scene. It feels a lot more like a museum for tourists. Warsaw, meh.

Way safer and way nicer cities to live in than Paris, but the latter is a personal preference I guess.

> I'll take NYC, Chicago or LA

I remember visiting Google LA's office. There were junkies shooting up at the garage entrance.

What culture is being produced? The culture of gangbangers? Culture of homeless junkies harassing people on the subway?

> The Roman Empire still stood for far longer than any modern nation state.

And they were quite heavily xenophobic too. They did start giving our citizenship more broadly - preceding it's death.
by tishj | 2025-05-27 19:41:27+00:00
One thing to add to this: Snapshots can be retained (though rewritten) even through compaction

As a consequence of compaction, when deleting the build up of many small add/delete files, in a format like Iceberg, you would lose the ability to time travel to those earlier states.

With DuckLake's ability to refer to parts of parquet files, we can preserve the ability to time travel, even after deleting the old parquet files
by kstrauser | 2025-05-27 19:42:37+00:00
There's a time and a place for each of them:

* Meta classes: You're writing Pydantic or an ORM.

* Descriptors: You're writing Pydantic or an ORM.

* Callable objects: I've used these for things like making validators you initialize with their parameters in one place, then pass them around so other functions can call them. I'd probably just use closures if at all possible now.

* object.__new__: You're writing Pydantic or an ORM.

* Name mangling: I'm fine with using _foo and __bar where appropriate. Those are nice. Don't ever, ever try to de-mangle them or I'll throw a stick at you.

* self.__dict__: You're writing Pydantic or an ORM, although if you use this as shorthand for "doing things that need introspection", that's a useful skill and not deep wizardry.

Basically, you won't need those things 99.99% of the time. If you think you do, you probably don't. If you're absolutely certain you do, you might. It's still good and important to understand what they are, though. Even if you never write them yourself, at some point you're going to want to figure out why some dependency isn't working the way you expected, and you'll need to read and know what it's doing.
by nickpsecurity | 2025-05-27 19:42:55+00:00
People have complained Nvidia dominates the market. Many were looking at their older GPU's for cheap experimentation. One idea I had was just using OpenCL to use all the cross-platform support it has. Even some FPGA's support it.

Good to see GPT-2 done with shader programming. A port of the techniques used in smaller models, like TinyLlama or Gemma-2B, might lead to more experimentation with older or cheaper hardware [on-site].
by moritzwarhier | 2025-05-27 19:43:55+00:00
It happens when you don't think about it.

Practising Bach's music certainly helps.

But yes, just letting it flow and paying attention without trying to learn or remember anything, is probably the best answer.

It's like an orchestra (or the different sections of one), the melodies are written to fit together perfectly.

There are many almost "poppy" feeling fugues in the Well-tempered clavier with four voices.

In comparison, The Art of Fugue feels more academic and dry to me personally. I still like it, but don't feel as connected to it in as to many of his other works.

Tangent ahead: even good pop songs require melodies that are more than just homophonic. Best example in rock, pop, disco for this are good bass lines I think.

Incidentally, "bass lines" are also an important fixture in the history of baroque music.

I'm not preaching here, I'm not good at music theory or playing music. But I think many pop songs also follow counterpoint rules, at least to a degree. There are also varying degrees of strictness regarding these rules in Bach's music.

It doesn't need to be an academic puzzle as many make it out to be, I think the intent was to formalize how to write good music for multiple voices.

All that said ... you are still right :D

But it's even more impressive the way solo keyboard artists can articulate these voices.

Not to mention the organists.
by tibbar | 2025-05-27 19:45:31+00:00
> Not true. If you have single column indexes on both name and email, it could use the two indexes, though not as efficient as a single two-column index. If you query "name plus email" and the index is "name, email, age" then it could use the index.

See, there are databases that implement clever optimizations like this, but those are going to vary widely by database and you would need some domain expertise with that system to know if such optimizations are working. By contrast, this mental model does help you ensure that you can create indexes that are actually helpful in the vast majority of databases.

So I think the author's mental model is working out pretty well for him here, honestly.
by rwyinuse | 2025-05-27 19:45:33+00:00
Yep, it's a job market problem. Only degrees that are somehow limited in their supply will continue to hold value, the rest approach worthlessness. Neither the state nor universities have any interest to limit the supply.

In my country doctors earn huge salaries and have 100% job security, because their powerful interest groups have successfully lobbied to limit the number of grads below job market's demand. Other degrees don't come even close.
by flyingbuilding | 2025-05-27 19:46:37+00:00
I've been reflecting lately on the inevitable fork that every software engineer eventually faces—going deeper technically (towards Staff+ roles) or moving into people management (Engineering Manager).

Many developers I talk to never planned to manage people; leadership quietly crept in through experience and context. Suddenly, you're guiding colleagues, shaping decisions, and becoming responsible for more than just code.

This isn’t about one path being superior; it's about knowing yourself and what genuinely energises you. I just shared a detailed reflection on this critical decision point here: [link]

HN folks: What has your experience been? Did you choose a path intentionally, or did it choose you?
by ikomrad | 2025-05-27 19:47:38+00:00
I tried readeck and missed being able to download pages for offline storage. Also , the interface is confuse as when you mark and article as “read” , it still appears in the “unread” view. You have to archive a page to remove it from Unread.

The dev knows about it, but hasn’t fixed it yet.

The app was easy on install and it looks nice, but it needs some work.
by heyhuy | 2025-05-27 19:50:06+00:00
> and it felt "hacky"

I think the pattern that coined "RAG" is outdated, that pattern being relying on cosine similarities against an index. It was a stop gap for the 4K token window era. For AI copilots, I love Claude Code, Cline's approach of just following imports and dependencies naturally. Land on a file and let it traverse.

No more crossing your fingers with match consign and hoping your reranker did drop a critical piece.
by acc_297 | 2025-05-27 19:50:16+00:00
It really depends, many workers actually hold better cards than their employers. Outside of fortune 500 economy-driving institutions like Amazon or JP Morgan there are smaller companies with "lynchpin" employees or teams with the practical authority to set the terms of their contract within reason. RTO is almost never mission critical and it can come with a very high cost measured in lost institutional knowledge.
by gwd | 2025-05-27 19:50:23+00:00
That's a failure of the joke not to set it up -- one of the "top corners" of the square is missing. Chickens normally don't make an effort to get to the "other side" (as far as we're aware anyway).

To make the square you'd have to do something where the context of "the other side" means past life into death. e.g., "Why did the spiritualist put his ear towards the road? To hear from the other side."
by Balgair | 2025-05-27 19:50:28+00:00
Gosh, I'm so myopic here. I'm mostly talking about US based systems.

But, of course, LLMs are affecting the whole world.

Yeah, I'd love to hear more about how other countries are affected by this tool. For Finland, I'd imagine that the feedback loop is the voters, but that's a bit too long and the incentives and desires of the voting public get a bit too condensed into a few choice to matter [0].

What are you seeing out there as to how students feel about LLMs?

[0] funnily enough, like how the nodes in the neural net of an LLM get too saturated if they don't have enough parameters.
by surgical_fire | 2025-05-27 19:50:28+00:00
Those are very good points.

I am finding LLMs useful for coding in that it can do a lot of heavy lifting for me, and then I jump in and do some finishing touches.

It is also sort of decent at reviewing my code and suggesting improvements, writing unit tests etc.

Hidden in all that is I have to describe all of those things, in detail, for the LLM to do a decent job. I can of course do a "Write unit tests for me", but I notice it does a much better job if I describe what are the test cases, and even how I want things tested.