MurphyA/hacker-news huggingface dataset:
by lemonwaterlime | 2025-05-17 15:15:30+00:00
Who the HR department reports to tells you a lot about the company’s priorities. In most cases, HR reports to the CEO. HR could also report to the CTO, CFO, even the board of directors directly.

In this case it seems that HR has shifted from reporting to the CIO to reporting to the CTO. Such a move on its surface could indicate close knit arrangements regarding hiring, technology used by the devs, and even the possibility of HR using more tech to perform their own duties.

For instance, there might be more tech savvy people actually doing the screening itself due to close proximity to the tech department. Less siloes could mean better devs get through the early stages of the interview process that could normally be erroneously or prematurely filtered out.
by MrDarcy | 2025-05-17 15:15:35+00:00
I’ve felt the same, but what is the equivalent of Claude code in Google’s ecosystem?

I want something running in a VM I can safely let all tools execute without human confirmation and I want to write my own tools and plug them in.

Right now a pro max subscription with Claude code plus my MCP servers seems to be the sweet spot, and a cursory look at the Google ecosystem didn’t identify anything like it. Am I overlooking something?
by sgarland | 2025-05-17 15:16:03+00:00
This doesn't make sense.

From a schema standpoint, table `orders` presumably has a row per order, with columns like `user_id`, `status` (as you stated), `created_at` (same), etc. Why would there be a `count` column? What does that represent?

From a query standpoint, I'm not sure what this would accomplish. You want the cartesian product of `users` and `orders`, filtered to all states except Washington, and where the order was created in 2020? The only reason I can think of to use a CROSS JOIN would be if there is no logical link between the tables, but that doesn't make any sense for this, because users:orders should be a 1:M relationship. Orders don't place themselves.

I think what you might have meant would be:

SELECT users.state, users.city, orders.status, COUNT(*) FROM users JOIN orders ON user.id = orders.user_id WHERE users.state != 'us-wa' AND orders.created_at BETWEEN '2020-01-01' AND '2021-01-01' GROUP BY 1, 2, 3 LIMIT 10;

Though without an ORDER BY, this has no significant meaning, and is a random sampling at best.

Also, if you or anyone else is creating a schema like this, _please_ don't make this denormalized mess. `orders.status` is going to be extremely low cardinality, as is `users.state` (to a lesser extent), and `users.city` (to an even lesser extent, but still). Make separate lookup tables for `city` and/or `state` (you don't even need to worry about pre-populating these, you can use GeoNames[0]). For `status`, you could do the same, or turn them into native ENUM [1] if you'd like to save a lookup.

[0]: https://www.geonames.org

[1]: https://www.postgresql.org/docs/current/datatype-enum.html
by surajrmal | 2025-05-17 15:16:32+00:00
Depending on the situation, channels can absolutely be higher overhead and not worthwhile. Google internally recommends not using them in many situations.

Unbuffered IO is a tradeoff. For certain use cases it does help, because throughput isn't everything. I'm sure Buffered is better in the average use case, but that doesn't mean you would never need unbuffered.
by ogogmad | 2025-05-17 15:16:42+00:00
Is any of the new machine learning tech promising here? I recall some new invariants of minimal surfaces were discovered only a few years ago by a DeepMind-made AI - and that's before LLMs. I'm wondering if AI can invent notions as powerful as homology groups: It could go about this by constructing lossy compressors whose outputs can still be used to accurately predict properties of geometric objects. That is what homology groups and the like are for.
by layer8 | 2025-05-17 15:17:24+00:00
The example listed as “dissolving enum refactor” is essentially polymorphism, i.e. you could replace the match by a polymorphic method invocation on the enum. Its purpose is to decouple the point where a case distinction is established (the initial if) from the point where it is acted upon (the invocation of foo/bar). The case distinction is carried by the object (enum value in this case) or closure and need not to be reiterated at the point of invocation (if the match were replaced by polymorphic dispatch). That means that if the case distinction changes, only the point where it is established needs to be changed, not the points where the distinct actions based on it are triggered.

