MurphyA/hacker-news huggingface dataset:
by MrJohz | 2025-08-07 10:18:36+00:00
This can be used as part of that step (i.e. converting `foo()` into `true` or `false`), but I think the expectation is that you'll have another step in the build process that automatically strips away `if(false)...` statements and inlines `if(true)` ones.

Almost any minifier will automatically do this, for example, and most can be configured so that they only do constant folding/dead code elimination, so the result will be a file that looks like the one you've written, but with these comptime conditions removed/inlined.

Obviously with C preprocessor macros, you've got one tool that evaluates the condition and removes the dead code, but with comptime you have more flexibility and your conditions are all written in Javascript rather than a mix of JS and preprocessor macros.
by JumpCrisscross | 2025-08-07 10:21:24+00:00
Look up Evo ICL [1]. It’s an implanted lens using the same procedure as cataract surgery.

Its major advantage over LASIK is reversibility. (Also lower incidence of dry eyes, a shorter healing time, no reduced night vision and UV protection for your retina if you’re outdoors a lot.) The major downside is it’s a bit more expensive.

[1] https://us.discovericl.com/
by simonask | 2025-08-07 10:21:59+00:00
I'm currently writing a Vulkan renderer in Rust, and I decided against wgpu for this reason - its synchronization story is too blunt. But I don't necessarily agree that this style of programming is very much at odds with Rust's safety model, which is fundamentally an API design tool.

The key insight with Rust is to not try to use borrowing semantics unless the model actually matches, which it doesn't for GPU resources and command submission.

I'm modeling things using render graphs. Nodes in the graph declare what resources they use and how, such that pipeline barriers can be inserted between nodes. Resources may be owned by the render graph itself ("transient"), or externally by an asset system.

Barriers for transient resources can be statically computed when the render graph is built (no per-frame overhead, and often barriers can be elided completely). Barriers for shared resources (assets) must be computed based on some runtime state at submission time that indicates the GPU-side state of each resource (queue ownership etc.), and I don't see how any renderer that supports mutable assets or asset streaming can avoid that.

I don't think there's anything special about Rust here. Any high-level rendering API must decide on some convenient semantics, and map those to Vulkan API semantics. Nothing in Rust forces you to choose Rust's own borrowing model as those semantics, and consequently does not force you to do any more runtime validation than you would anywhere else.
by ThePowerOfFuet | 2025-08-07 10:22:36+00:00
>The only thing that PISSES me off is that the stupid Trenitalia does not show me which platform the train is departing/arriving from. It blows my mind that this CRUCIAL information is not shown anywhere and you literally have to be standing in the station to hopefully find it.

The Trenitalia app shows arrival and departure platform and time info per station, as well as for trips you are currently taking.

There is also this gem of a website, no TLS and with 2007 iPhone 1.0 design language, but it works:

http://www.viaggiatreno.it/infomobilitamobile/pages/cercaTre...
by onecommentman | 2025-08-07 10:23:27+00:00
Khan the Mongol, not Kahn the neighbors of Hank and Peggy Hill, I assume. This just standard corporate sucking-up with a little swag. A bit more than a T-shirt but not worthy of even five seconds of consideration.

Worry instead about the hidden corruption that allows politicians to gain several orders of magnitude more wealth from insider stock trading tips.
by matthewmacleod | 2025-08-07 10:23:46+00:00
Actually I think it's pretty similar to your example. The "intended semantics" of the search action in that sort of field are to search for the text you enter – not to search for the the side-effects of in-progress partial completion.

Yes, it's not an exact comparison (hence analogy) – but it's not anything worth getting into a fight about.
by vidarh | 2025-08-07 10:24:23+00:00
It was, but note it's a scan, and so the point was to show off that it could reproduce photos. E.g. from Compute! September 1985[1].

Sachs was of course also immensely popular, and did enough work that I have no doubt more Amiga users saw his pictures.

Here's a page with a lot more of his pictures[2], including the color cycling effect. (There's also a fantastic comparison far down that page of a sharp version vs. a VHS recording that shows just how much color bleed we had to deal with, and how it affected the art.

