MurphyA/hacker-news huggingface dataset:
by bloppe | 2025-04-10 18:58:50+00:00
Wasm, specifically using the component model [1], is really good for plugin use-cases.

- Polyglot; you can write plugins (in this case Bazel rules) in "any" language, and the component model is easily the best system ever created for cross-language interoperability.

- Ecosystem; tooling is still generally immature, but you'd be surprised how much buy-in there is. Web apps are a huge incentive for language developers to support it, and Wasm now runs in a lot of places besides the browser too. Envoy and Istio support Wasm plugins. So does Postgres. So does neovim.

- Component interfaces are richly typed. You get things like lists, structs, "resources" (aka objects with instance methods), etc. all supported idiomatically in whichever language you're using and these can be used across language boundaries. Even between GC and non-GC languages. Even with Rust's ownership model.

- Plugins are fully sandboxed, so a host can allow plugins to have things like `while` loops while enforcing runtime limits on a per-instruction basis. It also means Bazel doesn't have to invent it's own bespoke sandboxing solutions for every supported platform, as it does today. And Wasm is designed to handle untrusted Web code, so there are tons of security guarantees.

- Performance is already really good, and there's every reason to believe it will get better. Again, Browser support is big here. The things the Chrome team did to optimize V8 are pretty incredible, and they're now turning their attention to Wasm in a big way.

[1]: https://component-model.bytecodealliance.org/design/why-comp...
by 8fingerlouie | 2025-04-10 18:59:11+00:00
I know this is not what people want to hear, but your data will never be safer than it is in the cloud. No setup you can dream up at home with in a reasonable budget will ever come close to the resilience and redundancy you have in the cloud.

