MurphyA/hacker-news huggingface dataset:
by const_cast | 2025-05-19 06:45:38+00:00
> I'm interested in why C++ was chosen for this?

For the same reason C++ is chosen for a lot of projects. Probably the authors have a lot of experience in C++.

For an exceedingly complex and large project, you really want to choose a language you're very proficient in. Like, years and years of experience proficient in. If you don't have the experience in Rust then you don't have it. And, Rust is really the only other language that can be considered here. Swift, C#, whatever, are just a tad too high-level to write an engine in. At least, ergonomically.

I looked at the source code briefly and it's very high-quality code. Writing good C++ is hard, harder than pretty much any other language. It's modern, it's consistent, it's readable, and it's typed well.
by otagekki | 2025-05-19 06:45:40+00:00
I haven't read that book, but asked for a summary. Honestly, I cannot see software being regulated the same way as food industry is, for the very simple reason that software can trivially cross borders (legally or not) while food cannot. Regulating that industry to prevent any progress by erecting bureaucratic barriers in a given country will just kill the industry in that country and make it thrive elsewhere where it's less regulated. As a result, the regulation-freak country will lose any of its competitive advantages due to lesser efficiency.

Doing this on a global scale requires "CFC-ban"-levels of global coordination which I cannot see happening in the world we live in today. Just look at how global CO2 reduction and climate change is being handled today at the global scale.
Show HN: Create printable coloring pages from your ideas
by itsalexgrill | 2025-05-19 06:47:21+00:00
I created https://coloringbook123.com – a small side project where you can turn any idea into a printable coloring page using AI.

It started when I wanted to create custom coloring pages for my friends' daughter (my own son is still too young for that), but everything I found online was either low quality, locked behind paywalls, or simply not customizable. So I built something myself.

There are two ways to create coloring pages:

1. Describe what you want (e.g., "a dinosaur in space" or "a cozy cabin in the woods")

2. Upload your own image and turn it into a coloring page

The idea came to me in mid-2024, and I started developing it in November 2024. During that time, I noticed that others had launched similar tools (or I just didn't found them at my previous research). I briefly thought about abandoning the project – but I really wanted to finally finish a hobby project and make it publicly available. So I kept building and tried to come up with features that make coloringbook123 stand out:

- A large gallery of free coloring pages available for download as PDFs

- Free creation of coloring pages without registration – current limit: 2 per day per visitor

- Multi-language interface

- A variety of pre-defined styles, such as a "Toddler" style that creates images suitable for very young kids

- Bulk generation – create up to 32 coloring pages at once

- A user-friendly gallery and UX, including a personal feed showing all your generated images, which you can favorite or re-download later. It is super helpful for mass generation (I think of people creating coloring books to sell, for kindergardens or just for families who are really into coloring pages)

Here are some tech specs for all techies :-)

NextJS, Vercel, Neon PostgreSQL Database, Inngest Workflows, OpenAI, FLUX, Clerk Auth

Would love to hear some feedback!

Thanks
by tianshuo | 2025-05-19 06:48:13+00:00
Sorry, but as a paid Windsurf user, I think Windsurf should stop chasing shiny frontier models and focus on building better predictable & manageable workflows to build real-life products. - How about providing a Jira/Trello-style dashboard with subtasks for our AI, instead of copy-pasting "Cline Memory Bank" to .windsurfrules? - How about supporting TDD and regression-fixing by default? - How about using git with branches instead of the current undo-redo system? - How about a better way of syncing documentation vs real code?

We are paying for more "manageable" AI agents to get stuff done, not a chaotic "genius-hacker" to hack together quick prototypes.
by alexey-salmin | 2025-05-19 06:48:54+00:00
The referenced reply is dull. It's very pretentious but just reiterates common knowledge, it doesn't convey any useful information.

For example I wish someone told me about the existence of Miele kitchen equipment before I accidentally rented an apartment of a well-to-do woman. She renovated it for herself but then rented out when circumstances changed.

Similarly it took me a long time to realize just how much better the veneer wood furniture and doors are compared to laminated chipwood. Price is 3-4 times higher but it lasts 5-10 times longer and is much more pleasant to use. Unfortunately you need years to notice such long-term differences, unless someone tells you.