[1] https://www.atarimagazines.com/compute/issue64/amiga.php

[2] https://amiga.lychesis.net/artists/JimSachs.html
by throwaway525753 | 2025-08-07 10:24:27+00:00
At this point it's pretty obvious that the easy scaling gains have been made already and AI labs are scrounging for tricks to milk out extra performance from their huge matrix product blobs:

-Reasoning, which is just very long inference coupled with RL

-Tool use aka an LLM with glue code to call programs based on its output

-"Agents" aka LLMs with tools in a loop

Those are pretty neat tricks, and not at all trivial to get actionable results from (from an engineering point of view), mind you. But the days of the qualitative intelligence leaps from GPT-2 to 3, or 3 to 4, are over. Sure, benchmarks do get saturated, but at incredible cost and forcing AI researchers to make up new "dimensions of scaling" as the ones they were previously banking on stalled. And meanwhile it's all your basic next token prediction blob running it all, just with a few optimizing tricks.

My hunch is that there won't be a wondorous life turning AGI (poorly defined anyway), just consolidating existing gains (distillation, small language models, MoE, quality datasets, etc.) and finding new dimensions and sources of data (biological data and 'sense-data' for robotics come to mind).
by florieger | 2025-08-07 10:24:53+00:00
How is it worse than using a password? I think I'm missing something, please explain.

1) User goes to BAD website.

2) BAD website says “Please enter your email and password”.

3) BAD’s bots start a “Log in with email and password” on the GOOD website using the user’s email and password.

4) BAD now has full access to the user’s GOOD account.
by reaperducer | 2025-08-07 10:27:19+00:00
I'm not sure why the blogger thinks it's weird that macOS has an icon for the iPhone 3G in it. It's for when I plug my iPhone 3G into my M4 Mac to sync my music, as I did just this past weekend.

I also synced one of my iPod Shuffles over the weekend, and can tell you there's also still icons for all of the Shuffles back to the original gum stick ones, and all of the various colors of the other models, plus all of the regular iPods.

Shuffles are great for listening to music in bed because you don't have to worry about rolling over on them.
by netcan | 2025-08-07 10:27:28+00:00
Good points but dont underestimate "granny needs to visit the bank to get access to her account again" as a problem.

For a lot of people, dealing with (now mostly digital) bureaucracies is a major stress in life. The biggest one, for some.

Its not just about invonvenience. Its sometimes about losing access to some, and just not having it for a while.

In terms of practical effect, a performance metric for a login system could be "% of users that have access at a given point." There can be a real tradeoff, irl, between legitimate access and security.

On the vendor side.. the one time passwords fallback has become a primary login method for some. Especially government websites.

Customer support is costly and limited in capacity. We are just worse at this than we used to be.

Digital identity is turning out to be a generational problem.
by sundarurfriend | 2025-08-07 10:28:00+00:00
This is a pretty cool website with lots of YouTube clips from TED talks, documentaries, etc. that show the pronunciation of each word in real-usage context. (It also shows the IPA in many cases, though not for "hacker" for some reason.)

They also have it for a bunch of other languages, eg.

https://youglish.com/french

https://youglish.com/chinese

https://youglish.com/spanish
by noduerme | 2025-08-07 10:28:14+00:00
idk if it counts as an obvious hazard, but being able to modify the original input by reference within a chain of piped functions definitely makes it a lot harder to reason about what that sequence might be doing. Particularly since we assume that arrays are passed by reference anyway unless the function you're calling is making a shallow copy of their elements.

My feeling is that this makes the code less legible. I'd rather write 5 lines of code that mutate an object or return a copy than do a pipe this way. I'm sort of not excited to start running into examples of this in the wild.
by johnisgood | 2025-08-07 10:29:34+00:00
> Python is fast enough for some tasks, he said, which is why there are so many people using it and attending conferences like EuroPython.

The conclusion is logically flawed: it conflates language popularity with performance, and conference attendance and widespread use are sociological indicators, not evidence of Python's performance. Conflating the two is intellectually negligent.

