MurphyA/hacker-news huggingface dataset:
by rybosome | 2025-09-02 17:50:26+00:00
I suppose my negative experiences with async fall under #3, that it is hard to maintain two APIs.

One of the most memorable "real software engineering" bugs of my career involved async Python. I was maintaining a FastAPI server which was consistently leaking file descriptors when making any outgoing HTTP requests due to failing to close the socket. This manifested in a few ways: once the server ran out of available file descriptors, it degraded to a bizarre world where it would accept new HTTP requests but then refuse to transmit any information, which was also exciting due to increasing the difficulty of remotely debugging this. Occasionally the server would run out of memory before running out of file descriptors on the OS, which was a fun red herring that resulted in at least one premature "I fixed the problem!" RAM bump.

The exact culprit was never found - I spent a full week debugging it, and concluded that the problem had to do with someone on the library/framework/system stack of FastAPI/aiohttp/asyncio having expectations about someone else in the stack closing the socket after picking up the async context, but that never actually occurring. It was impenetrable to me due to the constant context switching between the libraries and frameworks, such that I could not keep the thread of who (above my application layer) should have been closing it.

My solution was to monkey patch the native python socket class and add a FastAPI middleware layer so that anytime an outgoing socket opened, I'd add it to a map of sockets by incoming request ID. Then when the incoming request concluded I'd lookup sockets in the map and close them manually.

It worked, the servers were stable, and the only follow-up request was to please delete the annoying "Socket with file descriptor <x> manually closed" message from the logs, because they were cluttering things up. And thus, another brick in the wall of my opinion that I do not prefer Python for reliable, high-performance HTTP servers.
by yieldcrv | 2025-09-02 17:50:40+00:00
Thats the thing, what’s “illegal” will challenge our whole society when it comes do dynamically generated real interactive avatars that are new humans

When it comes to sexually explicit content in general with adults, all of our laws rely on the human actor existing

FOSTA and SESTA is related to user generated content of humans, for example. They rely on making sure an actual human isnt being exploited and burdening everyone with that enforcement. When everyone can just say “thats AI” nobody’s going to care and platforms will be willing to take that risk of it being true again - or a new hit platform will. That kind of content currently Doesnt exist in large quantities yet, until a video model ungimped can generate it.

Concerns about trafficking only rely on actual humans not entirely new avatars

regarding children there are more restrictions that may already cover this, there is a large market for just adult looking characters though and worries about underage can be tackled independently. or be found entirely futile. not my problem, focus on what you can control. this is whats coming though.

people already dont mind parasocial relationships with generative AI and already pay for that, just add nudity
by laurentlb | 2025-09-02 17:50:51+00:00
Building old code and getting the same result is not always trivial to do.

Potential issues:

- If you have content in a database, can you able to restore the database at any point in time?

- If you code has dependencies, were all the dependencies checked in the repository? If not, can you still find the same version you were using.

- What about your tools, compilers, etc.? Sure some of them like Go are pretty good with backward compatibility, but not all of them. Maybe you used a beta version of a tool? You might need to find the same version of the tools you were using. By the way, did you keep track of the versions of your tools, or do you need to guess?

Even with static websites, you can get into trouble if you referenced e.g. a JS file stored somewhere else. But the point is: going back in time is often much easier with static websites.

(Related topic: reproducible builds.)
by noman-land | 2025-09-02 17:51:08+00:00
I make it a point to retry foods I "don't like" at least once a year to confirm if I still don't like them. More often than not, that experience alone gets me to like the thing. Liking things is more fun than not liking things. Why wouldn't I want to move as many things as I can in my life from the dislike bucket to the like bucket?
by xp84 | 2025-09-02 17:51:47+00:00
I continue to be skeptical of hanging hopes for 'free speech' on expecting free-as-in-beer, ad-supported, privately owned websites to actively promote the things that you write.

Irrespective of how Musk's overall social media posturing portrays "free speech" -- X is the only one whose speech matters and they are apparently choosing to 'speak' in ways that don't support him. They are technically doing this guy a favor by letting him post on their site in the first place, and in an algorithmic timeline it is impossible to justify how much reach his posts "should" have vs. how much they do have.

