MurphyA/hacker-news huggingface dataset:
by brokegrammer | 2025-08-07 09:15:12+00:00
I'm not a fan of SQLAlchemy because of the Data Mapper pattern, and abstractions that force you to still think in terms of SQL tables and expressions.

For example, in Django I can have a User object. I want a update the user's first name:

my_user.first_name = "Joe"

my_user.save()

In SQLALchemy:

my_user.first_name = "Joe"

session.add(my_user)

session.commit()

Users can leave comments, so I want a query that aggregates comments for each user. In Django:

users = User.objects.all().prefetch_related("comments").annotate(comment_count=Count("comments"))

Each user will now have a `comment_count` property that contains the number of comments they left.

In SQLAlchemy:

session.query(User, func.count(Comment.id).label("comment_count")) .outerjoin(User.comments) .group_by(User.id) .all()

However, each User won't have the `comment_count` property. You have to manually associate them from the returned tuple.

I feel like SQLAlchemy wants to force you to do more work, whereas the Django ORM wants to provide you with the data you asked without forcing to you think about how to actually get the data from the database nor how to optimize the query. In Django, session management is done automatically, but it SQLAlchemy, you need to be aware of the session most times.

It's good to know SQL but you can use the Django ORM without knowing it. Not the same with SQLAlchemy. Could be a pro or a con depending on the situation. Definitely a pro for me because I don't like SQL.
by wkat4242 | 2025-08-07 09:15:31+00:00
It's also a lot less convenient. Because I need to have access to my email, wait for the code, copy it etc. I hate companies that dump this extra work on me, like booking.com and all the AI companies.

Passkeys would be so much easier, convenient and so much more secure. I really don't understand why they go for this.
by kilpikaarna | 2025-08-07 09:16:43+00:00
> The Way in C

Is it though? (Ab)using C macros so you can write obviously-not-C stuff like (from the example):

SegmentArray(Entity) entities = {0};

Seeing that kind of thing in example C code just makes my hair stand on end because you know it's someone who actually wants to write C++ but for whatever reason has decided to try to implement their thing in C and be clever about it. And I'm going to have to go parse through multiple levels of macro indirection to just understand what the hell is going on.

Seems like a useful data structure, despite the shortcoming that it can't be accessed like a regular array. Normally auto-expanding arrays involves realloc which is tricky with arena allocation. But jeez, just pass void pointers + size and have it assert if there's a mismatch.
by cthalupa | 2025-08-07 09:16:54+00:00
I would agree, personally - I won't go near DNP, and even the newer stuff like BAM15 that is supposed to be incredibly selective I am quite suspicious of.

But you still see people losing tons of weight on GLP-1s wanting it to go faster, drop more pounds, etc.

I'm a big proponent of them - and I have enough risk tolerance that I'm on grey market retatrutide - but I see a lot of people that want to just keep adding more and more chemicals to the equation to solve the issue. I've taken the time to significantly modify my food and exercise habits, and believe that I'll be able to maintain my weight loss if I were to go off of the GLP-1. But a lot of people haven't. They eat the same bad food, just in lower quantities, don't increase their protein and fiber intake, don't exercise, and just up the dose or add a new compound when their rate of weight loss doesn't satisfy them.

There's tons of interest in BAM15, clenbuterol, and all sorts of experimental substances. Tons of people taking things like tesamorelin and ipamorelin too.

I think the GLP-1s are basically miracle drugs that have allowed a lot of people, including myself, to totally revamp their approaches to diet and fitness. But there's a lot of people that are going to be more than happy to increase their cocktail with anything they think will get them skinny faster.
by StillBored | 2025-08-07 09:17:09+00:00
And there is _NOTHING_ worse than being locked out of an account because without asking they reverse the password and second factor authentication while your traveling and don't have access to a phone/etc.

Nevermind. that pretty much all services treat the second factor as more secure than my 20 character random password saved in a local password safe. And those second factors are, lets see, plain text over SMS, plain text over the internet to an email address, etc, etc, etc.
Show HN: Screenbites – Share only part of your screen
by qutek | 2025-08-07 09:17:28+00:00
Hi HN,