Ownership is not about storing everything at home (or well, it's part of it), but having control over your data, which you can easily have while at the same time using the convenience that the cloud offers.

In the cloud your major concern is not losing data, but losing access to data, and you can counter that with making backups.

If privacy is a concern, use something like Cryptomator[1] to source encrypt data before uploading it. Cryptomator in particular integrates well with mobile phone operating systems, and has clients for all major operating systems (yes, Linux included).

Source encrypt your backups as well, and nobody can read your data besides you.

[1]: https://cryptomator.org
by AStonesThrow | 2025-04-10 18:59:21+00:00
Technically we are spending USD, if we show up somewhere without already having converted our currency.

Personally I purchased a Travelex prepaid debit card ahead of time, with Euros ready to spend in Catalonia, but it was reloadable, and I also needed to do some snap ATM conversions to £ Sterling in London.

Most tourists head to an exchange window, turn their USD into the local currency, and therefore those exchanges have got our genuine Benjamins to do whatever with.

And USD is highly-favored, highly-negotiable money everywhere in the world, as of April 2025 anyway.
by tymscar | 2025-04-10 18:59:24+00:00
Hey. That makes more sense. To be honest, I don’t think it should be one of the main things on the front page when creating a new project in that case. However for what it’s worth Ive also asked gemini to translate this simple chess clock app to react because of how buggy the flutter project was and it just got stuck again and again no matter how much I helped it
by kranke155 | 2025-04-10 18:59:43+00:00
That’s not my point. Of course it is. It’s also been consumed for thousands of years for other reasons.

The question is - in fairly moderate consumption in the right settings, is alcohol a net benefit to most people ? I’d say unquestioningly yes. Anti depressant and stress relieving effects are so powerful, for a small price. But this is like saying any medication is harmless - it never is. Alcohol is the psychological lubricant for civilisation.
by nthingtohide | 2025-04-10 19:00:07+00:00
Narratives build on top of each other so that complex narratives can be built. This is also the reason why Family Guy can speedrun through all the narrative arcs developed by culture in 30 seconds clip.

Family Guy Nasty Wolf Pack

https://youtu.be/5oW9mNbMbmY

The perfect wish to outsmart a genie | Chris & Jack

https://youtu.be/lM0teS7PFMo
by singron | 2025-04-10 19:00:08+00:00
Does this always happen or only sometimes? In Google calendar, if the event is modified through the API, there is an option to suppress change notifications, and this can prevent non-google calendars from getting invites.

Also did you create a Google account using your fastmail address? I haven't tested it, but it's possible this causes a hairpin route where Google supresses the outbound email since it thinks it can directly modify the calendar.
Show HN: Node.js driver for DiceDB – Fast, Promise-based driver with reactivity
by aditya_ds_1806 | 2025-04-10 19:00:28+00:00
I just released a new Node.js client for DiceDB — a Redis-like database for reactive apps.

This driver supports all commands including watchable ones (GET.WATCH, etc.), has built-in connection pooling, works with both ESM and CJS, and is written with developer experience in mind.

GitHub: https://github.com/Aditya-ds-1806/dicedb-driver

Docs: https://aditya-ds-1806.github.io/dicedb-driver

npm: npm i dicedb-driver

It’s open source (MIT), and contributions/feedback are more than welcome!
by mtlynch | 2025-04-10 19:00:33+00:00
Hi Joran, thanks for your response!

For context, I like TigerBeetle, and I respect the team. I'm not trying to take cheap shots but rather to disagree respectfully.

>We didn't design our docs because it was "a fun thing" (as suggested) but rather because we simply care deeply about the experience of developers reading our docs. For example, concerning performance and offline use, which were further reasons we gave in the post.

To me, this still sounds like "for fun."

The blog post just talks about performance and offline use, but "maximize performance" isn't a real goal. You can invest ininite hours improving performance, so it comes down to how many engineering hours you're willing to trade in exchange for improving some set of performance metrics.

Maybe the issue is that the blog post doesn't present the decision making process well? Because the critical questions I don't see addressed are:

- What were the performance metrics that were critical to achieve?

- What alternative solutions were considered beyond Docusaurus?

- How do the alternatives perform on the critical metrics?

- How does the home-rolled solution perform on TigerBeetle's critical metrics?

In the absence of those considerations, it feels like the dominant factor is that it's more pleasant to work with greenfield, home-baked code than off-the-shelf code, even if the existing code could achieve the same thing in fewer engineering hours.
by Georgelemental | 2025-04-10 19:00:35+00:00
> In a lot of languages space optimizing Optional Types without using a reserved enum value or pointer tags would lead to memory model problems with atomically writing two values at once which might be more easily solved in a borrow semantics world.

Yes, Rust suppresses the niche optimization for values wrapped in an `UnsafeCell` (which is how you signal to the compiler that “atomically writing two values at once” might happen). https://github.com/rust-lang/rust/pull/68491
by nine_k | 2025-04-10 19:01:55+00:00
But it's much more than just a digital clock. It's a very bright LED remote display. It's easily programmable. Also, take note of both the desktop and the mobile apps, plus both Mater and Home Assistan integrations.

Of course a device like this can be built for 10% of the price tag, or maybe for $0 if you already have the spare parts lying around, and just enjoy writing Arduino firmware sometimes. But for a less techy customer this thing makes total sense, and for a corporate customer it seems to have the full package for a hassle-free deployment somewhere in a sales department.

BOM is always a very minor part of such projects, say, 5%; the major cost is electronic / mechanical / software engineering, then marketing (including the very good web site) and sales, production and shipping, etc.
by gosub100 | 2025-04-10 19:02:04+00:00
> anxiety because you may wake up with night terrors after suffocating in your sleep.

I have SA and a history of "mild" nightmares going back decades. Nothing terrifying, but very uncomfortable such as snakes hiding everywhere, and recently other animals such as tigers. I can't prove it, but I believe these are subconscious efforts by your brain to scare you into breathing.
by Spooky23 | 2025-04-10 19:02:40+00:00
They open with the sharp increase in pedestrian deaths and zero in on fire trucks. Weird.

Firetrucks haven’t changed since 2010. Pickup truck expansion, embracing poor driver controls and visibility, and the abandonment of traffic enforcement has.

I think a shuffle of fire department equipment may be warranted as EMS has overtaken fire calls, but accommodation of these things is one of a list of many factors.
by kqr | 2025-04-10 19:02:57+00:00
This is a common misconception. Lenses (or more generally optics) are not limited to targeting single fields. They can target composites, alternatives, etc. They go way beyond a normal accessor dot and can do stuff that cannot be done in mainstream languages.

Some of the other ideas from lenses are becoming mainstream, like the .? conditional accessor in e.g. C# and EcmaScript.
by crazygringo | 2025-04-10 19:03:01+00:00
I love them as well, but they seem to be too hard and too strong to pair well with bread. They really do seem to work best grated into things like pasta, risotto, and soup, or as shavings in salad.

I mean, you do you, but you'd find me reaching for a lot of other cheeses first to go with my bread.
by 8fingerlouie | 2025-04-10 19:03:39+00:00
Indeed.

With sufficient motivation (money is a great motivator), everything is possible, especially if not doing X will remove said money, and/or put you in jail.

It's not even like they need to fork Signal/Session, they could get by with GPG encrypting a gist and uploading that, sharing the link in signal or wherever.

As I initially wrote, weakening encryption only harms law abiding citizens, as everybody criminal probably faces much worse charges than breaking encryption laws.
Show HN: WayPoint – Shell Command Shortening with Zsh/Fish Support in Go
by cat-whisperer | 2025-04-10 19:03:58+00:00
I built WayPoint to streamline my terminal workflow and simplify both shell command expansion and URL shortening. Here’s a quick overview:

- Shell Command Shortening

- Type a shortcut like s/gs and it instantly expands to git status in your terminal. - Integrated support for zsh and fish via custom completion scripts that perform in-place expansions. - Configure shortcuts easily using a YAML file, for example:

- Hierarchical URL Shortener

- Use the same YAML configuration to create nested URL shortcuts for internal tools, documentation, or other resources. - Supports multi-level mappings and updates in real-time without needing a restart.

Check it out and share your feedback!
by redczar | 2025-04-10 19:04:43+00:00
But I’m not the one who posed the question originally so your observation about me being unworthy of discussing things with isn’t pertinent. It’s easy to miss that I’m not the OP so if you did think I was OP then I understand your point.

Also I didn’t call anyone a snowflake. I said the response was a snowflake reaction. I used that term deliberately since it was in fashion for some time for conservatives to use it.

Lastly, it’s a bad look for you to engage with me while pointing out why people don’t engage with me. I think it would be better to just move on and ignore what I said.
by anon84873628 | 2025-04-10 19:06:26+00:00
This statement is using lots of passive voice to try and deflect and confuse.

Blue Shield configured GA to send data they weren't supposed to. GA may have automatically used that data to do the things GA does. No human at Google would have ever interacted with this data, chosen how it was used, known it was there, or really given a shit (besides the risk of liability and not wanting customers to be dumb and do exactly this).
by hylaride | 2025-04-10 19:06:44+00:00
> Are there any decent books on this? Not because I'm doubting you, just because it would be a good read.

I'm a voracious consumer of cold war history so I've read things from all over the place.

I don't have direct sources handy, but for (expected) Warsaw pact reliability, it varied a lot by country. I'm not saying they wouldn't have fought (the full time core communist regime soldiers probably would have), but in a war that expands into conscription sucking in more of their people is where the will to fight "for the soviets" became more tenuous. By the 1980s most eastern block citizens knew life was better in the west and local revolutions may have had varying degrees of success, especially further in the south (again this is in hindsight, but the sudden speed of communism's collapse in Europe really caught everybody off guard about how fragile it all was especially without the threat or ability for the Soviets to put it down).

