MurphyA/hacker-news huggingface dataset:
by namibj | 2025-09-03 04:03:51+00:00
Both reasons together :D

But yeah you can snatch traversal statistics from your index accesses as you're executing and if those hit planner-provided thresholds you go do what the planner said to do/check in case of that specific trigger, then feed your statistics and the extra queried info to the planner to get your plan adjusted.

Doing this without creating unpredictable performance bugs let alone any correctness bugs is going to be hard, though. Even more when you consider it also has to be fast because otherwise it wouldn't be worth using.

You may want to check WCOJ technology where you can run a multi-way-join with cardinalities being of a "could well be >10, don't know and even if it'll vary across data/keys"-nature:

1. You index all data as needed for perfect index lookup joins on ANY non-stupid join ordering that query could be run as. 2. You prepare separate indices that tell you the number of values your single-key lookup join would return, for each key, for each such possible index lookup join included in (1). 3. For querying you start with a key or key range that could be fed to an index from (1) and then for each tuple at each step between individual joins you ask the candidate indices of (2) which one would thus be the cheapest to expand with, use the selected index of (1) (as told by the fine-grained cardinality counts of (2)) to expand your tuple, then choose the next relation to expand with.

If you ever have a choice where you know the cardinality of a key in (1) is always 0 or 1, you don't need an index of (2) for that index of (1) and you will always greedily apply those, preferring those that have a higher chance of killing the currently evaluating partial tuple from propagation through further indices.

That alone btw. is sufficient to get the worst case optimal runtime of triangle listing/counting in arbitrary edge lists of O(n^(3/2)) (incidentally equal to the maximum possible number of triangles) instead of the naive/classic O(n^2). n being the number of edges.

Constants here for the triangle case are on the order of 10~50 depending on how hard you want to argue vectorizing and using flat array "columnar" data structures instead of in-memory structures that allow incremental updating without brute force rebuilding from scratch at every change. E.g. supporting adding (but not deleting) edges and efficiently getting updated results is something that doesn't fit the most aggressive performance optimizations that would give the ~50 constant factor vs. a "mere" ~10 when you want to support incremental updates.