I built Screenbites, a small desktop app that lets you share just a cropped portion of your screen along with a spotlight cursor and live annotation tools.

I use an ultrawide monitor, and screen sharing during meetings was always painful. Everything looks tiny to viewers, and sharing a single window isn’t ideal when switching between apps. So I made a tool that solves that: - Crop and share any part of your screen - Spotlight your cursor - Draw or highlight live during calls - Whiteboard-style canvas mode - Works with Zoom, Teams, Meet, etc. - Available for Mac and Windows

It’s free to use with basic features, and there’s a one-time upgrade option.

Would love your thoughts or feedback, especially from anyone who shares screens often or teaches online.
by Cthulhu_ | 2025-08-07 09:17:48+00:00
I'd say edited, I did wonder if they used AI to find the issues in the first place but they would brag about that front and center and pivot to an AI-first security company within seconds. Then again, maybe they used AI to help them map out what happens in the code, even though it's Go code and should be pretty readable / obvious what happens.

That said, I think it's weird; the vulnerabilities seem to have been found by doing a thorough code review and comprehension, why then cut corners by passing the writeup through AI?
by tialaramex | 2025-08-07 09:18:03+00:00
Herbie - the tool which exists today - is excellent, but the perhaps more significant insight is that this could and should in principle be baked into compilers.

That is, a future language should let you say here's a real expression, and I want you to give me an approximation in my 64-bit floating point representation, and here's the parameters for accuracy and performance. What do those parameters look like? Herbie's existing UI might help us somewhat but it's definitely up for experimentation.

Compare regular expression handling - you are not expected in any popular language today to manually translate the expression into an FSM and then run the FSM, that's all done for you, you just write down the expression, real arithmetic could be the same.
by integralid | 2025-08-07 09:18:31+00:00
I am tech blogging for free, and my expected return is people reading my content, recognition, attribution, social media attention and people discussing my content.

I have zero interest in providing free labor for LLM companies with no human actually reading my words. I don't think I'm alone in that stance.

Similarly, I used to help people on forums for free. My reward was getting respect of my peers, the feeling of helping another human being and sometimes them being grateful, rare side job opportunities thanks to people finding my specialist posts. That was fun, being anonymous question-answering bot for AI to scrape is not.
by deepdarkforest | 2025-08-07 09:19:17+00:00
> It handles complex coding tasks with minimal prompting...

I find it interesting how marketers are trying to make minimal prompting a good thing, a direction to optimize. Even if i talk to a senior engineer, i'm trying to be specific as possible to avoid ambiguities etc. Pushing the models to just do what they think its best is a weird direction. There are so many subtle things/understandings of the architecture that are just in my head or a colleagues head. Meanwhile, i found that a very good workflow is asking claude code to come back with clarifying questions and then a plan, before just starting to execute.
by AndrewOMartin | 2025-08-07 09:19:20+00:00
I just can't resist, pointing out that a "minute" is what you get when you split up an hour into 60 minute (i.e. the word pronounced my-newt) pieces, and a "second" is what you get if you break a minute into 60 pieces (i.e. you've performed the division a "second" time).

By this logic, 0.016 (recurring) seconds should be a called a "third".
by becominghim | 2025-08-07 09:19:24+00:00
interesting read. The idea of introducing a "homemade" sign like the french are trying to do would work wonders in London. Mind you, its not just pubs that are serving suboptimal food - i would go out to "restaurants" as a party of 2 and leave underwhelmed, bloated and greasy after paying upwards of £150.
by antirez | 2025-08-07 09:19:28+00:00
Because the sentence makes no sense, but what the author wanted to say was:

- You are in front of the attacker site that looks like a legitimate site where you have an account (you arrived there in any way: Whatsapp link, SMS, email, whatever). Probably the address bar of your browser shows something like microsoft.minecraft-softwareupdate.com or something alike, but the random user can't tell it's fake. The page asks you to login (in order to steal your account).

- You enter the email address to login. They enter your email address in the legitimate site where you actually have an account.