For the technological gaps, most of the good content is in either defence-related publications, historical or geopolitical think-tank pieces, or postgraduate academic writings (where you often go down the rabbit hole of looking up citations). It can be dry reading unless you're really into it.

Some more accessible examples about soviet reactions the success of the 1991 Gulf War:

This report by the US DoD highlights a lot of the Soviet denial and excuses early on in the conflict, not accepting that it could be so easy (the iraqis were using old equipment! They were badly trained!). If you read between the lines, there was a lot of doublespeak from official Soviet channels about it, but scroll down to the conclusion you'll see a lot more tactic admisions of capability gaps:

https://community.apan.org/cfs-file/__key/telligent-evolutio...

This one has a lot more content via internal Soviet thinking. Look at page 9 under "The Revolution in Warfare and Desert Storm" for Electronic Warfare notes:

https://apps.dtic.mil/sti/tr/pdf/ADA242543.pdf

This Chicago Tribune article references Russian attitudes via "a translated report":

https://web.archive.org/web/20240910225432/https://www.chica...

This publication "Russia's Air Power at the Crossroads" from the mid 1990s is often cited, too:

https://apps.dtic.mil/sti/pdfs/ADA319850.pdf
by windowshopping | 2025-04-10 19:06:56+00:00
I wondered the same. Those code examples took an hour or so to figure out. It's a very basic exercise, sending an HTTP request, but doing it in nine languages, the majority of which you've never used, requires a little research. The llm can generate them all, but I had to run them locally to make sure they worked, and they oftentimes didn't. Most of them were easy and only took a minute or two to figure out, but after an hour and a half I gave up on Java. I literally could not figure it out. I'm sure I could have if I went long enough, but at some point you just have to cut your losses and decide it's not worth your time. This was not going to make or break my product offering, I'm not trying to learn Java, and I just wasn't interested in spending more time trying to figure it out. The llm was happy to generate examples, but they didn't work.
by java-man | 2025-04-10 19:07:07+00:00
Direct link to the paper [0]. Related [1].

