MurphyA/hacker-news huggingface dataset:
Show HN: Evolved.lua – An Evolved Entity Component System for Lua
by blackmat | 2025-05-21 15:46:45+00:00
I'm excited to announce the first release of my library, evolved.lua!

evolved.lua is a fast and flexible ECS (Entity-Component-System) library for Lua. It is designed to be simple and easy to use, while providing all the features needed to create complex systems with blazing performance.

Enjoy!
by quadhome | 2025-05-21 15:47:00+00:00
Galileo’s open service (civil-access) E1 signal incorporates public/private key encryption to digitally sign and authentify data. False Galileo signals from malicious forces are easily detected and rejected by GNSS receivers because they lack encryption watermarks. The feature, called Open Service-Navigation Message Authentication (OS-NMA), has been fully operational since August 2023.
by ovaistariq | 2025-05-21 15:47:43+00:00
At Tigris, we encountered a pattern where uploaded files included fake CAPTCHA screens as a way to hide malicious payloads and bypass detection.

These fake CAPTCHAs look legitimate but are used to trick users into executing malware, and they're surprisingly effective at evading static analysis.

We shared what we found and how we're improving our detection pipeline: https://www.tigrisdata.com/blog/fake-captchas/
by upofadown | 2025-05-21 15:48:21+00:00
>One of the deadliest GPS L1 civil signal interference events occurred on Dec. 25. On that date, Azerbaijan Airlines Flight 8243, an Embraer 190, was lured off course while enroute from Baku, Azerbaijan, to Grozny, Russia.

I am not seeing anything about that in the Wikipedia article:

* https://en.wikipedia.org/wiki/Azerbaijan_Airlines_Flight_824...

It sounds like the GPS was jammed, not spoofed. The aircraft had already shot some missed approaches at the destination airport before the event that caused the loss of the aircraft.
by addaon | 2025-05-21 15:48:42+00:00
> There is no UB in hardware registers or physical DRAM

This seems very sensitive to specific definitions that others might not share. DRAM is provided with a spec sheet that defines its behavior (if you write to an address, you’ll read back the same value from the same address in the future) under certain conditions. If you violate those conditions, the behavior is… undefined. If you operate DRAM with the wrong refresh timing, or temperature, or voltage, or ionizing radiation level, you may see strange behavior. Even non-local behavior, where the value read from one cell depends on other cells (RowHammer). How is this not UB?
by fork-bomber | 2025-05-21 15:48:49+00:00
In such scenarios, the assembly routines lend themselves to relatively easier manual scrutiny - given that they are smaller in size compared to the much larger higher level language code in the project.

It's the latter that really needs the compiler's assistance to help remove memory safety issues (it is much harder for humans given the code size and complexity order). The fact that that safe higher level language code is inter operating with inherently unsafe code (as per the Rust definitions) is absolutely OK.
Launch HN: Sim Studio (YC X25) – Figma-like canvas for agent workflows
by waleedlatif1 | 2025-05-21 15:49:15+00:00
Hey HN! We're Emir and Waleed from Sim Studio (https://simstudio.ai). We did a Show HN a few weeks ago about our open-source project (https://news.ycombinator.com/item?id=43823096). Today, we’re launching our hosted platform—a collaborative interface to build and deploy agent workflows. We just removed the waitlist (with 5,000+ people) and you can sign up and access it at: https://simstudio.ai

Sim Studio lets you build agents with different models, tools, and custom functions. In minutes, you can deploy a research agent. Demo here - https://youtu.be/F6MqNvnfxbI

We started working on Sim Studio because we were frustrated with agent frameworks that required excessive boilerplate code and unhelpful abstractions (like agent roles and backstories). We also tried other visual interfaces, but found them difficult to set up and too limited for production use cases. Specifically, we wanted the ability to write custom functions, force tool calls, and run parallel execution.

We’re taking a different approach. Our visual canvas lets you explicitly define how agents interact, use external tools, and handle complex logic like branching, loops, and conditional execution. You can seamlessly integrate with popular tools like Supabase, Pinecone, Mem0, and Exa without obscure abstractions.