Additionally, Python's speed is largely due to C extensions handling performance-critical tasks, not the interpreter itself. Perl, however, is often faster even in pure code, especially for text processing and regex, thanks to its optimized engine, making it inherently quicker in many common scenarios.
by mike_hearn | 2025-08-07 10:29:49+00:00
Possibly, nothing. Codec development is slow and expensive. Free codecs only came along at all because Google decided to subsidize development but that became possible only 15 years or so after MPEG was born, and it's hardly a robust strategy. Plus free codecs were often built by acquiring companies that had previously been using IP licensing as a business model rather than from-scratch development.
by varunramesh | 2025-08-07 10:30:15+00:00
As the author points out, email OTP can be phished if the user is tricked into sending their OTP to an attacker.

Email magic links are more phishing resistant - the email contains a link that authenticates the device where the link was clicked. To replicate the same attack, the user would have to send the entire link to the attacker, which is hopefully harder to socially engineer.

But magic links are annoying when I want to sign in from my desktop computer that doesn't have access to my email. In that case OTP is more convenient, since I can just read the code from my phone.

I think passkeys are a great option. I use a password manager for passkeys, but most people will use platform-provided keys that are stuck in one ecosystem (Google/Apple/MS). You probably need a way to register a new device, which brings you back again to email OTP or magic link (even if only as an account recovery option).
by chrisco255 | 2025-08-07 10:30:19+00:00
You mean manufacturing and farming jobs? Absolutely, they're decent jobs and far more rewarding than serving diabetes to McDonald's and Starbucks patrons.

Tomato harvesting is done in an air conditioned tractor these days:

https://m.youtube.com/shorts/pDxZhOw9IH4

https://youtu.be/l4Dc6QNWiIs?si=S9qrFNpUBM5KuSrx

Production on iPhone can be highly automated these days as well. There are plenty of good examples of revitalized computer hardware manufacturing in the U.S. like the Starlink Factory in Bastrop, TX:

https://youtu.be/qz0k4wj_KlA?si=qUqJ0DWTRpHa4cgY

or the TSMC factory in Arizona, which has similar amenities to many software offices:

https://youtu.be/X3QuVwR30Uk?si=D92n34OZUpzAHIFn
by southp | 2025-08-07 10:30:58+00:00
I get the point. However, from my own experience this type of one-time passcode is unfortunately the 2nd well-understood authentication method for non-tech people surrounding me. The 1st is the password, of course.

I don't know the general situation, but, at least in our small town, people would go to the phone service shop just for account setup and recovery, since it's just too complicated. Password managers and passkeys don't make things simpler for them either –– I've never successfully conveyed the idea of a password manager to a non-tech person; the passkey is somehow even harder to explain. From my perspective it's both the mental model and the extra, convoluted UX that's very hard to grasp for them.

Until one day we come up with something intuitive for general audience, passwords and the "worse" one-time code will likely continue to be prominent for their simplicity.
by justanotherjoe | 2025-08-07 10:30:58+00:00
I'm conflicted about this. On one hand i sympathize. On the other hand, it's really up to them who to hire. All the 'shoulds' discussed here are really just your assumptions, albeit very reasonable ones. Yeah it's really tough. You can't force someone to like you, they kinda have the prerogative.

This reminds me of better call saul where hamlin paid millions of dollars out of his own pocket just to not have Chuck working at HHM anymore. Which by his own words was the greatest legal mind he ever met. Sometimes people's principles work against you. And you don't have any moral ground to challenge that.

On the other hand, this attention might be working in your favor though.
by benterix | 2025-08-07 10:31:12+00:00
> .I wonder if that's what they did (though they claim it was all manual source code inspection).

Give me one reason why they would do it by hand if they can automate is as much as possible. Vulnerability research is an area without any guarantees, you can spend months looking for bugs and find nothing. These guys are not stupid, they used LLMs trying to find whatever they could, they probably explored more blind alleys than we will know, and then got very good results. Many other companies are doing the same.
by Stratoscope | 2025-08-07 10:31:46+00:00
I can't be the only person here who is familiar with the word "attestation" in everyday life but had no idea what it means in the context of login security.

