skysight-inc/HackerNews huggingface dataset:
A thought dawned on me this morning when I was thinking about the Power Mac G5, which came out around the time I first started getting into Macs: over 20 years have elapsed since the release of the Power Mac G5 (and it's been almost 20 years since the release of the original Mac Mini). 20 years ago was the 20th anniversary of the original Macintosh 128K. The Macintosh 128K was decidedly retro back in 2004. Even though the curve of evolution between 2004 and 2024 is much flatter than the curve between 1984 and 2004, I still consider a 20 year-old computer retro, even if a Mac Mini G4 or a Power Mac G5 is much closer to contemporary Macs than a Macintosh 128K was to a Mac Mini G4.
> Maybe it's too many degrees-of-freedom creating too much surface area.

I think this is essentially it: there's extraordinary demand for "publicly dispatchable and yet safe" CI/CD, despite those requirements being fundamentally in tension with each other.

All things considered, I don't think GitHub has done the worst job here: the security model for GitHub Actions is mostly intuitive, so long as you stick to triggers like `push`, `pull_request`, etc. The problems only really begin when people begin to use triggers that (IMO) GitHub should never have added in the first place, like `pull_request_target` -- those triggers break the basic "in repo privileged, out of repo unprivileged" security assumption and cause the kinds of problems we're seeing here.
Played an entire game even though I need to be doing other things. Your 9 year old has written something super impressive.
Absolutely, the insurer could sacrifice some profitability to pay for this case, but eventually health care costs have to be rationed somewhere. I don't think any health care system can afford this level of treatment for as often as it is needed, and I don't think capping the profit in the industry solves that problem.

Also I would agree the insurer is absolutely making medical decisions with its own definition of medical necessity. But the Doctor is also making financial decisions when he recommends a drug that pays him significant consulting fees every year. There's warped incentives all over.
You can charge much more for networking chips if the data they carry is for AI processing.

Well, no of course you can't.
From 'Great Resignation' to 'Great Detachment': How U.S. job market has slowed
I've always wondered... is there some way to mathematically "solve" for this with multiple microphones and multiple speakers?

Like with 2 of each, or 3 of each, where you play the same waveform through every possible pair of speaker and microphone, you can solve some kind of system of matrix equations to determine the only possible combination of responsiveness at each device at each frequency?

Or do you just need a reference microphone with known characteristics, period, end of story, because math can't do it?

(Obviously from a practical perspective you want the reference microphone... I'm just curious about in theory.)
"Solved" in the sense that Twitch gets 50% of the payment. This is an outrageous cut.
What's the point of laws if not forcing morality?
I'd suggest that the GPT-4 models are reaching their peak, and that OpenAI is pushing into the o1 reasoning in an attempt to differentiate and regain the mindshare they're losing.

Claude is regarded as better at many things, Gemini at some others, Gemini has massive context windows, Flash runs faster and cheaper, Bedrock runs cheaper, Gemma and Llama are open source and doing pretty well for many use-cases.

If it weren't for mindshare, I'm not sure OpenAI's models would be thought of as anything special at this point. Now it does sound like o1 is a step up, but it also takes a long time and costs a lot, making it quite niche. It's not something you drop in and get better results from.
I think I can explain why it appears that there are ghost engineers. My favorite metaphor is a one-lane road vs a two lane road.

On a one lane road, you can only travel as fast as the slowest car on the road. A two-lane road is far more efficient than two one-lane roads are.

But think of how programming teams are organized. Typically, there's only one programmer who is expert enough for a certainly functionality to fix bugs (faster than they introduce new ones, anyways.)

That means the bug takes a one-lane road to and from the programmer who is going to fix it. The programmer can only fix bugs as fast as it takes him to fix the hardest, and slowest bug.

So, say you have a service-level agreement with your customers--if they file a bug, you'll fix it in 5 days. So a bug comes in--what if the only programmer who can fix it is already in the middle of fixing a 5-day bug?

So obviously, more programmers need to be hired. If you have two programmers who are in charge of each functionality, it's like having a 2-lane road instead of a 1 -lane road. You have VASTLY shorter turn-around times on average. While one programmer is fixing a 5-day bug, another one can be working on five 1-day bugs.

But....now what? You hire double the number of programmers? So every programmer, old and new, is idle around 50% of the time? That is where the so-called "Ghost Programmers" come from.

So, the obvious thing to do is fire half the programmers. Great. Say you do that. Say you have 1 programmer on your team, who writes tight, efficient, virtually bug-free code which is so generic that it can handle not only the current requirements but also handles a lot of the future requirements. So this programmer is still not as busy as that guy who introduces a new bug every time he fixes an old one. THAT guy's mouse is moving a lot, THAT guy is busy staying after 5:00pm every day....

...and THAT guy gets to keep his job when management wants to fire all of the ghost programmers.
A good move but it's still mad to me that we're banning junk food ads while fossil fuel ads are still allowed which are creating damage many orders of magnitudes greater than a muffin ever could.
> You are backing into a very common fallacy, Pascal's Wager.

Had I made an assertion (about the object level point of contention) or even offered relevant advice (I didn't), you would have a fine point. But I did not.

You on the other hand, did make an assertion (several, actually).

Have you some more Normative Memetic Rhetoric (framed as Good Faith Critical Thinking) for me?

And also: I did make an assertion, and asked some pointed questions, but you (shrewdly?) decided to give those a pass, instead opting for much more convenient simulated events.

A question: did you do this with conscious knowledge and intent?

> "If not the christian god, why not the flying spaghetti monster" is what this usually boils down to.

Interestingly, this is basically the opposite of the kind of thinking I recommend. This is substantially ironic.

> Anything that is presented without evidence, can be dismissed without evidence.

Can you (in fact, and physically, as opposed to simply claiming that you have the ability) please translate the figure of speech "can be dismissed" into an explicit epistemic status?

EDIT: thought I'd pat myself on the back for my earlier prescience: "Luckily, this can be easily dismissed with some pre-existing memes."

Gosh, how could I have possibly done that? Am I a wizard??
CT Scans of New vs. Used SawStop
You have zero expectation of privacy in public
All that time, huh?

First kid?
Game developers use LZ4 a lot, like a lot. It's fast on both ends.
It's a great browser, but sadly my 2fa keys don't work with it. Looking forward to the day the underlying engine adds support
> Also insurance literally FORCES americans to work, because thats the only way to get affordable health insurance.

This is really important. This system is artificially lowering the cost of labor and preventing people from immediately leaving workplaces where they are treated poorly by the employers or the customers.
Um. Wrong? You'd be correct if a worker could only take either welfare or a job, but that's typically not the case.
Row 100 of hm_put() clears all contents of the item struct, thus losing the pointer to where the previous value was stored. But then row 107 needs this pointer to pass it to realloc().

Additionally, in case of overwrite, the memory previously allocated for the key is leaked.

All in all, I don't think row 100 is really needed, and removing it wouldn't do any harm.

Finally, deletes are hard in hash maps. Either you decide that deletes are not allowed, or you implement them with tombstones or re-insertions. A half-backed solution is not an option.

Hope these suggestions help you.
It turns out that streamed music isn’t an artefact in neither format nor artistic integrity. The underlying tracks found in streaming are subject to change, and they may also be different to those on the original album. But my 1987 CD will always be 1987 songs.

My kid gets this, he hears it, and to my surprise he’s playing all my records. And some he’s bought himself. He doesn’t mind turning a record over, or walking to the stereo, or listening to a side in full. He’s making his own memories and his own associations, it turns out that it’s more powerful for him with something he holds in his hands.

The sequencing and timing between tracks turns out to be crucial too. Too many songs on streaming are split or stutter when they’re supposed to segue smoothly into one another, or the single version appears as an album track and sounds weird, or there’s a different delay between two songs everyone. It breaks the rhythm, even the one you can’t hear.
Look at tagged token architecture - no program counter required.
It's not made explicit in the documentation, but TOML is very nearly a superset of JSON - just using `=` to separate key-value pairs instead of `:`, and requiring top-level names to be given explicitly, and requiring the "inline" bits to be on a single line. In TOML, your example can equivalently be:

a = { b = [ { x = 1 } ], y = 2 }

(And yes, that can be the entire document; you can have an inline table before the first table header.)

Of course, this doesn't help if you want the top level to be an "array" rather than an "object" (in JSON parlance), or if you want the entire document to represent a single primitive value. But these uses are discouraged at best anyway.

But really the goal of TOML is to highlight the location of important parts of the deserialized tree structure (hence the ability to use arbitrary long dotted paths in table headers) rather than the structure itself. It's IMO a beautiful implementation of the idea "flat is better than nested" from the Zen of Python, and it neatly sidesteps an issue I asked about many years ago on Stack Overflow (https://stackoverflow.com/questions/4372229 - the question was rightfully closed, as this sort of discussion doesn't fit the Q&A format; but it made sense to ask at the time).

I don't know if a direct comparison of TOML to YAML is fair. Among other differences, the standard way to parse YAML in Python involves a third-party library that brings in a ~2.5 MB compiled C library. Every TOML implementation I encountered - including the one that made it into the standard library - is pure Python.
But the problem isn't with abusing strings, but abusing something that isn't data.

Abusing the string is the correct place to put poorly planned data because it's just data and it has a stable position in the data (and syntax) tree.

But consider this example:

{
"a": /* directive */ 42,
"b": 42, // directive
// directive
"d": 42,
/* directive */ "d": 42
}

What does the code look like that has to reconcile the directive with the data it modifies?

That's a completely different and worse problem than someone "abusing a string" with something like `{ "a": "42 directive" }`.

I think JSON made the right call. People just confuse that with it being somehow forbidden to use comments in JSON config, but they're wrong. Just look at VSCode's config. It was possible all along despite decades of people whining in blogs.

We didn't need comments in JSON over the wire. We didn't need a new format. We didn't need another blog post about it. Just write your tool to accept comments in its config.
Don't forget AI patch cables.
There's a huge difference between the historical intent of that principle and the way that these days everyone in a given space can be exhaustively recorded and tracked 24/7.
Men are struggling. Here's how your philanthropy can help
Japan is a blue zone.
How much do you estimate it would take to get a politician to flip their view on abortion, gun control, illegal immigration, health care? Seems like if it were "quite low" you'd see politicians flipping views all the time as one side or the other channelled money to them.

What we actually see is a lot of stasis, refusal to compromise, and politicians locked in with their party, which suggests it is pretty hard to influence politicians.

Where money is effective is using it to get politicians who agree with your view elected.
OP here. I forgot to mention - I'm available for any technical discussions or collaboration. Whether you want to know more about the implementation details, have suggestions for improvements, or are interested in contributing, feel free to reach out. Being a solo developer on this project, I'm always open to fresh perspectives and ideas.
If my house cought fire my NAS burns, and that's fine. If I survive the fire I can still access my email. If I don't Linode shuts it down month later, so it's good for the planet too ;)
Pointless question. If you do nothing at all for long enough, then people will eventually decide that the system isn’t getting it done and will start taking matters into their own hands. You can’t choose between doing nothing and violence. Doing nothing begets violence.
I disagree. You'd be correct IMHO if the welfare stopped if the worker quit his Uber or Walmart gig.

If a poor person has two income sources, either source is less essential than if he had just one of the sources. The less essential the pay from the Uber gig, the less Uber can squeeze the worker.
It is because you never really practice talking with Duolingo. I am quite good at reading French now, though.
Also Room EQ (https://mathaudio.com/room-eq.htm) and REW (https://www.roomeqwizard.com/)
You can take risks and also not spend $80k.

There are endless ways to do it. A way I did it was I moved to a cheaper country, started a business, learned a new language, met new friends, and eventually started a family.

Spending $80k in Montreal is the opposite of risk taking.

Perhaps if there was much to show for it, you would have a point. This guy did a lot right, has friends, is physically active, but none of that required spending down $80k.
Amazing project, very useful
Despite being a member of Lobsters for 5 years I've immediately disabled my account as soon as I felt the community becoming so hostile to brave users. I mean, I have no time to invest with a community that makes it so difficult to reach them and discuss any issue. Web is already painful enough.
Be careful when scheduling social media posts
They want all vaccines taken off the market. They outright stated their plan for doing it. And you either don’t believe them, or you think that’s good?
> not possible to apply in all situations (array in map in array).

Yes, that's largely why inline tables and arrays exist:

>>> tomllib.loads("""
... [[outer]]
... first = [1, 2, 3]
... second = [4, 5, 6]
...
... [[outer]]
... third = [7, 8, 9]
... fourth = [10, 11, 12]
... """)
{'outer': [{'first': [1, 2, 3], 'second': [4, 5, 6]}, {'third': [7, 8, 9], 'fourth': [10, 11, 12]}]}
Perhaps cheap, live, 5-minute lessons from enthusiasts
I don't exactly understand what you're talking about but RFC 8259 explicitly says JSON is "javascript object notation".
+1 for twinkly lights. I've had some WS2801s that are about a decade old from Aliexpress for ages. This time lighting the tree, discovered quite a few scorch marks and melted insulation. Twinkly lights were 66% off locally, so gave 'em a go. They're still RGB, but blend into the tree a fair bit better. The LED spatial mapping stuff kinda works - it's not perfect, but gives you enough to be able to have decent fades top to bottom and side to side.

I have no intention of swapping to Twinkly for my normal accent lighting around the house - btf-lighting.com + WLED is still your friend for that.
I believe it's hardly different from trying to deduce perfect distances from multiple rulers of dubious precision: you need to compare them to one of extreme precision. Arranging 4 rulers into a perfect square proves that they have equal lengths, but you still don't know their offset from standard length.

However, if you ignore tolerances and assume that every microphone of a given model number has equal response, then it's simply a matter of having that known response information available, similar to a hypothetical brand of ruler being known for coming up short.
McDonald's burgers are 100% beef. What's the problem? If the bun and other parts of the burger are ultra processed, whatever that means, well, that's the same for their chicken sandwiches, right? If the problem is the salt or seasonings, why not ban ads for salty burgers over a threshold or burgers with the specific problematic seasonings?
If they'd fancy a donation, they'd have a visible button or section on their website so anyone interested could send it their way. Liberapay looks like a decent alternative to Patreon. Crypto (XMR, namely) is also a good option.
I always thought that “JSON5” is a deceptive name. It is not the fifth version of JSON; it is an alternative/extension of JSON, of which there are many alternatives, and this one is no more official than any other.
Jenny Nicholson is one of the best YouTubers, incredibly thorough research, and one of the funniest people on the platform. I just wish she posted more.
This happens all the time in Saskatchewan, they have such immense natural gas resources that a farmer or the oil company will find a well but it’s not worth connecting to market so the land owner ends up with “free natural gas”. The well might have 5 years worth or 500 years worth for that land owner … depends on a lot of factors
Sarcasm I hope...
Average person knows if their day has been ruined by 8:36am
Point number 2. is super important for non-hobby projects. Collect a bit of data, even if you have to do it manually at first and do a "dry run" / first cut of whatever analysis you're thinking of doing so you confirm you're actually collecting what you need and what you're doing is even going to work. Seeing a pipeline get built, run for like two months and then the data scientist come along and say "this isn't what we needed" was complete goddamn shitshow. I'm just glad I was only a spectator to it.
Do the HN guidelines explicitly outlaw proselytization of specific metaphysical frameworks? Because there is more than one person engaged in the activity.
Reaching Your Automatic Testing Goals by Enhancing Your Test Architecture
I recently coded a linear-probing hash map in C and I highly recommend you to use fuzz tests. These evolve naturally from unit tests: next step table unit tests, next step property test, next step fuzzing, all steps are incremental, hence easy.

Having a fuzz test was in-va-lu-ab-le. I caught several bugs right there. The delete function was particularly tricky.

I ended up with two fuzz tests as my hash table has a key feature: convergence. Having same contents, it would have exactly same bits in the buffer. In other words, it is independent of the insertion/deletion order. For this, I added another fuzz test. I would add a third one if I realize there is an important invariant I did not fuzz test. That is not much work, but so much useful!

https://github.com/gritzko/librdx/blob/master/abc/fuzz/HASH....

https://github.com/gritzko/librdx/blob/master/abc/fuzz/HASHd...

P.S. In your case, I recommend clang's libfuzzer with ASAN.

https://llvm.org/docs/LibFuzzer.html#fuzzer-usage
very neat but already hitting cases where it doesn't play nice with pwsh scripts, even using the shebang. Back to using a dir full of .ps1 files I guess lol
Finding Moroccan Arabic (Darija) in the Fineweb 2 Dataset
I still remember phone numbers from radio ads I heard as a kid. I don't have any phone number memorized apart from my own
> the government hasn't budged

then maybe we should budge the government?
No too sure modern private cars are all that good at letting you avoid leaving time/location traces.
kind of depends on your individual definition of "retro" - for me it's anything prior to win95.

retro computing doesnt make me feel either older or younger, it makes me appreciate how far computing has come in my lifetime.
Part of the issue there is group policy. Insurers by the nature of their business prefer blended groups vs individuals, especially when individuals have a choice among insurers.

Or to put it another way, any insurer offering a "better" policy (in terms of more coverage for less money) will attract the highest-consuming patients, individually.

If they sign up groups with less choice, they're more likely to get a balanced cohort of consumers / non-consumers, young / old, etc. etc.
Do you believe that to be optimal gameplay?
Why is ground chuck safer than other ground beef?
I was about to say I thought you might be mistaken because you can always use some variant of "group concat" to get sets of fields to show in comma seperated form...

But then I realized even with that, I couldn't get the output under discussion without subqueries. And I don't consider that a win for me.
The thing that really stood out to me was how reluctant he was to do CPR on her. “I suppose I have to give CPR to the woman I love on the chance it might save her life”
> However, you could also (probably) define the derivative as lim_{h->0} (f(c+h) - f(c-h))/2h, so without needing f(c) to be defined. But that's not standard.

Although this gives the right answer whenever f is differentiable at c, it can wrongly think that a function is differentiable when it isn't, as for the absolute-value function at c = 0.
This tech isn't new. My company uses Axis cameras and Axis has some pretty advanced video analytics software https://www.axis.com/en-us/products/analytics

It records the license plates of all cars entering and leaving the parking lots. You can associate names to faces which we do for all employees and the system automatically records when people enter and leave buildings. You can even just tell it to find all people with a blue shirt in a particular camera in a time window. It can automatically detect people shouting.
Then you get bacteria in the ground part, potentially, whereas a steak will be cooked on all the exposed surfaces.
> Friendly reminder that this is HackerNews; nobody is here (nor cares) to read your incoherent, unwelcome religious preach nor to argue religion - at all.

Be careful, Faith comes in many forms, and in many metaphysical frameworks (science, as one example).
I wonder if it counts as libel?
I think the point is that whilst we do have some control, we don't have control over the 10, 20, 30 global issues we are fed in our feeds.

There's an issue and communicate around almost every single geopolitical or global issue and it can make people feel like they can't fix everything.
Dividends primarily.
I call your reading comprehension into question. What it literally says is that you will not go faster by not writing tests, or, conversely, that writing tests will not make you go slower, and that anyone who thinks otherwise is wrong. You are imagining an insult in order to feel outrage, probably so that you can then avoid the actual issue.
You might like JWCC, which literally stands for JSON With Commas and Comments.

https://nigeltao.github.io/blog/2021/json-with-commas-commen...