MurphyA/hacker-news huggingface dataset:
by mcv | 2025-05-26 13:56:59+00:00
This was exactly my complaint when the Dutch retirement age was raised from 65 to 67. Baby boomers, the largest generation, were about to retire, and the argument was that the younger generations weren't large enough to provide for them, so they'd have to continue working longer.

But it wasn't the baby boomers who had to work longer, it was the younger generations who had to work longer for the baby boomers to be able to retire.

At the very least tax the generous pensions of the wealthier baby boomers to provide for the poorer baby boomers.
by alasarmas | 2025-05-26 13:57:32+00:00
Tests that you write in order to contribute to a robust test suite are good.

Tests that are written to comply with a policy that requires that all components must have a unit test, and that test must be green, could be good. Often, they are just more bullshit from the bullshit factory that is piling up and drowning the product, the workers, the management, and anyone else who comes too close.

I feel that it’s still correct to call both of these things tests, because in isolation, they do the same thing. It’s the structure they’re embedded in that is different.
by morsecodist | 2025-05-26 13:57:49+00:00
Thank you. It is so frustrating that you hear that LLMs are a PhD level intelligence capable of any task you can throw at it and when it can't solve your problem you hear: "well you are using a1.36 and b1.37-high is really the one this time" (despite the fact that you have been hearing these claims since before that model came out) or "you are prompting it wrong, have you tried describing all of your app features and your entire approach to coding in a text file then using that to get the AI to make a list of prompts then refining those prompts into different text files and put those back into the AI..."
by dlgeek | 2025-05-26 13:58:23+00:00
> There is absolutely no company-wide mandate to use GenAI.

There is an STeam goal for adoption and usage. There is a QS dashboard for SDMs to see statistics on their org's adoption and abandonment rates. There is BT guidance being propagated out to VPs and directors on how to roll out programs. As placardloop said, there was a mandatory OP1 FAQ question on GenAI usage.
by dcre | 2025-05-26 13:58:46+00:00
Beautiful work. I tried other jj TUIs and found them clunky and counterintuitive. This one feels like they took the output of jj log and simply made it interactive.

That said, I switched to jj after using GitUp https://gitup.co/ for many years, and I was pretty surprised not to really miss it when using the jj CLI. The things I liked most about GitUp are all covered by the jj CLI pretty well:

- Undo

- Interactive staging (well, in jj the analogue is interactive split with jj split -i)

- Feeling like you’re manipulating the DAG directly, picking this up and plopping it down over here (jj rebase)

Notably, jj already builds in a TUI for the spots where interactivity is most beneficial.
by atq2119 | 2025-05-26 13:59:05+00:00
> We do have farmers growing apples, but there's no harvesting those during our snowy winters so our tariffs on apples are just active when local apples are in season

I'm curious: apples are fairly easy to store in bulk. That's a large part of why we have them year round.

So what's stopping someone from importing apples outside the season and then sorting them to circumvent those tariffs?
by hluska | 2025-05-26 13:59:41+00:00
Last December, I started building a desktop app so that I could keep all my running, eating and assorted physical misadventures in one place. I decided to build it with Electron so started profiling right away but wasn’t write home about it happy with any profilers so now I’m building a profiling tool and the fitness thingamajigger in tandem. And of course, it’s a personal project so scope creep is an issue. Now I have structured logs, full replay and so much data that this wacky little profiler makes me feel bad about all the decisions I made on the wacky fitness app six months ago.

Which just goes to prove, if you’re slightly demoralized it’s a side project. :)
by ralferoo | 2025-05-26 13:59:42+00:00
This is a fairly recent thing. I didn't realise that Google had actually started publishing this contact but for about the last year or so, they've required that you provide a phone number that they can publish for users to contact you.

Honestly, this policy seems absolutely backwards to me. I'm fine for customers to contact me via e-mail or my website, but why do Google get to suddenly mandate that I need to provide 24/7 global phone support to anyone (who doesn't even need to me my customer)?
by crazygringo | 2025-05-26 14:00:54+00:00
> dehumidifiers already do a good job of getting water out of air for the energy price you have to pay