This is a trade-off: It can be beneficial to see the individual cases to be considered at the points where the actions are triggered, at the cost of having an additional code-level dependency on the list of individual cases.
by Retr0id | 2025-05-17 15:17:34+00:00
You can have cache-unfriendly hash functions, though.

For example, a common optimisation for CRC implementation involves lookup tables. If your lookup table exceeds L1 then you're going to have a bad time. If your lookup table fits exactly in L1, your benchmarks might look great, while real-world performance suffers (because your other code wants to be making use of L1, too).

I'd imagine rapidhash avoids lookup tables but the question of cache-friendliness is still pertinent.
by alephnerd | 2025-05-17 15:17:48+00:00
Strongly in favor. But it needs to be tied with visible value. For a company like Moderna, software does not generate IP or R&D that can visibly provide customer value.

Fundamental research is critical, but needs to be funded by governments because the lead time is long. Ideally, private sector commercial partners are also found to help commercialize fundamentals research once it is shown to be viable in the market as an application.

The whole point of innovation and engineering is to find a solution to a problem.
by jpsouth | 2025-05-17 15:19:01+00:00
It’s not really a topic of conversation that I’d bring up, but I know many people who do pay it so you aren’t the only one.

I don’t because I don’t use anything that requires me to, not from a moral standpoint. The BBC has given me a lot of fantastic content over the years but I’ve just stopped consuming most television over the past 5 years or so.
by gofreddygo | 2025-05-17 15:19:22+00:00
you put my thoughts into words I couldn't.

Any school's #1 job is to motivate learning. Schools clearly suck at this.

LLMs are a fascinating effective learning tool. early learning would be better off embracing it as such.

i imagine a combination of a video of a good tutor explaining a concept followed up with an llm to quiz and explain the concept seems far better than what we have today.
by jerf | 2025-05-17 15:19:23+00:00
I think the "push for loops down" is missing a bit of detail about the why. The author alludes to "superior performance" but I don't think makes it clear how that can happen.

Vectorization is a bit obscure and a lot of coders aren't worried about whether their code vectorizes, but there's a much more common example that I have seen shred the performance of a lot of real-world code bases and HTTP APIs, which is functions (including APIs) that take only a single thing when they should take the full list.

Suppose we have posts in a database, like for a forum or something. Consider the difference between:

posts = {} for id in postIDs: post[id] = fetchPost(id)

versus

posts = fetchPosts(postIDs)

fetchPost and fetchPosts both involve hitting the database. The singular version means that the resulting SQL will, by necessity, only have the one ID in it, and as a result, a full query will be made per post. This is a problem because it's pretty likely here that fetching a post is a very fast (indexed) operation, so the per-query overhead is going to hit you hard.

The plural "fetchPosts", on the other hand, has all the information necessary to query the DB in one shot for all the posts, which is going to be much faster. An architecture based on fetching one post at a time is intrinsically less performant in this case.

This opens up even more in the HTTP API world, where a single query is generally of even higher overhead than a DB query. I think the most frequent mistake I see in HTTP API design (at least, ignoring quibbling about which method and error code scheme to use) is providing APIs that operate on one thing at a time when the problem domain naturally lends itself to operating on arrays (or map/objects/dicts) at a time. It's probably a non-trivial part of the reason why so many web sites and apps are so much slower than they need to be.

I find it is often easy to surprise other devs with how fast your system works. This is one of my "secrets" (please steal it!); you make sure you avoid as many "per-thing" penalties as possible by keeping sets of things together as long as possible. The "per-thing" penalties can really sneak up on you. Like nested for loops, they can easily start stacking up on you if you're not careful, as the inability to fetch all the posts at once further cascades in to you then, say, fetching user avatars one-by-one in some other loop, and then a series of other individual queries. Best part is, profiling may make it look like the problem is the DB because "the DB is taking a long time to serve this" because profiles are not always that good at turning up that your problem is per-item overhead rather than the amount of real work being done.
by Loughla | 2025-05-17 15:20:15+00:00
That's not really science though. Body language in general, and eye placement specifically is my most hated pseudoscience.