So I asked my friend Miss Chatty [1] about it. Hopefully this will help anyone who is as confused as I was.

https://chatgpt.com/share/68947f35-0a10-8012-9ae9-adadc3df8b...

[1] Siri and Alexa get to have cool names, so why can't ChatGPT?
by whinvik | 2025-08-07 10:32:59+00:00
I agree that FastAPI is not the best but I would not jump to another framework just because of an article.

For FastAPI I know that I can go to [1] and see what a good FastAPI code base looks like. These days even Airflow is on FastAPI but haven't looked at the codebase.

For me to jump on Litestar, I would like to see a reference codebase to learn best practices. Otherwise its one more framework whose quirks I have to get comfortable with.

1 - https://github.com/polarsource/polar
by rbanffy | 2025-08-07 10:33:17+00:00
The lack of higher resolutions was an issue - it wasn't a nice experience to run productivity apps on the Amiga, and better graphics only came much later (and required a new Amiga). At that time my PC went from CGA, to Hercules, to VGA with the same motherboard. A machine as complex as the Amiga should have been more modular. That would have made Commodore able to match PC capabilities more easily while preserving hardware investments by the users. When you felt it was time to upgrade your A1000 to a 3000, you'd end up considering a PC as well.

Being a machine seen as primarily targeted at games didn't help justify the development of a rich software ecosystem for it, and porting from other platforms was difficult. If the Amiga managed to acquire a critical mass of software, either original or ports, the story could have been different. Maybe if the 3000UX were cheaper and ran Coherent rather that AT&T's Unix, it'd be enough to be a viable Unix-like workstation.
by Tor3 | 2025-08-07 10:33:36+00:00
Well.. I didn't really get proficient in English until I was in my thirties. I learned another language around that time as well, though not to full fluency (only because the option of continuing went away). And absorbing and understanding of German too.. The actual point is only that I remember how it felt - how listening and other kind of input molded my brain, relatively quickly (and sounds and words started echoing around in my brain). Now, thirty years later, it feels like my brain is much stiffer and everything takes much longer, when it comes to injecting a language (fortunately everything else still works as it should).

So, 'adult' isn't really right in my opinion / experience - I know many people who were adults and could absorb another language relatively easily.

What seems to happen is that it does change for the worse as the decades go by. But it's not as simple as adult vs child. And it's not by orders of magnitude in any case, it's more linear than that.
by egeozcan | 2025-08-07 10:33:41+00:00
This might be an oversimplification, but as a consumer, I think I see a catch-22 for new codecs. Companies need a big incentive to invest in them, which means the codec has to be technically superior and safe from hidden patent claims. But the only way to know if it's safe is for it to be widely used for a long time. Of course, it can't get widely used without company support in the first place. So, while everyone waits, the technology is no longer superior, and the whole thing fizzles out.
by nelox | 2025-08-07 10:34:58+00:00
The article misrepresents the European Parliament’s child protection proposal as an attack on privacy rather than a targeted response to the growing problem of online child abuse. The claim that the EU wants to “mandate mass surveillance” overstates the scope. In fact, the legislation proposes specific detection orders, issued only with judicial approval, and applies them in a proportionate and time-limited manner [1].

It also ignores that encrypted platforms are currently being used to distribute child sexual abuse material (CSAM), with detection dropping sharply since platforms like Meta turned off scanning in the EU [2]. The proposed regulation seeks to restore basic protective capabilities under judicial scrutiny, not blanket surveillance.

The article further overlooks that the European Court of Justice has ruled out general and indiscriminate retention of data, which will still apply under the new law [3]. Rather than political blackmail, this is democratic legislation attempting to balance privacy rights with protecting children from horrific crimes.

The framing of this effort as “political blackmail” sensationalises what is actually a measured legislative process with checks, balances and limited scope.

[1] https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=COM%3A20...

[2] https://www.bbc.com/news/technology-67870668

[3] https://curia.europa.eu/jcms/upload/docs/application/pdf/202...