- Legitimate site (for example Microsoft) sends you an email with a six digit code, you read the code, it looks legit (it is legit) and you enter it in the attacker site. They can now login with your account.
by Ygg2 | 2025-08-07 09:20:48+00:00
> Well Slack may have a few more features over IRC but none of them should cause my laptop fans to start spinning. Many of the slowdowns in modern web are because of trackers. Software may be more efficient but all that is neglected by software trying to do more. But so much of that "more" isn't resulting in more features for the user.

It's literally Electron based. Trackers are a rounding error in the ocean that is Chrome + Node.

Got one idling in memory on my Intel mac rn. Let's see. 341 MB or Slack renderer, 198 MB of Slack Helper GPU, 72 MB for Slack itself + 50MB for Slack Helper stuff. Literally eating 661 MB of memory doing practically nothing. Which means a huge web tracker (circa 10MB) is 1.5% of that.

Electron itself is the culprit, more than any tracker. And reason Electron is used is that: HTML/CSS/JS is the only cross platform GUI that looks similar on all platforms, has enough docs/tutorials, and has enough of frontend developers available.
by Cthulhu_ | 2025-08-07 09:20:54+00:00
I can imagine they could have used AI to analyze, describe and map out what exactly happens in the code. Then again, it's Go, following the flow of code and what exactly is being checked is pretty straightforward (see e.g. https://github.com/hashicorp/vault/blob/main/vault/request_h... which was mentioned in the article)
by nly | 2025-08-07 09:21:05+00:00
Unfortunately std::deque is hobbled in the Microsoft implementation. Its block size is such that if T is larger than 8 bytes it devolves to a linked list.

And it can't be fixed due to binary compatibility.

https://github.com/microsoft/STL/issues/147

By contrast the GNU implementation has a block size of 512 bytes

Fortunately in high performance systems the times where you actually want an unbounded queue are limited.
by cthalupa | 2025-08-07 09:21:33+00:00
> Eventually you'd want to come off the drug, right? When that happens, you would need to do just this.

I've made enough changes to my lifestyle that I am confident I could come off the drug and maintain the lost weight. I've added weight lifting with the prospect of bodybuilding as a hobby. I'm likely going to need to take time off just to get enough calories in during periods when I am trying to add muscle because I won't want to eat enough otherwise.

But I'm not actually looking forward to that, because the list of positive effects from these medications that are independent of weight loss is quite long. I expect that short of any major detrimental side effect suddenly rearing it's head or gene editing or some other superior thing appearing, I'll be on these for life, regardless of weight.
by jqpabc123 | 2025-08-07 09:21:35+00:00
Nothing about this meme stock makes any sense.

Robotaxis and auto sales are in many ways opposing forces in the marketplace. Cheap robo rides means less reason/demand to buy a car.

In addition to competition from China, Tesla is now competing against itself. Which I suppose is really just an extension of supporting Trump as he opposes EVs.