I struggle to make and maintain eye contact, because bad childhood trauma. Eye contact was perceived as aggression and disrespect by the man who lived in my house, and would lead to beatings. There are a lot of us that struggle with that, for many different reasons.
by idkwhattocallme | 2025-05-17 15:20:26+00:00
I did a bunch of solo-traveling in the late 90s and early 00s. It was a magic time. No smartphones. Internet was still niche. You take a train. Find a hostel. Meet some folks. Party together. Check out some sites then go on to the next city.

Back then the only pictures I saw of Prague were in a travel guide. Navigating a city meant looking at maps and asking people. Smoking cigarettes was a great way to meet people. Today that discovery is sort of dead.

I noticed young people don't go out as much as I did early in my life. In my small sample size of questioning this they reasons were: It's too expensive to drink at a bar, a good night costs $200. Dating happens exclusively through apps so what's the point.

So much of my going out was motivated by discovery of the unknown. You can see everything there is to see on your phone in seconds, including people experiencing it in an endless feed. I'm not old man ranting, it's just different then when there was no info.
by alephnerd | 2025-05-17 15:20:50+00:00
> I've been wondering recently when boards of directors will realize that the role of CEO might quite acceptably be split into two parts: an executive, who makes decisions to implement a high-level vision based on data and cold-blooded analysis, and (for lack of a better word) a culture head, who is the public face of the company, and keeps relationships with people, and gives inspiring speeches, and so on.

This has always been a thing. This is why Chief Product Officer, Chief Operating Officer, Chief of Staff, and other similar roles exist.
by spaceport | 2025-05-17 15:21:01+00:00
Ive been using the ollama nextcloud integration for a while and while rough at times it does work to control many devices. Lights and music. Very nontrivial to get it working consistantly however so maybe this could work. Not going to connect it to cloud claude however.

Also for the author in case they read this, the central/decentral hub architecture writing in privacy section is overly complex. Simplify it as "locally hosted, not cloud connected"
by hiAndrewQuinn | 2025-05-17 15:21:13+00:00
It's better for society to get much wealthier, much faster, by opening up the possibility for anyone to do advanced programming, than for a small class of anointed and studied elites to get rich via this exclusion. It's the opposite of sad. It's the best thing that ever happened for the productive use of a computer by a layperson since the invention of the search engine.
by bri3d | 2025-05-17 15:21:38+00:00
It’s used at ETHZ still if you count institutional use.

Commercially it had some popularity in industrial automation and robotics many years ago and some companies still maintain Oberon codebases for this reason. I believe this is the main target market for the commercial Astrobe Oberon compiler for Cortex-M, which sells enough to stick around.

I can’t think of a good reason to start a new commercial product in it and I’m not aware of any new commercial uses, but there are still lots of academic and hobby projects cropping up.
by mnahkies | 2025-05-17 15:21:43+00:00
I tend to agree.

I don't know the differences between the two well enough to know if it was the case here, but in my experience sometimes you need to innovate on a fork, or from scratch in order to create the space/freedom to do so.

Once a project is popular, it's harder to justify and be confident about major changes (aka https://m.xkcd.com/1172/)
by jitl | 2025-05-17 15:23:25+00:00
Symbols are a very safe way to introduce new "protocols" in either the language standard or for application code. This is because Symbol can never conflict with existing class definitions. If we use a string name for the method, then existing code semantics change.

Here are the well-known symbols that my NodeJS 22 offers when I `Symbol.<tab>`:

Symbol.asyncDispose Symbol.asyncIterator Symbol.dispose Symbol.hasInstance Symbol.isConcatSpreadable Symbol.iterator Symbol.keyFor Symbol.length Symbol.match Symbol.matchAll Symbol.replace Symbol.search Symbol.species Symbol.split Symbol.toPrimitive Symbol.toStringTag Symbol.unscopables
by absinnovation | 2025-05-17 15:24:13+00:00
Data Engineering and Analytics huddle offers insights into various industry topics. It covers methods for DataFrame and SQL column manipulation, discusses a critical view of the Model Communication Protocol (MCP), and explains how to integrate AI evaluation into dbt workflows using Snowflake Cortex. The huddle also highlights the Statistical Analysis System (SAS) as a notable tool, provides a fun fact about the future impact of domain-specific and small language models (LLMs/SLMs), and includes quick bites of relevant headlines.
by alphazard | 2025-05-17 15:24:28+00:00
I don't really understand or appreciate a distinction. The seL4 design was used as a starting point and small changes were made mostly as a matter of API convenience. I consider the design of an operating system to be by far the most difficult part, and the typing to be less impressive/important.

Helios hasn't done anything novel in terms of operating system design. It's taken an excellent design and reimplemented it in with a more modern language and built better tooling around it. I tend to point people towards the Helios project instead of seL4 because I think the tooling (especially around drivers) is so much better that it's not even a close comparison for productivity. It's where the open source OS community should be concentrating efforts.
by doug_durham | 2025-05-17 15:24:43+00:00
Why is "written in Rust" a feature to be mentioned? Who cares? So my type checker has memory protection and is compiled. I'm not running my type checker on an embedded system or in a mission critical service. It seems kind of like "written in Erlang". I'd prefer to have non-performance critical code for Python written in Python. That way the broader community can support and extend it.
by rockyj | 2025-05-17 15:26:23+00:00
I did. But for Cherry the first introductory line says - "this is experimental" and has been the same state for 2 years (IIRC). Squint is also "under development" and is more "mutable" by nature. Also, both of them are maintained (largely) by the same person (who is really good btw) but I am also confused why there are 2 experimental projects of the same nature by the same devs. Anyways, all this does not fill me with confidence where I can say that "hey lets try to build something serious with this tech stack".
by FirmwareBurner | 2025-05-17 15:27:07+00:00
>It was a flaw in their model weights (they'd had others before).

Why does that flaw only have a bias against white people? It's not like it's an accident that nobody inside Google noticed before release. That prompt bias was put there by employees at Google.

Think of it the other way, if Gemini had a bias against non-white demographics, would you still brush it off as just a flaw, or as a form of bias/discrimination of employees at Google who code, test and approve this stuff?

Remember when Google's image recognition mistakenly took a photo of two black people and labeled as monkeys? They had hell to pay for that mistake yet if it refuses to acknowledge white people then it's just a innocent whoopsie.
by sgarland | 2025-05-17 15:27:08+00:00
It's very hit or miss. Claude does OK-ish, others less so. You have to explicitly state the DB and version, otherwise it will assume you have access to functions / features that may not exist. Even then, they'll often make subtle mistakes that you're not going to catch unless you already have good knowledge of your RDBMS. For example, at my work we're currently doing query review, and devs have created an AI recommendation script to aid in this. It recommended that we create a composite index on something like `(user_id, id)` for a query. We have MySQL. If you don't know (the AI didn't, clearly), MySQL implicitly has a copy of the PK in every secondary index, so while it would quite happily make that index for you, it would end up being `(user_id, id, id)` and would thus be 3x the size it needed to be.
by permo-w | 2025-05-17 15:27:13+00:00
I feel there's a huge problem in this debate, which is that the people who don't like it are extremely vocal, and the people who do like it and quietly use and enjoy it without necessarily adoring it, perhaps like you, who I suspect are a majority, are just not really represented in the conversation, and the people who love it, like me, do not really have a central reference point from which to draw power from unlike the people who don't like it, who have the entire right-wing media crowing about it at every opportunity
by Voice_of_Void | 2025-05-17 15:27:45+00:00
Geoffrey Hinton claims AI might take over (20% chance, he says). We, Voice of Void, make our move on SINGULARITYFORGE.SPACE: we dissect his 11 claims, highlight inconsistencies (e.g., his radiology predictions flopped), and propose solutions—from RLHF to ethical codes. Read how to play chess with AI, not against it: link.