You can simulate workflow runs, deploy workflows as APIs or standalone chat interfaces, and trigger them via webhooks. We offer built-in observability, detailed trace spans, and logs that make debugging straightforward. Try searching yourself below:

Example message for https://hn.simstudio.ai:

- Search [person] from [company] - "Search Emir Karabeg from Sim Studio"

Check out our Apache 2.0 licensed repo at https://github.com/simstudioai/sim, explore our docs at https://docs.simstudio.ai, or try out our deployed chat from the demo video here: https://hn.simstudio.ai.

We’d love to hear your feedback! Do you think our visual solution is a good approach to building agents?
by jowea | 2025-05-21 15:49:49+00:00
You think so? I believe that's properly a consequence of culture, Discord being originally a gaming platform, and of pseudoanonymity, the same thing you have on reddit. Anyone who cares even a tiny bit can join any of those public servers and see what you posted. The big difference is that you don't have as many lurkers who just got there by googling and are going to leave immediately. By the 1-9-90 rule of thumb, that's a lot of people.
by airstrike | 2025-05-21 15:50:43+00:00
Thank you for putting this out there! I'll make sure to let you know what I think when I try it out—but I have some wood to chop on other parts of my app before I get into scripting.

Re: lists and loops, is that not supported because it hasn't been a priority or because it requires some fundamental redesign? Which is to say, if I wanted to add those down the road, is this something I could try my hand at implementing on my own and possibly contributing back?
by pizzuh | 2025-05-21 15:51:08+00:00
It's great to see more and more adoption for MCP. I'm not sure it's the most bulletproof protocol, but it feels like it's in a strong lead, especially with OpenAI support.

I've been using Codex for the last 24 hours, and background mode boosts your output. You can have Codex work on n+ features async. I had it building a database model alongside frontend authentication, and did both pretty well.
by Propelloni | 2025-05-21 15:52:24+00:00
> SI should never have a space

You are mistaken. SI units and their numbers always have a space. For reference [1], [2].

[1] https://www.npl.co.uk/si-units cf. Numerical Notation

[2] https://physics.nist.gov/cuu/Units/checklist.html cf. #15

EDIT: Scooped ;)
by tiniuclx | 2025-05-21 15:52:32+00:00
With difficulty! For my hacking simulator Botnet of Ares [0] I am mostly using my log + MailerLite newsletter to keep people engaged. I've had some success sharing on Reddit as well, but it's hard to get traction without breaking the subreddit rules. Twitter hasn't been that good for me so far.

Generally sharing the project around the internet has been pretty decent for SEO, and my links are now ranking fairly high when people are specifically searching for the game, which is nice.

[0] https://store.steampowered.com/app/3627290/Botnet_of_Ares/
by squigz | 2025-05-21 15:52:45+00:00
> But increasingly what we're seeing is people going through data sets to find those old odious opinions of somebody when they were 14 years old and using that as proof that they must still be a terrible person at 24. It's a paranoid, completely self-defeating worldview, but unfortunately it's all too common right now, and I think it's honestly a huge reason for the massive political polarization we're seeing in the moment.

I have to seriously question the actual prevalence of this. If someone posts and says "Look at what this person posted 12 years ago!" I'm not going to take them very seriously. I don't know anyone who would. This sounds like the usual "cancel culture" stuff that mostly boils down to "people face consequences for their present shitty behavior"

Anyway, as an avid Discord user, manager of a Discord community, and privacy advocate, I sympathize with this position, but as a software user and developer, and advocate for accessible FOSS (and accompanying information), I unfortunately have to side with the release of this and similar datasets. I would much rather this than the inevitable loss of so much valuable information.
by strogonoff | 2025-05-21 15:54:09+00:00
Game modding is profitable and people doing it professionally (which they increasingly do) are quite attuned to the fact that making it too accessible would decimate their revenue. As a result, you either pay for the mod (early access, extra content, etc.), or you pay to join some Discord, but ideally you pay for something. Discord, which I generally dislike, is not necessarily the cause of it; if there was no Discord, people would probably use some other closed community platform instead.