They do a terrible job. Condensate dehumidifiers are as expensive to run as an AC, produce unwanted heat, and are noisy. Dessicant dehumidifiers are even less energy-efficient.

If there's a way to extract moisture from the air with less energy and less noise, that would be huge.
by _fat_santa | 2025-05-26 14:01:18+00:00
To all the folks saying this is a terrible idea and you shouldn't put your trust in big tech companies: you're absolutely right but also wrong.

This is just one of things that "works" and you can't really get around. Tangentially related but one of my friends started a photo booth rental business and was asking me about how to build his web presence. At first he suggested a website and I told him he should have a website but I also told him that an solid Instagram account (we are in the US) would work just as well.

Is it batshit crazy on a conceptual level to get into bed with a big tech company for your web presence? Yeah it absolutely is. But does it actually work and is the most likely way for you to drive sales? Yeah it absolutely is.
by simonw | 2025-05-26 14:01:20+00:00
I've been rolling my own version of that recently via my https://github.com/simonw/llm-fragments-github plugin.

Here's an example where I condensed 50+ comments (accumulated over a year and a half!) into a summary comment and added it to the thread: https://github.com/simonw/sqlite-chronicle/issues/7#issuecom...

I created the summary like this:

llm \ -f issue:https://github.com/simonw/sqlite-chronicle/issues/7 \ -m openai/o4-mini \ -o reasoning_effort high \ -s 'Output markdown explaining this issue and the proposed resolution succinctly and clearly'
by Cthulhu_ | 2025-05-26 14:01:45+00:00
But then they'd spend more energy (and more braking) hauling that ice around; would the amount of heat absorbed be more than the one ice train would generate?

There's probably more efficient materials to use, big lumps of supercooled metal. Someone else mentioned liquid air, that could just be evaporated in the tunnels and stations.

Of course, generating liquid air costs a lot of energy too. I'm sure the problem is easily solved if you assume infinite and free energy.
by deeringc | 2025-05-26 14:02:09+00:00
JSON Web Tokens are part of the JSON Object Signing and Encryption (JOSE) family of standards which are really just containers for cryptographic primitives in a web-friendly representation. Most people are aware of JWS (signed payloads) but there are also JWE (encrypted payloads) and JWK (key payloads). If you're building any sort of cryptographic system that needs to represent encrypted/signed values or keys, you can use JOSE to represent these primitives without having to reinvent the wheel. By far the biggest use of JOSE is in authentication systems where JWS are used as signed bearer tokens but that's just one application and there are many others. They arent perfect, but they filled an important gap when they were created and made it much easier to deal with crypto at an application layer compared with all of hte binary formats that are used in things like TLS.
by lproven | 2025-05-26 14:02:12+00:00
I am experimenting with Bottles for an article right now, as it happens -- but no, it does not seem to me that Bottles is at all comparable to WinApps.

WinApps runs the apps on real native Windows in a VM, but integrates their UI with the host OS.

WINE does this anyway, and it's an inherent property of WINE because there is no host OS. WINE does some fakery and indirection to make Unix filesystems appear on drive letters and things, but the app is still executing on the host OS, just via a translation layer.

Bottles runs the apps on top of WINE, but maintains separate WINE instances for each app and allows different onces to have different auxiliary tools, such as games-compatibility libraries, different versions of WINE, etc.
by __s | 2025-05-26 14:02:14+00:00
I spent 3 years getting a Ruby codebase to 100% branch coverage running locally in a few minutes (I wasn't just looking at coverage, I was also profiling for slow tests). Found a few bugs ofc having to read through code so carefully. The value was having a layer of defence while refactoring, if some unrelated test failed it implied you missed impact of your change. It also helped people avoid the issue of making changes to an area of code with no testing, where existing tests act as docs (which execute, so won't go stale as easily) & make it easier for new code to write new tests building on existing tests

This codebase was quick to deploy at Microsoft. We'd rollout every week. Compared to other projects that took months to rollout with a tangling release pipeline

Anyways I left for a startup & most of this fast moving team dissolved, so the Ruby codebase has been cast aside in favor of projects with tangling release pipelines