And I'm basically learning to be lower-middle class here. I'm sure there are similar things to know in higher stratas and I'm unlikely to live long enough to find out naturally even if I happen to get the money somehow.
by xitang | 2025-05-19 06:49:43+00:00
I have built various stuffs in the past few years and have came to appreciate more and more on things that will never get tired of. It can be a good indication that the problem spaces are large and remain unsolved as well as the opportunities. In such case, there are always rooms for anyone to come in to innovate and put their own spin to it. This is sometimes better than working on something that few or barely anyone works on, which can be an indication that the problem space is too small and only affects small set of folks.

Love the list btw. What is an example of "personal knowledge base" type app? Like Notion?
by const_cast | 2025-05-19 06:49:55+00:00
> Sometimes it works, sometimes it doesn't.

A lot of time it doesn't work, but more importantly, when it doesn't work the people who pay really can't tell. Law and medicine are very complex and ultimately are near total trust industries. When I go to the hospital I relinquish complete control to a bunch of people I don't know. Often literally - I could be under general anesthesia and couldn't fix the problem myself even if I wanted.

If the healthcare outcomes are worse in pursuit of a small increase in profit, I, the consumer, wouldn't know. There's so many corners to cut and I think a lot of them you could cut with only a small loss in quality. Probably nobody would notice.
by toast0 | 2025-05-19 06:51:13+00:00
> You would expect he has lots of free time and mental space at hand to do whatever he wants, instead it turns out he has to now worry about managing that money.

> And its not exactly a easy job. Managing big money can be hard as any loss even a small percentage is a lot of money. And that begins to weigh heavily on you in form of stress as there is a lots at stake.

A three-fund portfolio pretty much scales from $100 to $100M, probably more. Once you have enough money do whatever you want, you can do stocks:bonds anywhere between 20:80 and 80:20 and you'll be alright, and if not, there probably wasn't a reasonable choice you could have made with the information available.

If he's got enough to be set for life, and he's worried about market fluctuations, that's a choice.
by sitharus | 2025-05-19 06:51:18+00:00
This isn’t a new principle, it was part of database design courses in the early 2000s at least. However from a couple of decades of bitter experience I say external keys should never be your primary keys. They’ll always change for some reason.

Yes you can create your tables with ON UPDATE CASCADE foreign keys, but are those really the only places the ID is used?

Sometimes your own data does present a natural key though, so if it’s fully within your control then it’s a decent idea to use.
by yjftsjthsd-h | 2025-05-19 06:53:27+00:00
Er, no? To select an avatar, the app triggers a file picker, you navigate anywhere in the filesystem and pick a file, and the system hands the app just that file with no access to anything else.

In the case where you want an app to have persistent access to a directory, it's true that the easiest way is to use the normal filesystem layout and then take the default mappings, but at least with flatpak you can tell it to map in arbitrary different directories and then use them just fine (ex. I've used this to give Steam storage on external disks).

These features are effective when used, and while they can have inconveniences, those rough edges can be rounded off by customizing the protections (while still protecting most of the system).
by ldubost | 2025-05-19 06:54:03+00:00
A good news as part of this is that the United Nations is gathering the endorsements using end to end encrypted software CryptPad Forms (https://cryptpad.fr/form/#/2/form/view/GvF3q-LsyL-OZgX4G0r2p...)

This is great because it stops giving users to services which don't respect privacy. If you don't know CryptPad which provides forms but also many editors including Office with end to encryption, try it at https://cryptpad.fr
by petesergeant | 2025-05-19 06:54:48+00:00
> The four seasons isn't materially better than the hilton next door

I think it would be more fair to say that the Four Seasons isn't materially better than the _Conrad_ next door. I've stayed in some amazing Hilton-branded properties, but also some terrible ones. I guess I am expecting the hotel brand to denote the _minimum_ level of comfort, and there are some Hiltons that truly drag along the bottom, where I'd be very surprised to find myself at a shitty Four Seasons (or Conrad, which is the HHG's next step up from a Hilton).
by godelski | 2025-05-19 06:55:34+00:00
This is a fair enough distinction. Though I still think there is more contextual nuances at play. Shallow Hal seems to fit both cases. To be vapid or shallow. We certainly don't just critique those for exclusively caring about other's appearances but also those that only care about their own.