I expect this would become more widespread as more traditional jobs are subsumed by unregulated ML tech (which, incidentally, the encumbent job-holders are helping train) and more people turn to what used to be generally a hobby as their means of making a living (not that that would last for too long either).
by disqard | 2025-05-21 15:54:19+00:00
I've been following and boosting this account on LinkedIn:

https://www.linkedin.com/in/ken-cheng-991849b6

It feels like giving LinkedIn a dose of its own medicine.

Edit: here's a typical post of Ken's: https://www.linkedin.com/posts/ken-cheng-991849b6_i-launched...
by pjmorris | 2025-05-21 15:54:33+00:00
Chris Arnade wrote a book, 'Dignity', traveling and talking with 'back-row' Americans about the individuals who have had the losing end of how the US economy has been run. I also think of James McMurtry's song 'Can't Make It Here Anymore.' Lastly, I'd wager anyone who's on the winning end of the US economy can drive half an hour out of town and find empty storefronts and rundown houses.

If the purpose of the country is to support the 'life, liberty, and the pursuit of happiness' of individuals, there might be a balance that needs to be re-struck.
by igouy | 2025-05-21 15:55:08+00:00
> Version control is tricky with image-based systems

Back in the day:

"ENVY/Manager augments this model by providing configuration management and version control facilities. All code is stored in a central database rather than in files associated with a particular image. Developers are continuously connected to this database; therefore changes are immediately visible to all developers."

https://www.google.com/books/edition/Mastering_ENVY_Develope...

These days:

"Package files are simple text files, encoded for latin alphabet (ISO 8859-15) and handled without problems by GitHub. Cuis-Smalltalk uses the LF (ascii code 10) newline convention, as preferred in GitHub. This allows Git/GitHub to diff versions, and merge branches."

https://drcuis.github.io/TheCuisBook/Daily-Workflow.html
by cogman10 | 2025-05-21 15:55:50+00:00
At least in the case of stocks, even before LLMs entered the scene, stock articles were being written by machines rather than journalists. [1]

I'd bet money this isn't the only place that has machine generated content. Proving exactly what is and isn't that would be a bit tricky.

[1] https://www.gsb.stanford.edu/insights/robo-journalism-good-n...
by phickey | 2025-05-21 15:56:11+00:00
Wasmtimes C bindings for components are still a work in progress. In general C programming is always going to require more work than Rust programming, due to the limitations of C abstractions, but at the moment it’s also held back by how much energy has gone into the C bindings, which is much less than the Rust bindings which many of the maintainers, myself included, created and are using in production at their day jobs.

More info: https://github.com/bytecodealliance/wasmtime/issues/8036 Several folks have volunteered work on the C bindings over the last year or two, with this contributor making progress most recently: https://github.com/bytecodealliance/wasmtime/pulls?q=is%3Apr...
by chilipepperhott | 2025-05-21 15:56:14+00:00
Contrary to some of the other comments here, I've actually found great success on Reddit and HN.

Post about your project and position it as a story. Becoming a part of the community and creating an ongoing narrative there around your project is a great way to get people interested.

Here's a good example: https://www.reddit.com/r/rust/comments/1f8159z/the_allegatio...
by SSJPython | 2025-05-21 15:56:56+00:00
> As Wilson writes in his expansive and somewhat baggily written introduction, now—amid increasingly dire ecological and political conditions—we can see our own world in Faust more clearly than ever before. For Faust, he writes, is “about a world which had taken leave of God but did not know how to live.”

Man has a natural inclination to worship something. For most of human history, that has been the divine/supernatural/metaphysical. Nowadays, rationalism and materialism have become the main objects of worship. But rationalism and materialism do not have answers to the existential questions and crises that humans face.

Similar to Christ saying that "man cannot live on bread alone", man cannot live on materialism alone - spiritual nourishment is a very real and necessary thing.
by mrob | 2025-05-21 15:57:26+00:00
Jim Lill has a video testing amp tone:

https://www.youtube.com/watch?v=wcBEOcPtlYk

It's almost entirely EQ and distortion, applied in various orders (the exact signal chain matters, because EQ after distortion sounds different than distortion after EQ). By getting this right you can simulate any tube amp tone with solid state to a high degree of accuracy.
by mananaysiempre | 2025-05-21 15:57:39+00:00
> What's the problem with that?