https://techcommunity.microsoft.com/blog/adforpostgresql/how...
by opan | 2025-05-26 14:02:43+00:00
While the difference between $3 and $5 can often seem small, I find that the difference between $0 and non-$0 is massive. It completely changes the feel of the thing, suddenly you need to enter a CC number or similar when there was none of that before. Even $1 can be quite painful, especially for software. I'm not walking through a store in a mindset of buying things already, I'm just sitting at home, not planning to buy anything at all.
Show HN: Configurable desktop environment running in the browser
by peaBerberian | 2025-05-26 14:02:48+00:00
This is a complete desktop environment with a functional file system, apps, theming, configurable window manager etc., all in vanilla JS (no dependency at all for the runtime code and just one really relied on to "bundle" the project, esbuild).

---

I began it by rewriting my (initially minimal) personal website by writing it as a desktop thing, at the end of April.

This also has been an excuse for me to start trying that LLM thing everybody talks about. I'm kind of an [annoying] contrarian luddite and so I never really used an LLM before, but after my search engine (Kagi) insisted that I should use it by adding some to my subscription plan, I gave up and felt that I had to try using that thing!

In the end, LLM mainly helped me for initial app drafts and ideas, which is not the aspects I find the most fun generally, freeing me to do what I like: the logic stuff, architectural ideas, ad-hoc concepts (e.g. executable format, a file system, a permission system etc.). Though I found that under my prompts at least, the more I queried an LLM, the worse its output was, so it stood in first drafts territories mostly (and theming!).

This synergy led me to spend way too much time on that thing, as there was not much any step slowing/annoying me enough for me to stop working on that project.

---

Now after a long list of features that I wanted to implement first, I finally begin to like enough that site to share it.

Do not hesitate to tell me if you see issues, weird choices or poorly understandable things.
by gofreddygo | 2025-05-26 14:03:06+00:00
Writing good tests is an art. Its hard. It takes a deep understanding of _how_ the system is implemented, what should be tested and what should be left alone.

Coverage results don't mean much. Takes some experience to know how easy it is to introduce a major bug with 100% test coverage.

Tests are supposed to tell you if a piece of code works as it should. But I have found no good way of judging how well a test suite actually works. You somehow need tests for tests and to version the test suite.

A overemphasis on testing also makes the code very brittle and a pain to work with. Simple refactorings and text changes need dozens of tests to be fixed. library changes break things in weird ways.

Unless I know the system being tested, I take no interest in tests.

There's clever hacky ways to test systems that will never pass the "100% coverage" requirement and are a joy to work with. But they're the exception.
by skeeter2020 | 2025-05-26 14:03:14+00:00
From my perspective it's not "tests" but this reaction. There's nothing wrong with tests, but there certainly is a cost to them, are you getting a positive ROI? Has the system been perverted to focus on tests vs. tests supporting quality? Are tests used to justify all sorts of unrelated actions or inaction? Now repeat this exercise with 100 or 1000 other perfectly valid concepts that can help destroy the the very thing that you are trying to accomplish.
by valenterry | 2025-05-26 14:03:19+00:00
I disagree.

First and foremost, what if there is not "the" database? What if you have multiple places that store data? For example, a postgres for ACID stuff, something like Kafka/RabbitMQ or similar to easily communicate with other services (or even yourself) - and sure, you could do that in postgres, but it's a trade-off. Then maybe something like redis/memcache for quick lookups/caching, then maybe elasticsearch for indexed search queries, and so on. And you usually also have some http API.

Sure you can say "I just do all with postgres" and honestly, that's often a good choice.

But it shows that it's not where "code (...) really belongs". Even IF you move a lot of logic into your database engine (and you often should), you most of the time will have another API and there will be a connection. Well, unless you use shared database tables with another application for communication.

All you do is pushing it out further to a later point - and often forcefully so.

> It terrifies me to say this, but sooner or later someone is going to cook up a JavaScript database engine that also has web capability, along with a native client-side cache component... and then it'll be curtains for traditional databases.