(At constant=10 break even would be at n=100; at constant=50 break-even would be at n=2500; IMO it's therefore quite relevant in many practical situations with how quick those asymptotes hit results/benefits.)
by adastra22 | 2025-09-03 04:04:59+00:00
Works for me. Not vanilla Claude code though- you need to put some work into generating slash commands and workflows that keep it on task and catch the bad stuff.

Take this for example: https://www.reddit.com/r/ClaudeAI/comments/1m7zlot/how_planm...

This trick is just the basic stuff, but it works really well. You can add on and customize from there. I have a “/task” slash command that will run a full development cycle with agents generating code, many more (12-20) agent critics analyzing the unstaged work, all orchestrated by a planning agent that breaks the complex task into small atomic steps.

The first stage of this project (generating the plan) is interactive. It can then go off and make 10kLOC code spread over a dozen commits and the quality is good enough to ship, most of the time. If it goes off the rails, keep the plan document but nuke the commits and restart. On the Claude MAX plan this costs nothing.

This is how I do all my development now. I spend my time diagnosing agent failures and fixing my workflows, not guiding the agent anymore (other than the initial plan document).

I still review every line of code before pushing changes.
by AndyKelley | 2025-09-03 04:05:42+00:00
Hello, I am the author of the post.

The expenses listed here are accounting for 100% of the expenses paid by the organization. If you go fetch the 990 from the IRS and look at the totals, it will match dollar-for-dollar, cent-for-cent. So if I deleted taxes from this report, you would hopefully all be wondering, where did that $13,089.07 go?

Happy to answer any other questions.

Edit: I see the question is about income tax vs payroll tax categorization. As this isn't my area of expertise and it's getting late, I'll wait until tomorrow to check carefully and make any necessary clarifications.
by senecaso | 2025-09-03 04:08:20+00:00
Why don't sites just start publishing a dump of their site that crawlers could pull instead? I realize that won't work for dynamic content, but surely a lot of these "small" sites that are out there which are currently getting hammered, are not purely dynamic content?

Maybe we could just publish a dump, in a standard format (WARC?), at a well-known address, and have the crawlers check there? The content could be regularly updated, and use an etag/etc so that crawlers know when its been updated.

I suspect that even some dynamic sites could essentially snapshot themselves periodically, maybe once every few hours, and put it up for download to satiate these crawlers while keeping the bulk of the serving capacity for actual humans.
by TkTech | 2025-09-03 04:08:20+00:00
Been awhile since I employed anyone in America (that whole "we're going to annex you" thing) but if I had to hazard a guess, it's the company's portion of their FICA taxes? The company withholds the employee portion to remit to the IRS, then matches it dollar to dollar. If the company is structured so that Andrew is self-employed, it'd be SECA instead and you can count that portion as a business expense.
by dragontamer | 2025-09-03 04:09:00+00:00
There's many ways CPU utilization fails to work as expected.

I didn't expect an article on this style. I was expecting the normal Linux/Windows utilization but wtf it's all RAM bottlenecked and the CPU is actually quiet and possibly down clocking thing.

CPU Utilization is only how many cores are given threads to run by the OS (be it Windows or Linux). Those threads could be 100% blocked on memcpy but that's still CPU utilization.

-------

Hyperthreads help: if one thread is truly CPU bound (or even more specifically: AVX / Vector unit bound), while a 2nd thread is hyperthreaded together that's memcpy / RAM bound, you'll magically get more performance due to higher utilization of resources. (Load/store units are separate from AVX compute units).

In any case, this is a perennial subject with always new discoveries about how CPU Utilization is far less intuitive than many think. Still kinda fun to learn about new perspectives on this matter in any case.
by hervature | 2025-09-03 04:09:39+00:00
At a very high level, revenues enter your bank account and expenses leave your bank account. In this case, you are getting confused about the taxes. There is employee compensation (which the business will withhold taxes on behalf of the individual) and then payroll taxes (which the employee is not responsible for). In essence, "their taxes" is not the correct classification. The business pays the employee (and facilitates the tax collection) and also pays the tax the business owes.
by dang | 2025-09-03 04:09:44+00:00
I'm not sure I understand the criticism here, but let me try to address what I think you (might?) mean, and I hope it doesn't come across as shaking a finger!

You're right that the bar is higher for Launch HNs (I wrote about this here: https://news.ycombinator.com/item?id=39633270) - but it's not uncommon for a startup to have a working product and real customers and yet have a home page that just says "book a call".

For some early-stage startups it makes sense to focus on iterating rapidly based on feedback from a few customers, and to defer building what used to be called the "whole product" (including self-serve features, a complete website, etc.) until later. It's simply about prioritizing higher-risk things and deferring lower-risk things.

I believe this is especially true for enterprise products, since deployment, onboarding, etc. are more complex and require personal interaction (at least in the early stages).

In such cases, a Launch HN still makes sense when the startup is real, the product is real, and there are real customers. But since the product can't be tried out publicly, I tell the founders they need a good demo video, and I usually tell them to add to their text an explanation of why the product isn't publicly available yet, as well as an invitation to contact them if people want to know more or might want to be an early adopter. (You'll notice that both of those things are present in the text above!)
by peeters | 2025-09-03 04:09:52+00:00
Yeah Taskmaster (which I adore) came to my mind too. I think it's more common when the food in question is an animal product, but still it just seems a bit contrived when behind the scenes the catering company is probably chucking tons of food the talent didn't feel like eating on a given day anyway.

It's entertainment, it has an environmental cost, sometimes a big cost. I don't think you need to signal that it's unacceptable for that cost to be paid solely for entertainment's sake. What's the difference between some food waste and burning fuel to drive a boulder out of town for a laugh.
by vel0city | 2025-09-03 04:10:36+00:00
Once again, the person I was replying to was talking about the maintenance notification on their car. Not some ad for satellite radio or some other thing, a maintenance notification. It's scheduled to go off at the scheduled maintenance interval. It's not an ad. Any knowledgeable individual can clear it if they did their maintenance by the book. It's a reminder to go look at the book and do the scheduled maintenance or pay someone else to do it for you, whether that be the dealer or any other knowledgeable shop. Having it continue to go off indicates one didn't bother doing the scheduled maintenance on it. They're continuing to operate their car probably in public spaces while ignoring the maintenance.
by nchmy | 2025-09-03 04:10:42+00:00
HAH! I have been happily using your grinder for a decade (When I clicked on your link, Amazon tells me I bought it on July 30, 2015). Last week, I realized it is just way too worn down to be useful. I see no reason why I wont buy the same one again.

Pro tip: stick your drill/electric screwdriver to it and now you have a $200 motorized grinder. Been doing that for a decade. I use the same drill to roast my own beans in a homemade "wobble disk" roaster (look it up on youtube, if you care). I also use the drill with a whisk, and many other things.
by glxxyz | 2025-09-03 04:12:45+00:00
I switched to Dvorak about 27 years ago. And I switched back to Qwerty about 26.75 years ago. I got to the point where I could comfortably touch-type in Dvorak to about the same speed as I could Qwerty. While Dvorak was a slightly better layout ergonomically, it wasn't good enough to justify the frustration of switching to a computer that I didn't own at work. I've heard that some people can switch easily and touch-type on both layouts, but I couldn't.
by ankit219 | 2025-09-03 04:14:13+00:00
The problem for the judge seems to be that there is no alternative at this point. No other company can bid for or credibly pay Apple/Mozilla as much as Google did. Apple testified they would spend less on innovation if the payment goes away, Mozilla said they wont survive. So the alternative for the judge is to create a market in the next five years where people invest in search, there are more credible products that come up, and are competitive enough to justify the placement bids (ending dependency on google).

The nuclear option was DDG's hope. Google should share their entire data, so DDG can offer the same product without having to build out the thing themselves. The judge correctly identified (imo) where this sharing of index and search results would have meant a bunch of white labeled wrappers selling Google search and would have no incentive to innovate themselves in the short term. Somehow, DDG did not see that happening. At that goal, it's a great ruling, well considered.
by rayiner | 2025-09-03 04:14:37+00:00
The fact that the cartels are better funded, better trained, and better connected than terrorist organizations is a reason to treat them as quasi-state actors rather than merely criminals.

And I agree the U.S. isn’t the world police. But the cartels are having negative effects in the U.S., not only in Latin America. And it’s not just drugs. They are involved in human trafficking on the border, and have expanded into other areas like supplying illegal construction labor.
by joecool1029 | 2025-09-03 04:14:43+00:00
> Most of the devices also have a custom ROM and are rooted, and using the ACCA app I restrict charging to a maximum of 80% battery capacity.

I used this method too but then LineageOS merged the functionality in a few years ago and it works perfect.

I have a Nokia 6.1 as well but my oldest continuous use device is a Oneplus 8T used to provide hotspot to a location 24/7/365.
by hinkley | 2025-09-03 04:16:15+00:00
Meanwhile, I've been looking for a while and if they want a full stack or a FE developer it's always, always React. Rarely if ever Angular, occasionally Vue or Svelte, and never Phoenix.

I recall back in the day when Struts was everywhere, some of us figured out it was because Struts was a trap that took twice as many devs to get anything done, and that's why there are so many openings for it. Every time I look at React, I just wonder if it is the new Struts.

The old Angular apps I worked on (heck that was before AngularJS and Angular split) was pretty decent. Long argument lists were a big problem, sure, but the whole Service layer was one of the smartest features I've seen in a framework in a while. Second only to Routes. It saved us leaking a bunch of impedance mismatches across the entire codebase. It gave us some place to stash code while we asked the backend team to change their APIs.
by bruce511 | 2025-09-03 04:18:45+00:00
To understand "generational" behavior it's helpful to understand the prevailing conditions at the time.

Obviously these become somewhat sweeping generalizations but they largely hold.

A concern either waste directly correlates to abundance. Countries with historical (ie post war) food insecurity treat food like it is precious. Even if it has since become abundant.

People who grow up with financial insecurity spend money very carefully, even if they now earn plenty.

These attitudes span generations. The attitude of parents often gets taught to children. Although in some cases a generation will "flip".

For example, the post war boom in births lead to a generation that had to compete for infrastructure all the time. There were limited school places, jobs, promotions etc. "Winning" became the driving force. Winners got rewarded, losers got left behind.

Their children (x-gen) refused to play the game. They prioritized family over work. They handed out trophies for "participation". They talk about "work / life" balance.

Each of us is a product of our upbringing. Some things we carry forward as important values. Others we actively discard as unwanted mistakes our parents made.

On the upside our kids will do the same.
by bawolff | 2025-09-03 04:18:51+00:00
> You are not engaging with OP's argument

You're making a different argument then the person I am responding to.

The person I am responding to only said: "Hardly a democracy when it occupies Palestine, and Palestinians can't vote in Israeli elections." [Presumably they meant citizens of Palestine here, since Israeli citizens living in Israel who are ethically palestinian can vote]

Simply put, that is an unreasonable criticism as Israel is simply following international law. Other countries do the same. If they did not do this they likely would recieve criticism. People who don't like it should encourage the international community to change international law.

That doesn't mean that every possible criticism of Israel is unreasonable (in fact there are many reasonable criticisms you could make), only that the one i was replying to is unreasonable.

The rest of your post is irrelavent because its talking about arguments that neither I nor the person I was responding to made. That said, i think the way you are quoting is misleading, but that is neither here nor there.
by riehwvfbk | 2025-09-03 04:19:25+00:00
The point about housing is quite clearly false. There are around 147 million residential housing units in the US. And there are around 1.4 million built each year (this number fluctuates a lot: it was a third of this during the mortgage crisis, for example). But even if new residential construction is cut in half - that's a change of 0.5%.

It's all right to have an opinion, but it's important to realize when it's based on data and when on emotion.
by rramadass | 2025-09-03 04:21:54+00:00
This is far more truer than most people may realize.

Because there is so much to teach/learn, "Modern Mathematics" syllabi has devolved into giving students merely an exposure to all possible mathematical tools in an abstract manner, dis-jointly with no unifying framework, and no motivating examples to explain the need for such mathematics. Most teachers are parrots and have no understanding/insight that they can convey to students and so the system perpetuates itself in a downward spiral.

The way to properly teach/learn mathematics is to follow V.I.Arnold's advice i.e. On Teaching Mathematics - https://dsweb.siam.org/The-Magazine/All-Issues/vi-arnold-on-... Ground all teaching in actual physical phenomena (in the sense of existence with a purpose) and then show the invention/derivation of abstract mathematics to explain such phenomena. Everything is "Applied Mathematics", there is no "Pure Mathematics" which is just another name for "Abstract Mathematics" to generalize methods of application to different and larger classes of problems.
by WhereIsTheTruth | 2025-09-03 04:22:19+00:00
Here is what I use:

body { background-color: #262626 !important; } body > center > table, input, textarea { background-color: #222 !important; } body > center > table > tbody > tr:first-child > td { background-color: #ff6600 !important; } /* Bright text */ td.title a:link, span.comment font, span.comment font a:link, u a:link, span.yclinks a:link, body:not([id]), td:nth-child(2):not(.subtext) > a:link, input, textarea, p > a, a > u, .c00, .c00 a:link, a[href="http://www.ycombinator.com/apply/"], a[href="https://www.ycombinator.com/apply/"] { color: #ccc !important; } .admin td { color: #aaa !important; } /* search box and comment box */ input, textarea { border: 1px solid #828282 !important; font-family: "Jetbrains Mono"!important; }
by namibj | 2025-09-03 04:22:50+00:00
Materialize.com runs on those techniques; not sure how far this has gotten into the query planner yet, though. It's been a while since I looked at those details for it.

I'm pretty sure some datalog (adjacent?) but otherwise quite proprietary solution (that might be datadog (or is similar enough that I'd have to go search old notes/chats to determine the details)) uses the technologies and was mentioned as affiliation for at least one author of at least one paper in that space; as of about early 2024.

Edit: likely was https://en.wikipedia.org/wiki/LogicBlox
by Scoundreller | 2025-09-03 04:23:48+00:00
“Lead free” isn’t zero lead.

> In 1986, Congress amended the Safe Drinking Water Act (SDWA), prohibiting the use of lead in pipes, and solder and flux on products used in public water systems that provide water for human consumption. Lead-free was defined as solder and flux with no more than 0.2% lead and pipes with no more than 8%.

> In 2011, Congress passed the RLDWA, which revised the definition of lead free and took effect in 2013. Lead free was now defined as the lead content of the wetted surfaces of plumbing products as a weighted average of no greater than 0.25% for products that contact water intended for consumption, and 0.2% for solder and flux.

https://www.workingpressuremag.com/epa-final-lead-free-rulin...

A lot of municipal water systems have done more recent (but by no means required) improvements to the water itself to “coat” the lead in supply lines. Beyond just pH control, like orthophosphate. Most just in the last decade or so.

For Chicago, it’s an active project

> Polyphosphate is being removed because recent studies have shown that it may negatively impact lead corrosion control.

> Polyphosphate was initially added with the orthophosphate to mask discoloration of the water from metals such as iron or manganese.

https://villageofalsip.org/Chicago%20Department%20of%20Water...
by Esophagus4 | 2025-09-03 04:24:02+00:00
Every few weeks, someone posts an article about how broken tech interviews are, and the articles always follow the same formula: but I’m really good at REAL engineering… it’s the INTERVIEWS that are wrong!

It sounds like the author may have faced a bad interviewer, but I’d be curious to see their feedback on the author so we get both sides.

As I comment each time: you’re not being asked to sort a million item array because it represents the job, you’re being asked to sort a million item array because I want to see how you think, how you solve problems, and how good your underlying CS fundamentals are.

Yes - that means regardless of seniority, I expect you to know CAP theorem. Sure, knowing CAP theorem does not imply you are a good engineer, but being a good engineer DOES imply you know CAP theorem.

The job will change from project to project, but the CS skills should carry through.
by makk | 2025-09-03 04:25:14+00:00
I don’t understand the use of MCP described in the post.

Claude code can access pretty much all those third party services in the shell, using curl or gh and so on. And in at least one case using MCP can cause trouble: the linear MCP server truncates long issues, in my experience, whereas curling the API does not.

What am I missing?