Which I can see a deterioration of the vapid criticism as social media capitalizes on this nature. Not just with people, but we do seem to care more for form over function now.
by smittywerben | 2025-05-19 06:55:36+00:00
I already spent time proofreading it, but I forgot that I couldn't edit it after so much time. Unless the merciful admin lets me roll the 12-sided dice to replace the above cringe with the below piece I carved out of soap.

---

I always check for maintained libraries for my programming languages for any messaging library. Bindings in many languages are consistent across Kafka, ZeroMQ, and NATS.

Kafka is a write-ahead log, not a queue per se. It handles transactions to the disk. The networking is a simple broadcast, not a shared queue. You also can't (canonically, at least) pop/insert/delete rows. It's append-only. It can do basic seeking, like replaying from the start.

ZeroMQ is a good choice for learning from its excellent documentation, and programmers interested in C programming. Probably a good lead into Beej's networking guide. ZeroMQ is the odd one as it has no central broker ("Zero" for zero broker); you copy your favorite broker.py pattern from the ZeroMQ guide.

Dropping anchor to throw in the POSIX standard sockets, the BSD kqueue, the Linux epoll, newer io_uring, and libuv for boring cross-platform asynchronous I/O.

https://zguide.zeromq.org/docs/preface/

https://beej.us/guide/bgnet/html/split/

https://pubs.opengroup.org/onlinepubs/9699919799/functions/p...

https://pubs.opengroup.org/onlinepubs/9699919799/functions/s...

https://man.freebsd.org/cgi/man.cgi?kqueue

https://man7.org/linux/man-pages/man7/epoll.7.html

https://man7.org/linux/man-pages/man7/io_uring.7.html

https://docs.libuv.org/en/v1.x/
by flowerthoughts | 2025-05-19 06:56:14+00:00
The balance between teaching the use of modern tools, but not letting that ruin learning seems to be real, based on a Master's thesis that was handed in yesterday. It can help you get a more academic wording, but language rewriting is probably the most likely to get caught in one of those cheat detectors.

Hopefully the research is solid enough that it's easy to dismiss any automatons complaining about LLM language...
by xitang | 2025-05-19 06:57:03+00:00
Thanks for the note on the lag issue! I notice it as well and haven't gotten a chance to optimize it, but I think it is likely to due too many rows (400+) re-rendering, etc.

The site is built with Next.js, Typescript, React, tailwindcss, and deployed to Vercel. The cron job is a vercel function, which I believe is just a nice wrapper on aws lambda.
by M95D | 2025-05-19 06:57:19+00:00
The Beckman-Coulter HmX hematology analyzer uses an non-PnP ISA card and MS-DOS software. The connection between the analyzer and the card is a cable as thick as my thumb and a connector larger than a Centronix.

The software communicates with the card by directly reading and writing to I/O addresses of the card. No modern OS or virtualization would ever allow that. It's why you can't have sound in old MS-DOS games unless you boot DOS or Win9x, or emulate the complete system.
by sylvinus | 2025-05-19 07:01:30+00:00
Facts (and code) are following. We're building a fully open source workspace (https://lasuite.numerique.gouv.fr/en) among other ambitious initiatives (https://beta.gouv.fr/).

The turmoil caused by the two contracts you mention also prove that the new normal has already shifted towards open source. It's a slow process, but it's undeniable that we are making progress.
by xitang | 2025-05-19 07:01:51+00:00
One good news is that US remote companies have been expanding to Europe, which will drive up salaries there over time to attract top talents. Gergely Orosz's Trimodal Nature of Tech Compensation in the US, UK and India has info on top paying companies in UK: https://newsletter.pragmaticengineer.com/p/trimodal
by internet_points | 2025-05-19 07:04:06+00:00
> First, the zealots today are no longer the progressives on the left – liberals, socialists, trade unionists. Instead they are predominantly on the right: campaigners against immigration, Brexiters, the enemies of Woke, aka Anti Social Justice Warriors, or ‘Anti-SJW’, as they proclaim themselves on their black T-shirts, available online for £15. This switch-around isn’t entirely new.