And somehow; out of this chaos and nonsense, Musk will make investors rich?
by rkomorn | 2025-08-07 09:21:51+00:00
Maybe (I can't emphasize enough that I say this with a high degree of skepticism) they'll come up with a way of doing cited/credited/paid work where the LLM will include who "taught" it something.

Eg: instead of writing a blog post, you'll submit a knowledge article to an AI provider and that'll go into the AI's training set and it'll know "you" told it. And maybe (even more skeptical) pay you for it.

Again: highest degree of skepticism, but at the same time, that's the only way I could see people continuing to write content that teaches anything.
by globular-toast | 2025-08-07 09:23:36+00:00
Obviously it will depend on what you're doing and one's tolerance for things many deem to be annoying. I've encountered people with incredibly high tolerance for slow and awkward workflows but, alas, I am not one of them.

If I had to call out one thing it would be that you can't do tests without having a database there. This results in incredibly slow tests for even the simplest things. I don't need to test database persistence every time I'm testing some domain logic. So maybe then don't do fat models and "map" the data from Django models to a domain layer? Well, congrats, you've just manually implemented a data mapper ORM, which is what SQLAlchemy is.

It works well for simple CRUD stuff, which is really useful. But it very quickly becomes a mess and a big ball of mud when you start to do more complicated things. IMO a db access layer or web framework should be completely independent of domain logic, but Django makes that really difficult.
by hellofriendss | 2025-08-07 09:23:41+00:00
Well, if that's the case, the author should become an AI scientist. Top experts earn around $300 million working for companies like Google and Facebook. As a regular software engineer, you could only earn enough to pay some basic bills and survive from month to month. It's even worse in Europe: as a top software engineer in Germany, your salary will not even reach that of an unqualified floor tiler.
by stonecharioteer | 2025-08-07 09:23:49+00:00
I have been trying to relearn go, and I thought about how I relearn Rust this past year and how much Rustlings helped me. I wanted something similar, and I wasn't happy with what I could find. Exercism came close to being what I want but it's too tied to the web app, I cannot download all the exercises at once and then work without switching to my browser.

Goforgo is what I needed. I had a lot of fun figuring out how to design the application, and how to generate the exercises by reigning in Claude Code.

I'll be working through the exercises myself, and I'll be updating them as I go along.

I also stretched thus beyond what Rustlings tries to do and included exercises for k8s, Kafka, Hadoop, Spark, Cobra, Bubbletea, Elastic Search and Mux. The testing system is designing to spin up whatever services a particular exercise needs and not just test STDIO. I now feel I want the same thing for Typescript and Elixir.

If anyone tries it out, feedback is most welcome at the github issues.
by demetris | 2025-08-07 09:24:22+00:00
Another thing to watch for is whether you actually need debouncing.

For example, debouncing is often recommended for handlers of the resize event, but, in most cases, it is not needed for handlers of observations coming from ResizeObserver.

I think this is the case for other modern APIs as well. I know that, for example, you don’t need debouncing for the relatively new scrollend event (it does the debouncing on its own).
by Cthulhu_ | 2025-08-07 09:24:48+00:00
I'd argue it's odd that they (or LDAP) normalise input in the first place. I can sort-of understand username normalization to avoid having both "admin" and "Admin" accounts, but that check only needs to be done when creating an account, when logging in it should not accept "Admin" as valid for account "admin".

But I'm neither a security person nor have I done much with authentication since my 2000's PHP hobbying. I suspect an LDAP server has to deal with or try and manage a lot of garbage input because of the sheer number of integrations they often have.
by notahacker | 2025-08-07 09:26:05+00:00
Tbf we had nuclear [fission] pulsed propulsion technology in the 1960s in roughly the same way we had nuclear fusion in the 1960s: we had an understanding of some basic principles of physics and some calculations that looked broadly plausible

The problem with using thermonuclear explosions to produce that level of thrust are more "but can we actually do it safely" than "but can we do it in a way that generates more that it takes to produce", but that's a not inconsiderable problem even without all the international agreements about where we shouldn't be exploding nuclear bombs...
by jjav | 2025-08-07 09:27:08+00:00
Learning a new language as an adult is brutally hard.

I spoke four languages by elementary school, including learning a new one (portuguese) in fifth grade. It was all seamless, zero effort, perfect local accent. So I have plenty of language background.

I've spent almost 20 years now as an adult trying to learn french and find it impossible. Still speak it at a 2-year old level, at best. I have constant daily exposure to french, it's just an impossible language. Or that learning a new language as an adult it impossible.
by pjc50 | 2025-08-07 09:27:48+00:00
There's plenty of threats by Putin to use first strike nuclear weapons if NATO troops directly engage Russian troops. So the current approach is indirect: British "military advisers" train Ukranians in the use of British Javelin missiles, but don't pull the trigger themselves.

Even a non-nuclear direct conventional war would get very messy very quickly. NATO would have to seize Kaliningrad and Belarus, start interning Russian nationals, rush forces to hold the Baltic states, and so on. It's not complicated to say "this will be very expensive and deadly, so we're not going to do it unless absolutely forced to".

European states are now re-arming (the irony of fate is that it's now US policy for Germany and Japan to re-arm), but that is going to take a while.
by druskacik | 2025-08-07 09:27:50+00:00
evil.example.com can be a legitimate-looking website (e.g. a new tool a person might want to try). If it has a login with email code, it can try to get the code from a different website (e.g. aforementioned Shopify).

For the username + password hack to work, the evil.example.com would have to look like Shopify, which is definitely more suspicious than if it's just a random legitimate-looking website.
by burnt-resistor | 2025-08-07 09:30:25+00:00
Meta had an internal tool called "dotsync". It persisted multiple revisions of dotfiles across multiple machines associated with a particular user's account. It supported ignoring history and secret files by patterns. This is a superset of simply storing all dotfiles in a single git repo. This unmaintained project seems suspiciously similar including the name: https://dotsync.org
by raxxorraxor | 2025-08-07 09:30:25+00:00
No, the institutions of the EU allow nation states to push through unpopular legislation, for which they could be held accountable on a national level. At least to a larger degree.

So in this case it is the fault of the EU as well because its structures allow this to happen.

I prefer battling one national government instead of 27.

The EU certainly isn't democracy in action, on the contrary it is highly technocratic. Without the promised proficiency though.
by seanhunter | 2025-08-07 09:30:26+00:00
Weird bytelengths were very much the norm in early computing but noone (seemingly) ever mass-produced a 10 bit computer[1].

In the first 3⁄4 of the 20th century, n is often 12, 18, 24, 30, 36, 48 or 60. In the last 1⁄3 of the 20th century, n is often 8, 16, or 32, and in the 21st century, n is often 16, 32 or 64, but other sizes have been used (including 6, 39, 128).

[1] https://en.wikipedia.org/wiki/Comparison_of_instruction_set_...
by davedx | 2025-08-07 09:30:38+00:00
I have grown increasingly to think that interstellar travel will be done by acceleration/decceleration superstructures; moon sized railgun loops like particle accelerators except for spacecraft. Some form of Von Neumann machinery will be required to construct and maintain these.

This kind of system is the only way to:

1. Escape the tyranny of the rocket equation and

2. Harness the power of solar energy for transportation to its fullest

I wrote a draft proposal about this if anyone is interested!
by johnisgood | 2025-08-07 09:30:39+00:00
Even I switch to VSCodium when I write Go, for example, because the Go extension is just so good. I use it for medium- and large-sized projects, when I have to navigate through multiple files. There are ways to do it in Vim (I configured it), and Emacs, but sometimes it really is just easier to click since I am already using the mouse for stuff. There are people who never use their mouse, in which case I can imagine they use Emacs or Vim only.
by heikkilevanto | 2025-08-07 09:31:17+00:00
I was doing that for a few decades. Had to wear contacts for my astigmatism. Had my right dominant eye optimized for long distance, and the left with +1 or so for reading. I started to use cheap reading glasses on top when reading a lot. Had to give up the monovision trick and get multifocal glasses when my eyes aged more. But even with them, I kept a bit of monovision since I was so used to it.
by Mattykry | 2025-08-07 09:31:32+00:00
Hello HN! I’m Matteo, founder of SleepLive (https://sleeplive.io). We’re building a lightweight platform to help ASMR creators take paid custom requests from fans without the usual DM/email chaos—and we’d love your feedback.

-The problem we saw

Scattered requests: Creators juggle DMs, comments and emails, losing track of who asked for what.

Uncertain payments: Fans often commit verbally but fail to pay, or creators deliver before getting paid.

No formal workflow: There’s no standardized process for quoting, delivering, reviewing and resolving disputes.

-What SleepLive does

Request portal: Fans submit audio/video requests on your public profile. Custom quote: You reply with your price and turnaround time—simple “accept/decline.”

Upfront payment: When the fan agrees, they pay immediately; the request becomes an order.

Protected delivery: You upload the final file; we run a quick admin check to ensure quality/legality.

-Key benefits

Reliable earnings: No more “will you pay me?” back-and-forth.

Clear pipeline: Requests → quotes → orders → delivery → feedback, all in one dashboard.

________________________________________

-Questions for HN:

Does this workflow address pain points you’ve seen in creator platforms?

Any missing features or edge cases we haven’t considered?

Thoughts on pricing models or launch strategy for a niche community?

I’m eager to hear your thoughts—what works, what feels off, and how we can improve before our beta opens. Thanks in advance for your time and honest feedback!

—Matteo