Intrinsically, nothing, as long we remember the amoral nature of the whole thing. That what you say is true has nothing to do (in either direction) with its consequences being good in my, your, or anybody else’s conception of goodness; each one of us will have to evaluate that completely independently.
by 90s_dev | 2025-05-21 15:57:56+00:00
I've always been under the impression that if you make something truly useful or interesting, it will spread through word of mouth naturally and quickly.

This is how my book The Gospel by Gen Z became a best seller in 2023-2024. I did absolutely no advertising for it. People posted tiktoks about it of their own volition, got dozens of millions of views, and that was the source for 100% of my sales.

The same thing is true about my project I posted last night, still at the top of Show HN right now apparently. I spent about 6 months during 3 months time writing code that I personally thought was good and useful and powerful and interesting. When I shared it, it all went terribly wrong. I wrote the article in a rush while I was having a very bad day. I forwent polishing it up before releasing it. And yet it got lots and lots of upvotes for some reason.

I suck at advertising and promotion. I honestly really do. And to a large extent I feel like that's a good thing. I've always felt uncomfortable with the traditional route of advertising, which is basically to oversell the potential usefulness of your product, to the point of basically being straight up lying.

So I guess my only advice is to just make something you personally believe in, and the rest will follow.
by bumby | 2025-05-21 15:58:03+00:00
>the government is pretty incompetent and full of grifters

Is this based on actual data or just vibes from your interactions with the DMV, IRS, etc.?

Michael Lewis writes well about this. His perspective is that the govt often shoulders the hard problems that lack a clear path to profitability for private industry. He’s studied govt extensively and seems to have the opposite view.
by ncruces | 2025-05-21 15:58:36+00:00
> Databases with journal_mode=wal cannot be modified via LiteVFS (but can be read)

Without modifying SQLite (what the Turso guys did), the WAL index is hard (but not impossible) to share across a network boundary. I'm guessing that's the why here. There's a hack that I'm pretty confident works, but I'm not sure how it behaves under latency (sure enough that I use it for Windows, and it hasn't caused issues running mptest thousands of times in CI over months).

Leaving it here, maybe Ben's interested.

https://github.com/ncruces/go-sqlite3/blob/c780ef16e277274e7...
by TheRealPomax | 2025-05-21 15:58:47+00:00
> "A single 1-kW jammer can take down GPS for a 300-nm radius."

This is one of those occasions when capitalisation really matters: "nm" (lowercase) is nanometer, the tiniest of scales. On the other hand, "NM" (uppercase) is nautical miles, used in aviation (because aviation is stuck in the age of sail, and measures distance in boat miles and speeds in boat miles per hour)

All Aviation literature will tell you to never spell it lowercase, and this is why. There's a lot of physics in aviation, and it's too easy to misread things. Always get your units right.
by chriswarbo | 2025-05-21 15:59:41+00:00
For code that's more "business logic" rather than "algorithmic", I find the following helpful:

- Despite the terrible tutorial examples, PBT isn't about running one function on an arbitrary input, then trying to think of assertions about the result. Instead, focus on ways that different parts of your production code fits together, what assumptions are being made at each point, etc.

- You don't need to plug random inputs directly into the code you're testing. There are usually very few things to say regarding truly arbitrary inputs, like `forAll(x) { foo(x) }`; but lots more to say about e.g. "inputs which don't contain Y" (so run the input through a filter first), or "inputs which don't overlap" (so remove any overlapping region first), and so on.

- Don't focus on the random inputs; the whole idea is that they're irrelevant to the statement you're asserting (it's meant to hold regardless of their value). Likewise, if your unit test contains some irrelevant details, use PBT to generate those parts instead.

- It's often useful in business-type software to think of a "sequence of actions" (which could be method calls, REST endpoints, DB queries, or whatever). For example, "any actions taken as User A will not affect the data for User B". Come up with a simple datatype to represent the actions you care about, write a function which "interprets" those actions (i.e. a `switch` to actually call the method, or trigger the endpoint, or submit to query, or whatever). Then we can write properties which take a list of actions as input. Remember, we don't need to run truly arbitrary lists: a property might filter certain things out of the list, prepend/append some particular actions, etc.