It has already switched back, now that the right wing is in power. It used to be that you would get your talk cancelled for having views that challenged family values. Now you get deported for having views that challenge the war machine.
by nickserv | 2025-05-19 07:04:50+00:00
Well that's the real question, isn't it?

Our current best technology, LLMs, are good enough for translating an email or meeting transcript and getting the general message across. Anything more creative, technical, or nuanced, and they fall apart.

Meaning for anything of value like books, plays, movies, poetry, humans will necessarily be part of the process: coaxing, prompting, correcting...

If we consider the machine a tool, it's easy, the work would fall under copyright.

If we consider the machine the creator, then things get tricky. Are only the parts reworked/corrected under copyright? Do we consider under copyright only if a certain portion of the work was machine generated? Is the prompt under copyright, but not its output?

Without even getting into the issue of training data under copyright...

There is some movement regarding copyright of AI art, legislation being drawn up and debated in some countries. It's likely translations would be impacted by those decisions.
by theshrike79 | 2025-05-19 07:05:34+00:00
PyScript runs inside HA and IIRC the Python in it has some quirks because of it.

AppDaemon[0] runs alongside it and is more "real" Python, it mostly just responds to events sent to it.

NodeRED has a direct integration and is (in my experience) best for complex state machines as you can easily debug them and actually see the logic work.

They also have a REST API to trigger things and a Websocket API if you need more real-time stuff (subscribing to events instead of querying states)

Then there is just straight up MQTT, where you need to do it all yourself.

What HA shines is that it tends to have ready-made community integrations with _everything_. And enough users for each that if something breaks, people will notice and it'll be fixed promptly.

[0] https://github.com/AppDaemon/appdaemon
by whatever1 | 2025-05-19 07:05:36+00:00
I think after industrialization we started realizing how advanced knowledge of complex topics can multiply our impact and wealth. No wonder all nations strived to educate their people and their people aspired to go to colleges and get higher specialized degrees.

The reality is that the economy cannot occupy all these specialists and still requires a ton of fungible generalists. In fact we made so many specialists that themselves became fungible. Look at the tech layoffs, they casually throw under the bus industry legends, simply because everyone has become nearly replaceable.

And even from a societal perspective you would think that with more knowledge we would become more tolerant, more rational etc etc. Well how did that work out?
by Jarwain | 2025-05-19 07:05:50+00:00
Idk that reeks of security through obscurity to me. Your authorization/permission scheme has got to be fubar'd if you're relying on obscuring IDs to prevent someone from accessing a resource they shouldn't.

I'm sure I'm missing something obvious, but I'm not sure what other threat vectors there are, assuming it's in conjunction with other layers of security like a solid authorization/access control scheme.

I guess I'm not the biggest fan for a few reasons. I'd rather try and design a system such that it's secure even in the case of database leak/compromise or some other form of high transparency. I don't want to encourage a culture of getting used to obscurity and potentially depending on it instead of making sure that transparency can't be abused.

Also, it just feels wasteful. If you have two distinct IDs for a given resource, what are you building your foreign keys against? If you build it against the hidden one, and want to query the foreign table based on user input, you've gotta either do a join or do a query to Get the hidden key just to do another query. It just feels wasteful.

EDIT: apparently RFC 4122 even says not to assume UUIDs are hard to guess and shouldn't be used for security capabilities. So if it shouldn't be depended on for security, why add all this complexity to keep it secure?
by kortilla | 2025-05-19 07:07:22+00:00
The mobile phones they had were absolute garbage, service was abysmal, and the security was non existent.

There was no way to get to a smartphone without cumulatively trillions of dollars of investment in silicon, software, network rollouts, and so on. A person with 100 billion in 1998 could not have bought one despite it being a decade away for the entire population.