Not going to happen. Services like https://spacetimedb.com exist. Also, solutions like Spark (where you send your code to the database(s)) exist. And for certain things, they are great. However, it is a trade-off. There is no one-fits-all solution.
by dataflow | 2025-05-26 14:03:31+00:00
> I mean, who wouldn't look at their current expenses, look at their future cashflow, and be like hey, it would sure be nice to be paid today for work I'll do over the next year? Venues need deposits (maybe), transportation needs deposits, set builders need materials, marketing needs budget, merchandise production needs to pay vendors, etc. Insurance needs to be purchased.

This sounds just like taking out a loan. That money isn't really yours until you do the work. How different is the outcome here vs. taking out a loan for the same purpose, then? Is it cheaper?
by binary132 | 2025-05-26 14:04:18+00:00
I think a big part of the problem is the devx / workflows that these tools tend to encourage or impose. Watching my coworkers fumble with terrible copilot autoshit in a pairing session makes me want to scream on a daily basis. That doesn’t necessarily mean such a DX is the only way it could or should work, or that it’s even a good DX at all. Most of the time, it actually imposes more cost, both in lost momentum and in corrective action, than it relieves.

I think something like a graph where nodes are specified clearly with inputs and outputs (or pre- and post-conditions, if you prefer), and agents iteratively generate and refine the implementation details could have some utility, but that would require programmers to know how to think about program design (and have a usable UI/UX for such a tool) instead of hastily stumbling through patches and modifications to existing code they already don’t understand.

The new LLM systems are carrying us farther from that world, not closer to it.
by major505 | 2025-05-26 14:04:34+00:00
The problem seen to be that they give power to activists instead of engineers. What the fuck they know about improvements to their core product? The only thing they do is create pretty slogans, borrow money from big capital to grown on top of debit, and seek "new sources of income". This is what it made Mozilla turn from a company that does a super badass browser from a company that sells shit advertisements, infringing on users rights, and claims to be a "international conglomeration of activists" or some shit like this.
by Beijinger | 2025-05-26 14:04:56+00:00
Then you may take a less generic name and trademark it (USD 400 ?). This should put a stop from it, at least using it in a domain name for food.

"Bobs Fusion Cuisine"

I am not in the food industry. But after having read this, this would be definitely something I would consider. But maybe too much for a Mom and Pop shop. In fact, I have found Mom and Pop shops extremely difficult to do business with.
by immibis | 2025-05-26 14:05:02+00:00
As long as only a minority of businesses lose their access to WhatsApp, they'll just be outcompeted by ones who follow Facebook's law over India's law.

I doubt there's much need for long-term number stability in the type of business that prints a number on its sign out the front, anyway. If it does change, you could go back to the business and read the sign again.
by klabb3 | 2025-05-26 14:05:07+00:00
Both are http requests from client to server. Servers are already authenticated through TLS. The difference is who takes the role of the client.

With API requests the customer takes the client role. The endpoint is the same, eg api.stripe.com. This means, an API key (shared secret) is the minimal config needed to avoid impersonation. You could sign with a private key too but it would also require configuration (uploading the public key to stripe) so there’s not much security gained.

With webhooks, the vendor is the client and needs to authenticate itself. But since it’s always the same vendor, no shared secret is needed. They can sign it with the same private key for all customers. You can bake the public key into client libraries and avoid the extra config. Thus, it’s reasonable to believe the use of public key cryptography is not because it’s more secure, but simply more convenient. Signing is kind of beautiful for these types of problems.

Signing alone creates a potential security issue (confused deputy? Not sure if it has a name): if Eve creates a stripe account and tells stripe that her webhook lives on alice.example.com, ie Alice’s server, stripe could send real verified webhook events to Alice, and if she doesn’t check which account it belongs to, she might provision resources (eg product purchases) if Eve is able to replicate the product ids etc that Alice uses.