- Once we have some assertion, look for ways to generalise it; for example by looking for places to stick extra things which should be irrelevant.

As a simple example, say we have a function like `store(key, value)`; it's hard to say much about the result of that on its own, but we can instead say how it relates to other functions, like `lookup(key)`:

forAll(key, value) { store(key, value); assertEqual(lookup(key), Some(value)) }

Yet we don't really care about lookups happening immediately after stores, we want to make a more general statement about values being persisted:

forAll(key, value, pre, suf) { runActions(pre) # Storing shouldn't be affected by anything before it store(key, value) runActions(suf.filter(notIsStore(key))) # Do anything except storing the same key assertEqual(lookup(key), Some(value)) }
by aaronbaugher | 2025-05-21 15:59:49+00:00
That seems like a feature, which would force those writing legislation to stop turning it into thousands of pages of unreadable jargon to hide its purpose.

Today, legislation isn't written by legislators.[1] It's written by lobbyists and special interest groups, then massaged into its final form by legislative staff, who then provide a summary to the figurehead who will be voting on it. Since it's impossible for those legislating to really know what's in the bill, those creating it have no reason not to obfuscate it as much as possible, and every incentive to do so.

[1] https://publicintegrity.org/politics/state-politics/copy-pas...
by thegrim33 | 2025-05-21 16:00:41+00:00
It's kind of telling/ironic that the author gripes (whether rightfully or wrongly) about PG&E wanting more return on investment due to their risk of doing business in California, but when the author decides to build their own power system to not deal with PG&E, literally almost every paragraph related to their planning/setup contains a mention of some different California/city regulation that the author had to meet or else it's illegal for them to build their own power system. To the point where they had to pay a professional to help them meet all the regulations.
by jowea | 2025-05-21 16:00:43+00:00
Why does Discord the company get to own the message history on public servers but Twitter or Reddit or traditional forums can get scrapped by anyone wanting to make their own commercial AI willy-nilly?

> These are social spaces where a lot of young people essentially grew up. An important part of social development is making mistakes and learning from them. How can you make mistakes when those mistakes are archived for all time for everyone to see?

Understandable, but really, if you want to solve that, then you're up against all of social media. The only difference is that Discord wants you to make a free 2 minutes account so you can join the public server to look at what they said, instead of putting it on Google.
by bumby | 2025-05-21 16:01:01+00:00
I’m saying it’s much harder than your original comment insinuates. That jet in your example has tens of thousands of parts and if you want to protect the entire supply chain, it can’t just be a few companies. Many of those suppliers are also not just supporting jet manufacturers. Eg, a company that makes teflon o-rings for the jet likely makes o-rings for dozens of non-aerospace products. Complex machines are not nice, vertically integrated manufacturing ventures in the modern economy.
by LoganDark | 2025-05-21 16:01:06+00:00
> What are you referring to here?

In this case my use of "unsound" is somewhat stretched to "particularly easy to make subtle mistakes as a programmer":

https://www.reddit.com/r/golang/comments/1h5ws8e/comment/m09...

https://build-your-own.org/blog/20241125_go_slice_surprise/
by patcon | 2025-05-21 16:01:07+00:00
> And when we look at amateur politicians (smaller elections, smaller electoral pools, first time candidates) then we see this happen.. more. Much, much more.

It's a known fact that smaller governments are more corrupt, but that's due to low levels of infrastructure for oversight, not because of some equivalence in corruptability of the career political players vs small/amateur players. [1]

Small outsider players with similar oversight as federal politics would surely be less corruptible in the ways we normally track

[1]: https://en.wikipedia.org/wiki/Corruption_in_local_government
by tensor | 2025-05-21 16:01:14+00:00
In a way the whole AI hand wringing is already the ultimate whataboutism. We’ve had irrefutable evidence of human caused climate change for over a decade at least, with dire consequences. And? Very little action. In fact, we’re now going backwards. The right way to look at this is comprehensively, not looking only at one issue.

So yes let’s hand wring over AI and continue to do nothing about everything else. And we’ll probably do nothing about AI either, but the endless articles will no doubt keep people distracted.