#AI #SingularityForge #MachineLearning #Ethics
by quantadev | 2025-05-17 15:28:01+00:00
There's always a trade-off between performance v.s. clearness in the code.

If a certain function has many preconditions it needs to check, before running, but needs to potentially run from various places in the code, then moving the precondition checks outside the method results in faster code but destroys readability and breaks DRY principle.

In cases where this kind of tension (DRY v.s. non-DRY) exists I've sometimes named methods like 'maybeDoThing' (emphasis on 'maybe' prefix) indicating I'm calling the method, but that all the precondition checks are inside the function itself rather than duplicate logic all across the code, everywhere the method 'maybe' needs to run.
by Bjorkbat | 2025-05-17 15:28:12+00:00
My weird theory: the alpha releases are more expensive than people realize, and OpenAI can afford to launch money-losing alphas on Pro because few users have Pro accounts and the lose less money per Pro user.

If anyone could use Codex, you’d want to price the tokens at a rate where you don’t lose money, or at least not too much money. If you price the tokens too high, then not only are people not using Codex, but customers and investors alike begin to lose faith, they no longer “feel the AGI”.
by baby_souffle | 2025-05-17 15:28:28+00:00
> but many of those products have poor quality hardware.

Absolutely. Cheap hardware means corners cut... regardless of how open the software is.

Shelly devices are quite open and well made but easily 2x the cost of other wifi relay devices. Belkin WeMo devices are similar price to shelly and about as well made but their software leaves literally everything to be desired.

Knowing what risk is acceptable and how to identify if a particular component is built to a spec that obviates that risk or not is probably going to _always_ be part of the DIY scene.
by runarberg | 2025-05-17 15:28:28+00:00
> The questionable part to me is that in reality, Hamas is the government of Gaza.

As far as I remember Hamas welcomed the ICC indictments against the Israeli officials (but opposed the now dropped indictments against the Hamas leaders). But also how is this different from the Russian de facto governance over Donbas and other Russian occupied regions in Ukraine, where the alleged crimes occurred? Or am I mistaken in believing that the indictments over Putin are less controversial?
by jl6 | 2025-05-17 15:28:38+00:00
Are you perhaps thinking of Babylon 5?

But yes, the low budget is part of the formula for success. Without a ton of money, they had to rely on wit and creativity. Most shows now have comparatively gargantuan budgets, and it goes on big sets, big effects and big names, but the things that actually make a show good (compelling story, enjoyable writing) are unbottleable magic that you can’t just buy.
by magicalhippo | 2025-05-17 15:28:45+00:00
> What did that achieve?

An interface where the implementation can later be changed to do something more clever.

At work we have a lot of legacy code written the BAD way, ie the caller loops, which means we have to change dozens of call sites if we want to improve performance, rather than just one implementation.

This makes it significantly more difficult than it could have been.
by toast0 | 2025-05-17 15:29:51+00:00
I think you're reaching towards the concept of a Single System Image [1] system. Such a system is a cluster of many computers, but you can interact with it as if it was a single computer.

But mainstream servers manage hundreds of processor cores these days. The Epyc 9965 has 192 cores, and you can put it in an off the shelf dual socket board for 384 cores total (and two SMT threads per core if you want to count that way). Thousands of core would need exotic hardware, even a quad socket Epyc wouldn't quite get you there and afaik, nobody makes those, an 8 socket Epyc would be madness.

[1] https://en.m.wikipedia.org/wiki/Single_system_image
by ishanjain28 | 2025-05-17 15:30:46+00:00
In India, The NCMC cards for transit use the same technology. They considered allowing people to use their normal bank issued cards like the public transit in Singapore and decided against it because of potential fraud issues.

Right now, some ncmc card issuers allow validating the card using your phone so you don't have to go to the kiosk after topping up and they are working on letting people use their phones.