The very wealthy cannot get things that are that special and it’s actually pretty amazing. Warren Buffet has called out several times that he lives like a regular middle class American and the main exception is flying private, but if were forced to choose he would dump the jet over the iPhone.
by femto | 2025-05-19 07:07:41+00:00
It sounds like you want the ability to instantiate a scratch block that contains a text box, which in turn contains the function body for the block? It would then be possible to incrementally write as little or as much as desired in text.

Getting fancy, that block could use a backend interpreter/compiler of choice, so the language could be Squeak, Python, C, an LLM generator, ...
by mirsadm | 2025-05-19 07:08:04+00:00
Well done, this is really cool. It is nice to see more modern C++ in use. The codebase is really easy to read and understand.

People here need to get over the fact that it's not Rust. I use C++ for my own projects because I enjoy writing in C++. I just wouldn't write them if I forced myself to use Rust or whatever else.
by tnjm | 2025-05-19 07:08:12+00:00
Thanks for building this!

It struggled with tasks I asked for (e.g. download the March and April invoices for my GitHub org "myorg") -- it got errors parsing the DOM and eventually gave up. I recommend taking a look at the browser-use approach and specifically their buildDOMTree.js script. Their strategy for turning the DOM into an LLM parsable list of interactive elements, and visually tagging them for vision models, is unreasonably effective. I don't know if they were the first to come up with it, but it's genius and extracting it for my browser-using agents has hugely increased their effectiveness.
by alexey-salmin | 2025-05-19 07:08:19+00:00
Well that falls under the "unless someone tells you" part.

It depends on your background. I grew up in Russia in the 90s, back then it was considered cool to put plastic panels on the walls of your apartment. Fresh and modern look, easy to wash, clearly superior to wallpaper. It was called "euro-renovation" as opposed to soviet-style or "grandma" apartments.
by rushiiMachine | 2025-05-19 07:09:24+00:00
Having written a few JNI libraries in Rust (jni-rs specifically) myself, I'd argue that it catches & prevents a lot of potential mistakes when using JNI, especially regarding error handling/refs/types. I would pick using jni-rs any day over raw JNI. The simplicity of the C JNI API is also the cause of much pain when your project expands in scope.
by threeseed | 2025-05-19 07:10:01+00:00
It's ideological purity which has no place in the real world.

Fully normalised structures are slow, dangerous and place expensive and frustrating burdens on upstream users reducing the amount of value that can be extracted from the data.

I've been working around data for 20+ years and not once seen a dataset where tables could be blindly joined without some conditions. In these situations it can be better to just pre-join them so the business logic is captured.

You want to be pragmatic and have a healthy and constructive mix.
by watwut | 2025-05-19 07:10:06+00:00
> I haven’t read the piece, but if someone makes a well-reasoned argument, it doesn’t matter who they are or what credentials they hold.

I strongly disagree. Well reasoned means nothing if it is not based on anything real except own imagination. And it means nothing if it was not checked against reality.

Our tendency to favor "sounds plausible and logical" even when the person writing it never bothered to check reality is just yet another logical fallacy.
by paulbernard | 2025-05-19 07:10:41+00:00
Leo, AI will do what all technology has done that has preceded it. It will create time for people to do other things. It is entirely up to people to decide what to do with that time. Will it be disruptive? Perhaps. Will it cause some harm if adoption is too swift? Perhaps, but creating time for people to do more valuable pursuits in the context of the entire history and future of human civilization is a necessity to ultimately attain the true utility of human potential.

The alternative would leave us digging in the earth as subsistence share crop farmers barely growing enough food to survive because the peasant couldn't adapt along with the rest of civilization and create new ideas, new methods, new forms of art and literature, new jobs that couldnt even be imagined by that humble farmer. There are limitless things that AI will not be able to do. Let's spend our new found time discovering and inventing them.
by mschild | 2025-05-19 07:11:01+00:00
This is not the first article I have read about it. Throughout all of them, though, one main question I still could not find an answer to is: stronger than which steel? HSLA, carbon, rebar?

Other than that, I'm all for it. We're renovating our house currently and made some structural changes. Would've loved to exchange some load-bearing steel beams with wooden ones so we could even leave them exposed as a design element.