[0] https://iopscience.iop.org/article/10.1088/1742-6596/2987/1/...

[1] https://en.wikipedia.org/wiki/Aharonov%E2%80%93Bohm_effect
by trod1234 | 2025-04-10 19:07:14+00:00
I disagree as well, but on a bit different grounds.

Man pages often lack examples of the syntactical structure, and the syntax is not appropriately documented either.

You can have commands where the flag is followed by an argument, but that flag also is positional, and the position is not documented. You can't just read the man page and get a working command, there's a lot of trial and error which is naturally solved by having a section of commands in an extended form with examples. Powershell does this, and they took it, from somewhere though I'm having trouble recalling the exact name at the moment I know it wasn't an innovation on their part they just glued a bunch of things together that were used in isolation.
by 9rx | 2025-04-10 19:07:19+00:00
Value isn't static, of course. Take the food that was brought up earlier. Food saw a real increase in value by around 30% from 2019 to 2024. A couple of destructive weather events, fertilizer scarcity, and war in the Ukrainian breadbasket shook people enough to think that maybe they shouldn't take food quite so for granted.

Drying racks aren't considered terribly valuable today, but if you lock up manufacturing to a single country and impose a number of other restrictions, sentiment can change quickly. The latest episode of Ted Lasso might not seem so important anymore.
by leonidasv | 2025-04-10 19:07:40+00:00
The periods of my life I was the most productive and learned the most were when those when I managed to sleep >=8 hours every single night, in a dark, silent environment. I still manage to sleep >=7 hours most nights, but I feel like it's getting harder to keep a baseline of 8 hours for every night. Don't know if my sleep needs changed over time due to aging, or if it's just a consequence of having more responsibilities.
by os2warpman | 2025-04-10 19:08:20+00:00
Not Just Bikes is wrong about several things:

The video states at 1:37: "Baltimore was supposed to install 10 miles of new bike lanes downtown, but the fire department said that would make the streets too small for its trucks and aggressively fought against the plan."

This is false. The residents of Potomac Street (the visual example given in the video) aggressively lobbied against the bike lanes because they would take away parking spots. The residents involved the Fire Marshalls. The Fire Marshalls noted that the street would be 19 feet wide and the fire code called for 20 foot streets and, enforcing the law, they said the project needed to be paused until an exemption was granted.