Edit: now that I think of it, eve doesn’t even need to point stripe to Alice’s server. She can just store and replay the same signed messages from stripe and directly attack Alice’s server, since the HTTPS connections are not authenticated (only the contents are). To mitigate, the client library should contain some account id in the configuration, in order to correctly discard messages intended for someone else.
by nsarrazin | 2025-05-26 14:05:11+00:00
On my free time I've been making a small "game" where you control a spacecraft using a 6502 computer. You can control things like thrusters, antennas and read data from star sensors, gyros, etc. using memory mapped I/O directly and you can't control anything directly.

The whole thing works pretty well, it's built using Godot & a custom Rust extension with the 6502 emulator & assembler. It can even be exported to the web so you can write your code using a CodeMirror editor and send it to the game in the browser.

Now, as expected, the hard part is making it fun. Just giving players an empty code editor and a manual for the sensors/actuators doesn't seem great, and there's also no goal for now. I'd like to take inspiration from Shenzhen I/O to build a sense of progression by tackling more and more difficult control challenges maybe?

It also supports running multiple computers at once so I think there's some fun potential for a "multiplayer" mode where you try to achieve some objective (scanning X, mining Y) against other players by sending spacecrafts with your code on them and all the crafts would run on one server. Anyway I'm curious if people would be interested in such a game!
by ants_everywhere | 2025-05-26 14:05:40+00:00
ChatGPT is right, although I'm not sure how historical the notation is.

∠ is traditionally a function from points to axiomatic geometric objects. ∠ABC is the angle at B oriented so that we start at A, go to B, then to C.

Your text seems to be using ∠ either as a kind of type annotation (indicating by ∠B that B is an angle) or (perhaps more likely) is just suppressing the other letters in the triangle and is short for something like ∠ABC.

Since ∠B is an axiomatic Euclidean object, it has no particular relation to the real numbers. m is an operator or function that maps axiomatic angles to real numbers in such a way that the calculations with real numbers provide a model for the Euclidean geometry. Why call it m? I'm not aware of it being historical, but almost certainly it comes from measure, like the μ in measure theory.

Obviously ∠ is a graphical depiction of an angle, and my guess is it probably evolved as a shorthand from the more explicit diagrams in Euclid.

Traditionally angles are named with variables from the beginning of the Greek alphabet: α, β, γ. Then we skip to θ presumably to avoid the Greek letters that look nearly identical to Roman letters.
by anonzzzies | 2025-05-26 14:06:10+00:00
(From the article that LAMP programmers are gone or whatever) Most of the dynamic web runs on php: maybe not LAMP, but we are talking about Java, a programming language vs PHP, another programming language.

I was a full time java programmer since the first available version doing applets and servlets etc going for money, and that worked, we made a lot of it. I left Lisp and Prolog to go to java, and yeah, I am sorry for it. I am in a different time of my life, I like to think I would never do that with what I know now 'just for money' as it is definitely not fun for me. I try it once in a while, but SBCL is fast and actually faster for most things we care about. And SO much more fun. To me anyway.
by crazygringo | 2025-05-26 14:07:03+00:00
Most people in a company won't even know about illegal activities at the top. So that wouldn't work.

And if there's illegal activity that ought to be punished at the employee level, then that's what criminal statutes and charges are for.

"Losing your job" is a punishment that is too much for innocent people who just work there, but far too little for anyone actually directly engaging in criminal activity.
by 90s_dev | 2025-05-26 14:07:06+00:00
I never knew WebGL or OpenGL, my first experience was learning WebGPU, because I planned to use it for the drawing of 90s.dev which is meant to be future-first. But WebGPU is just not there yet. And from what I read about it, it looks like it has only slightly better performance than WebGL2, being the common denominator to all post-2015 native GPU frameworks. So it's disproportionately harder to write, doesn't have nearly all the same features as native would, and all this to be only slightly faster. Which is why I switched to WebGL2 as the graphics backend (WIP). Now I have to learn how all the GL state functions work (ugh), I admit that was easier to reason about in WebGPU, mainly because it's easier to deeply digest and understand APIs when they have clear ins/outs that link together clearly and cleanly. Which GL doesn't. At all. Just a buncha confusing globals. But this helps, kinda: https://webgl2fundamentals.org/webgl/lessons/resources/webgl...