If someone wants to post their speech, they should do so on their own website that they pay for and control. They should purchase advertising if they're not satisfied with their traffic. Thwarting those things -- now that's unethical government censorship, which one can justifiably be mad about. Depending on the government in question it may or may not be unconstitutional.

Relying on X or Meta or whomever to distribute your speech just because there's some vague notion of non-interference in speech on such platforms in the countries where they're based is foolish when you live somewhere else with different laws. Even if the US constitution had some draconian provision to force X to promote his speech, that can't really protect him in Turkiye where the government can just block X.
by throw-qqqqq | 2025-09-02 17:51:56+00:00
> But all it did was show us that async code just plain sucks compared to green thread code that can just block, instead of having to do the async dances.

I take so much flak for this opinion at work, but I agree with you 100%.

Code that looks synchronous, but is really async, has funny failure modes and idiosyncracies, and I generally see more bugs in the async parts of our code at work.

Maybe I’m just old, but I don’t think it’s worth it. Syntactic sugar over continuations/closures basically..
by gruez | 2025-09-02 17:51:56+00:00
>That's mostly irrelevant. If both Google and Apple banned you it would be difficult to get stuff done. No iPhone, no Android, yes you could find some hacker phone but for many people that would not be enough.

Luckily neither google nor apple does any hardcore KYC (yet) so such bans can be avoided with a new phone + phone number. Inconvenient? Yes. Being perma-locked out of digital services for the rest of your life? Hardly.
by hcamacho1 | 2025-09-02 17:52:07+00:00
Location:Toronto, ON, Canada

Remote: Yes

Willing to relocate:Yes

Technologies:Ruby, Python, LangChain, NumPy, LangExtract, BeautifulSoup, Typescript, JavaScript, React, Node.js, Express, PostgreSQL(PGVector), MongoDB, PineconeDB , Docker, DigitalOcean, Nginx,AWS (CDK, S3, Lambda, Batch, API Gateway, DynamoDB, EC2, ECS), Phabricator, Mercurial, Git/Github.

Résumé/CV:https://haroldcamacho.dev/Harold_Camacho_Resume.pdf

I'm a software engineer passionate about solving complex challenges with creativity and precision. With hands-on experience across a broad range of technologies, I thrive on continuous learning and building impactful solutions. Most recently, I co-created Splinter(https://splinter-app.github.io/),an open-source pipeline that simplifies unstructured data ingestion for AI applications. I’ve also contributed to the Mozilla Firefox browser, landing patches in key features such as Picture-in-Picture, Reader Mode,Private Browsing Mode, and about:policies. Also have experience building RAG-based AI chatbots that combine structured and semantic retrieval to deliver accurate, context-aware responses.

I’m fully available and open to remote, hybrid, or in-office roles. I’m eligible to work in Canada and don’t require sponsorship.

https://haroldcamacho.dev/
by goku12 | 2025-09-02 17:52:21+00:00
> But why?

To get the little-endian ordering. The place values of digits increase from left to right - in the same direction as how we write literature (assuming LTR scripts), allowing us to do arithmetic operations (addition, multiplication, etc) in the same direction.

> The brilliance of 8601/3339 is that string sorting is also correct datetime sorting.

I hadn't thought about that. But it does reveal something interesting. In literature, we assign the highest significance to the left-most (first) letter - in the direction opposite to how we write. This needs a bit more contemplation.
by IrisChase | 2025-09-02 17:53:06+00:00
Location: Atlanta, GA (USA)

Remote: Yes

Willing to relocate: Willing to consider

Technologies: C++, OpenGL, mostly custom work (would rather write the libraries)

Résumé/CV: Available upon request

Email: tracy@enesda.com (please mention HN in the title)

I'm a self taught software engineer, been a bedroom coder writing C++ for about 13 years or so. Spent a lot of that time trying to start companies so it was always my full intellectual output and not simply a hobby. Recent experience in the market has taught me that I'd just rather not run a software business.