Then the exemption was granted.

Then the bike lanes got built.

Here they are, right here, clear as day: https://maps.app.goo.gl/hKNb82Ef6sWL4uUw5

I even aligned the streeview image to extremely close to the exact position the video showed at the timestamp where the narrator said "was supposed to install".

I knew they were wrong about Baltimore because while I am not a BFD employee I am a both a volunteer firefighter in an exurb of Baltimore and a cyclist, so I followed the development of bike lanes in the area very closely.

I figured that if the video was wrong about Baltimore, they probably just googled "fire department oppose bike paths" and used the article titles as references so I looked up the Peekskill story.

The narrator states at 2:12, explicitly including the Peekskill Esther Place pedestrian mall, "all of this potential progress WAS LOST".

"Was lost" implying it is gone. Kaput. Erased.

Esther Place still exists. Here is a city council meeting bill from two months ago explicitly extending the road closure: https://www.cityofpeekskillny.gov/AgendaCenter/ViewFile/Item...

Also, there is no evidence of the fire department raising any objections to it except for a strongtowns.org blog post, and the youtube channel and the website appear to be the same entity.

So now I'm like "is the entire video bullshit"?

edit: I must be trippin because I know that European cities with narrow medieval streets have smaller fire trucks, but the dimensions for the Scania P460, a common euro-spec fire truck and MAN TGM (a fire truck used by a Dutch volunteer fire company youtube channel I follow) and a Pierce Saber (a normal, typical US-spec fire truck) are damn near identical except for a custom variation in length with US trucks being about 5 feet longer-- hardly a radical difference.

Consider at front and rear axle loads, not how your eyes perceive their sizes.
by AStonesThrow | 2025-04-10 19:09:42+00:00
I am reminded of the intersection between Indiana Jones and the Crystal Skull, and xkcd 2228:

https://tvtropes.org/pmwiki/pmwiki.php/Main/BombproofApplian...

https://m.xkcd.com/2228/

Hey, wouldn’t a refrigerator be an ideal space vessel for humans to explore Titan?
by wkat4242 | 2025-04-10 19:09:42+00:00
> That rules out most apartments in countries like the USA and UK

Yes I've always wondered why they love carpets so much. When I lived in such an apartment it was terrible. Always dirty and dusty. I'd much rather have a plastic, wooden or tile floor (the latter not ideal due to breakage though).

But you can ventilate, especially if you blow the air outside through an active blower.

And finally, makerspaces are a great way to do these things anyway. A community that can support and help you when you run into issues, friendly people around to borrow equiment and materials from, and they're usually pretty cheap if you don't get a fixed desks.
by debugnik | 2025-04-10 19:10:40+00:00
Here's the most basic error handling to implement, which I learned from studying FParsec:

1. Keep a collection of errors in the stream. It represents errors at the current position.

2. Clear all errors when input is consumed.

3. When a token-like parser fails without consuming input, push an "expected '<literal>'" error.

4. When a labeled parser fails without consuming input, restore the error set as it was before running it, and push an "expected <label>" error instead.

This will naturally accumulate errors from choice and repetition combinators, as long as you don't have needless backtracking before the choice points.

So this already gives you reasonable errors like "foo:17:4: expected one of expression, assignment or 'end'". And it's easy to extend to nested errors, backtracking information or recoverable nodes.
by tarentel | 2025-04-10 19:11:04+00:00
This seems like the subject part of RxSwift/Combine without any of the useful parts. For example, the networking example requires an explicit property whereas the code I would use for something like this would be to return an Observable directly. For most use cases, you don't have to handle state separately. Basically, this seems more complicated than using something like callbacks with this only having some very edge case benefits to that.
by 0x0 | 2025-04-10 19:11:10+00:00
I saw this on twitter a few hours ago on my phone, and misread the price as $25, so I was considering maybe putting in an order or even two, but when I revisited the site on my laptop and discovered it was $250, my curiosity hit a wall. Looks like a super neat product but unfortunately a bit overpriced for a gimmick.