Edit:urls
by dspillett | 2025-08-07 10:36:32+00:00
And even if proper passwords are used, many sites/apps use this pattern for account recovery if the password is forgotten so effectively this is the only security as an attacker has “forgotten” the password and just uses this flow to login.

I've got a little generic login tool that bits I write myself use for login, using this method, but it is not for anything sensitive or otherwise important (I just want to identify the user, myself or a friend, so correct preferences and other saved information can be applied to the right person, and the information is not easily scraped) - I call it ICGAFAS, the “I Couldn't Give A Factor” Auth System to make it obvious how properly secure it isn't trying to be!

Another issue that email based “authentication” like this (though one for the site/app admins more than the end user) has is the standard set of deliverability issues inherent with modern handling of SMTP mail. You end up having to use a 3rd party relay service to reduce the amount of time you spend fighting blocklists as your source address gets incorrectly ignored as a potential spam source.
by komali2 | 2025-08-07 10:36:43+00:00
Ah, PDF, that would have been smart :P

I can recommend at least trying neovim, but I had a much easier transition than perhaps you will, since I used `evil-mode` in emacs ;) So I've been a primarily modal editor for 8 years, and actually don't remember any of the chorded commands from my initial days learning emacs. I took one thing from that time: putting CTRL where CAPS is, then I installed evil-mode and never looked back.

I will say as someone who was feeling the start of RSI, I do find vim's bindings to be a lot less painful than emacs chorded commands.

But, I don't know if a "switch" is in the cards for you, from what you've said, because of the Dvorak and that you'd be learning vim and modal editing at the same time. As I understand it, dvorak vimmers can either rebind everything to be in "the same place" to maintain the inherent layout comfort of vim, and lose the mnemonics (`dtp` delete to "p"), and then have to deal with a full rebind on top, or, they can rebind nothing to maintain mnemonics and reduce startup cost, but then have the layout be super wonky and un-ergonomic. Neither sound that pleasant to me. You're right, vim bindings are very qwerty focused.

Also I desperately miss the kill-ring and still hit my binding for it. There are "registers" in nvim and I bet I can find some plugin or write something in lua that will let me switch, on paste, between my "most recent yanks," but I haven't learned how to do that yet.

Macros are great in vim, I think just as powerful as emacs. Lua is also very powerful, but of course, nothing beats the fact that Emacs is a REPL of elisp that you can modify on the fly. Nvim so far as I understand it must reload to register LUA changes (you can still run lua to modify buffer contents though).

However, I do believe the nvim community is more talkative than the emacs one, and busier. Maybe this is because more content creators are vim/nvim-forward, than emacs? I know like, 2 emacs youtubers, and 10 vimmers, some of whom are super famous for other stuff unrelated to programming.

I agree with you on focusing more on unix-ish tools and staying in terminal. It's something that attracted me to nvim. I realized I had been learning a lot of basically one ecosystem, emacs, when instead I could be learning tools that are available on any unix-based machine. Of course you can install emacs on anything, even android, but you gotta install it and get it running. Plus I just feel a lot cooler piping things between unix commands :P

Anyway, for me, the transition was fine. I slapped on lazy.vim and have been basically 99% as productive at work as I was with emacs, only making a couple mistakes here and there. I love the default bindings lazy.vim came with and adjusted to them well. If you do want to try it out, I recommend lazy.vim if you're considering trying out one of the nvim ide packages.
by turblety | 2025-08-07 10:38:03+00:00
> 7. Google One and Ultra plans, Gemini for Workspace plans These plans currently apply only to the use of Gemini web-based products provided by Google-based experiences (for example, the Gemini web app or the Flow video editor). These plans do not apply to the API usage which powers the Gemini CLI. Supporting these plans is under active consideration for future support.

Again, with the complicated subscription. Please just give us a monthly subscription for developers that I can pay whatever, and then use Gemini CLI, this github action, Gemini chat, Jules, etc. Just like Claude and their max subscription.

This would be a game changer for me.

Sorry, congrats on the release too. This looks cool!