Not interested in working at a typical web shop or an AI slop company. Most of my experience is in C++ for a reason. I've written TypeScript/React/Electron stuff but it's just not my preference. I was able to get really snappy performance out of Electron but it gave me a headache fighting the garbage collector the whole time (I won but at what cost?). I love talking asymptotic complexity and working on problems where it actually matters how to traverse a tree.

A couple recent projects of note:

Nucleus2: This is an eventually consistent key value store database, it's capable of asynchronous multi-master replication over the file system (think putting a database in DropBox). It's designed for "bring your own cloud"/local infrastructure. As far as I know the conflict resolution scheme is novel because I haven't found anything like it in my research. I've been meaning to write a white paper on it for a few years now but never got around to it. I can demo it for you if you'd like. I use a Nucleus2 driven project daily, so it's well proven at least for me.

Hui: Currently working on a GUI toolkit, kind of a hybrid of immediate mode and retained, some inspiration from React (but better separation of state I feel), DearIMGUI, etc, but with some major deviations from the norm like using a finite state machine for global event handling/dispatch instead of bubbling (it sounds crazy, but it actually works, I'd love to show it off). I'm writing the renderer in C++ targeting OpenGL. It's early in the project but it's promising to be very, very composable, and easy to use in a way I've never experienced before with a GUI system. I hope to make a demo video this month and if I do it in time I'll reply to this with a link to the video.

Hui is in service primarily to a 3D DCC application I am also working on (back-burner until Hui is ready).

Basically looking for an oldschool software company. Light on AI, light on web tech would be ideal. Yes I realize I just described a game studio, lol.
by ogab | 2025-09-02 17:53:07+00:00
I liked this article a lot because I’ve spent way too much time thinking about things like this, thanks to my mechanical keyboard and keycap hobby.

That said, it misses a key ancestor: the original Macintosh Keyboard (M0110). It had a Return key AND an Enter key in the bottom row, to the right of the spacebar and next to the Option key.

There was Command key on the left only, which seems to mark the evolution from the “Open Apple” and “Closed Apple” keys. If I recall correctly, Return was intended for typing, while Enter was used for GUI interaction, but I’m not entirely sure.

Even into the 2000s, laptops were still figuring things out. I had a 12-inch PowerBook G4 with two keys labeled “Enter”:

- One accessible via Fn + Return - One as its own key in the bottom row, next to the right Command key

This layout meant it only had one Option key. It also featured a lockable numpad layer, so having a standalone Enter key made less sense to me. Unless it was meant for spreadsheet number crunchers? Or there was still that typing/GUI distinction in Mac OS 9 somewhere?
by alphazard | 2025-09-02 17:53:11+00:00
The complexity is unwarranted. The only thing that needs standardizing is how to hand over public keys (SSH format works fine), and what to sign to prove identity.

Everything else about managing which public keys are for what does not need to be decided in a standard. The users can choose whatever key management solution works best for them. What those links get at is a problem of key management. A single set of keys, where you send all of them to every server all the time, is a bad strategy.
by kirin_memorang | 2025-09-02 17:53:16+00:00
Memorang (AI-powered EdTech stack) | Full-Time | Remote Our mission: Build the AI stack for education—an agentic framework to launch, monetize, and power learning apps 50× faster. We bootstrapped to profitability, were voted #1 among 1,500 in the Vercel AI Accelerator, and collectively reach tens of millions of learners.

---------

Open Roles:

Full-Stack Engineers: Work on mission-critical, rapid POCs to MVPs using TypeScript, React/Next.js, AWS Lambda, Postgres, and Neo4j. Help shape infrastructure and UI for bleeding-edge AI-powered features.

Senior AI Agents Engineers: Own modular agent architecture, RAG pipelines, and LangGraph-based systems in TypeScript/Node.js. Architect reasoning layers, agent memory, and performance tuning for intelligent learning agents.

Graph Engineer (Neo4j “guru”) – Lead graph modeling, Cypher optimization, and scaling strategies for our core knowledge graph.

Product Designers: Design intuitive UX/UI for AI-powered content creation and learning tools. Collaborate closely with engineers on fast-moving features. We're looking for Figma power users who think in systems, move quickly, and have a portfolio of clean, polished, shipped work.

Technical Product Manager: Define schemas, APIs, and workflows that bridge AI research to production. Own developer tooling, agent orchestration layers, and internal platforms like Linear/Notion. Drive clarity, velocity, and scalability across multi-agent, LLM-powered systems.

--------

Why Memorang?

Remote-first, async-friendly team with flexible hours

Health & wellness stipends, home-office support, paid time off

Opportunity to ship systems used by millions—at a built-for-speed profitable startup.

--------

Apply here: https://memorang.com/careers

Or email careers@memorang.com with your CV, a short note (1–3 sentences) about which role excites you and why, and a link to your best project or portfolio.
by pessimizer | 2025-09-02 17:53:20+00:00
> The government does not "track" or "access" or "use" those 3rd party scores.

This is absolutely untrue. The government is a customer of all of these companies, and can whip up a chorus of brownshirts to loudly complain about any objections to the government doing this. There's a reason everybody who talks about speech should know what a long obsolete device called a "pen register" does. It's what we now refer to as a public-private partnership.

> It's a bit like 1st amendment in the US.

It is, in that the government can pay or blackmail* companies into censoring your speech, and doesn't have to bother with prior restraint.**

-----

[*] ...through selective application of what is usually antitrust legislation.

[**] ...which the 1st Amendment never mentions, but has been bound to it by people and judges who wanted to censor speech about communism and birth control.
by robwwilliams | 2025-09-02 17:53:28+00:00
The jump to 1 million token length context for Sonnet 4 plus access to internet has been a game-changer for me. And somebody should remind Anthropic leadership to at least mirror Wikipedia; better yet support Wikipedia actively.

All of the big AI players have profited from Wikipedia, but have they given anything back, or are they just parasites on FOSS and free data?
by tmaly | 2025-09-02 17:53:35+00:00
What if content providers reduced the 30k word page for a recipe down to just the actual recipe, would this reduce the amount of data these bots are pulling down?

I don't see this slowing down. If websites don't adapt to the AI deep search reality, the bot will just go somewhere else. People don't want to read these massive long form pages geared at outdated Google SEO techniques.
by viscanti | 2025-09-02 17:53:50+00:00
Well how much of it is correlation vs causation. Does the next generation of model unlock another 10x usage? Or was Claude 3 "good enough" that it got traction from early adopters and Claude 4 is "good enough" that it's getting a lot of mid/late adopters using it for this generation? Presumably competitors get better and at cheaper prices (Anthropic charges a premium per token currently) as well.
by jacobr1 | 2025-09-02 17:54:12+00:00
The wave of CRM is CDP. Customer Data Platform. The key is that it isn't just your basic account data, but all the behavioral data across various system interactions both online and off (if applicable). Shopping Cart abandonment email campaigns are pretty benign. But the outrage around the targeted ad for baby/pregnancy products that made the news from Target a few years ago is just the start for what more insightful data signals can give you. I don't really care about most retailers knowing what I buy. I do care about them reselling that data to big aggregators that know everything I buy, where I go and when, and join that what sites I visit and what mail I get. It is too much and can be abused.
by lstodd | 2025-09-02 17:54:18+00:00
idk stackless dates back to 2005 at least, most likely earlier.

greenlet which is sort of minimal stackless .. before 2008

pycoev which is on one hand greenlets without memmove()s, on the other hand sort of io-scheduled m:n threading I wrote myself in 2009.

so, at least idk, 20 years?

It was first needed. Then 10 years passed, people got around to pushing it through the process aaand by the time it was done it was already not needed. so it all stalled. Same with Rust.

Nowadays server-side async is handled very differently. And client-side is dominated by that abomination called JS.
by AnotherGoodName | 2025-09-02 17:54:23+00:00
I’ve been working on board game ai lately.

Fwiw nothing beats ‘implement the game logic in full (huge amounts of work) and with pruning on some heuristics look 50 moves ahead’. This is how chess engines work and how all good turn based game ai works.

I’ve tried throwing masses of game state data at latest models in pytorch. Unusable. It Makes really dumb moves. In fact one big issue is that it often suggests invalid moves and the best way to avoid this is to implement the board game logic in full to validate it. At which point, why don’t i just do the above scan ahead X moves since i have to do the hard parts of manually building the world model anyway?

One area where current ai is helping is on the heuristics themselves for evaluating best moves when scanning ahead. You can input various game states and whether the player won the game or not in the end to train the values of the heuristics. You still need to implement the world model and look ahead to use those heuristics though! When you hear of neural networks being used for go or chess this is where they are used. You still need to build the world model and brute force scan ahead.

One path i do want to try more: In theory coding assistants should be able to read rulebooks and dynamically generate code to represent those rules. If you can do that part the rest should be easy. Ie. it could be possible to throw rulebooks at ai and it play the game. It would generate a world model from the rulebook via coding assistants and scan ahead more moves than humanly possible using that world model, evaluating to some heuristics that would need to be trained through trial and error.

Of course coding assistants aren’t at a point where you can throw rulebooks at them to generate an internal representation of game states. I should know. I just spent weeks building the game model even with a coding assistant.
by gruez | 2025-09-02 17:54:29+00:00
There was a comment that appeared for a few minutes before getting deleted, that vaguely lined up with what I wanted to say. It didn't reappear, so I'll just repost it:

>real life also has social credit. were you an asshole to the bartender last week? that goes to your reputation at that bar. did you volunteer with a local non-profit? that goes to your reputation with that organization. even without an algorithm, people remember.
by socalgal2 | 2025-09-02 17:54:46+00:00
Asking a random LLM to give reasons they might do this. Again, I'm not saying they do this. I'm saying my fear that they might isn't unfounded

* To Prevent Unfair and Unfounded Ratings: Uber could argue that some riders misuse the rating system. They might give a driver a low rating for reasons outside of the driver's control, such as traffic, a bad mood, or a simple misunderstanding. This policy would be presented as a way to protect drivers from being unfairly penalized, which could affect their livelihood.

* To Combat "Rating Terrorism" or Coercion: A rider might threaten a driver with a low rating to get a free ride, demand an unscheduled stop, or force them to violate a rule. By banning riders who frequently give low scores, Uber would be taking a stance against this kind of behavior, ensuring that the rating system is used as a genuine feedback mechanism, not a tool for coercion.

* To Discourage "Troll" Behavior: Some users might be incentivized to give consistently low ratings just to cause trouble or get attention, a practice often referred to as "trolling." This policy would be framed as a way to filter out users who are not participating in the community in good faith and are instead just trying to cause problems.

* To Maintain Driver Confidence in the Platform: Drivers rely on their ratings to maintain their account status. If they feel that riders are unfairly giving them low scores without consequence, they may become disillusioned with the platform and switch to a competitor. Banning riders who give consistently low ratings would be a way to show drivers that Uber has their back.

* To Improve Service by Identifying and Removing "Unreasonable" Riders: Uber could frame this as a data-driven approach. They might claim that their internal data shows a small percentage of riders who give low ratings to virtually every driver, regardless of the quality of the service. By removing these outliers, they would be improving the overall efficiency and health of the marketplace for the vast majority of drivers and riders. The goal would be to cultivate a community of "reasonable" users who understand and use the ratings system as it was intended.

To continue, for me, my experience is I would rate low probably 7 of 8 drivers for the reasons I gave above. They all break traffic laws and drive recklessly. I kind of wish the app would let me set a driver preference. I'd chose

(*) drive at the speed limit. Don't break any laws. Drive cautiously.

others might choose

(*) get there as fast as possible - (implying ignoring speed limits, weaving through traffic, cutting people off, ignoring turn lanes, etc...)

At least that way the driver would know up front what the user expects. Me, I'd give them 5 stars for not risking my life. Others would give them 5 stars for going as fast as possible.

As it is, I don't rate them low. I just don't rate at all because of the fear of being banned.