HNHacker News
TopNewBestAskShowJobs

widdershins

916 karma · joined January 31, 2013

submissionscomments
widdershins··on Humans will never again create a project like Wikipedia
I've been on-and-off working on an AI tourguide which pulls Wikipedia articles near your GPS location, builds a route, and at each stop tells you some information extracted from the article.

Nothing public to show, but I have learned a lot about my local area by testing it out.

Yours looks much more polished, I'll look forward to trying it out!

widdershins··on Future Maintenance of Mbed TLS
Damn. We just migrated to Mbed TLS for a native app at my work, only this year. I hope some folks with cryptographic chops will step up. It's really a pleasant library use - we were previously using CryptoPP, shudder.
widdershins··on LeCun has "zero concerns" about AI wiping out humanity, recent "rogue" incidents
I've seen recent AIs make detailed and technically impressive 3D models. You might argue "they're not doing spatial reasoning, they're making measurements with code and doing math to configure relative positions". Fine, but at a certain point that becomes functionally indistinguishable from spatial reasoning.
widdershins··on An Uncomplicated Man – A review of The Odyssey, directed by Christopher Nolan
Yeah, I'm not an archery nerd and even I could see that the archery looked very poor compared to other movies like Lord of the Rings. There didn't seem to be any weight to the draw in most casts.
widdershins··on Emacs, how it all started for me
Agreed. Work through the Emacs tutorial to find out how vanilla editing works. Then look at buffer management, window management (Emacs 'windows' are actually more like frames in other apps) and simple tooling like search. Then start to tweak some settings in your config, find the bare minimum of packages you need to scratch your worst itches (for me: Vertico, Corfu, Avy and Dumb Jump). Finally, figure out tree-sitter modes, project/projectile mode and a couple of other foundations.

It will be a struggle. It was around 2 months before I felt remotely comfortable in Emacs. And nearly a year before I really felt at home. It's a long road, but gradually you mold the editor to yourself so tightly that you'll never be able to go back. The remarkable thing is that the progression never stops. The tool just keeps getting sharper and sharper.

widdershins··on Rubens Menin's 150 Years "Old" Port Wine
Britain and Portugal have one of the world's oldest alliances, established in 1386.

At various times, especially starting in the 1700s, British wars with France meant that French wine and brandy became unavailable, or was even banned. In reponse, British merchants discovered that fortified wine from the Duoro valley could sate the British market's taste for strong wines, and could survive the long journey across the Bay of Biscay and the Channel. They began setting up port wine trading houses which became known as 'shippers'.

Fun fact: Britain's longest-serving Prime Minister, William Pitt the Younger, started drinking port at 14 as a cure for gout. He apparently drank a bottle a day for most of his life. Port exacurbates gout. He died at age 46.

widdershins··on LÖVE: 2D Game Framework for Lua
It's more minimalistic, that's true. But there's nothing stopping you writing or downloading an array library so you can do this:

  enemies = array.filter(enemies, function(e) return e.alive end)
Or even setting a metatable so you can do:

  enemies = enemies.filter(function(e) return e.alive end)
widdershins··on Reinventing the Pull Request
I signed up and I'm finding browsing a repo quite snappy. Good job.
widdershins··on Solar Balconies Take Europe by Storm
Neither the title nor the article implied so.
widdershins··on Do LLMs Break the Sapir-Whorf Hypothesis?
This is fantastic. I don't know if it tells us anything about the human brain, but it's so cool to be able to do emperical science on large neural networks like this.
widdershins··on GPT‑5.4 Mini and Nano
Yeah, this speed is excellent! I'm using GPT-5 mini for my "AI tour guide" (simply summarizes Wikipedia articles for me on the fly, which are presented on my app based on geolocation), and it's always been a ~15 second wait for me before streaming of a large article summarization will begin. With GPT-5.4 it's around 2-3 seconds, and the quality seems at least as good. This is a huge UX improvement, it really starts to feel more 'real time'.
widdershins··on Shall I implement it? No
It's working reasonably well for me. But this is inside a well-established codebase with lots of tests and examples of how we structure code. I also haven't used it much for building brand new features yet, but for making changes to existing areas.
widdershins··on Two Years of Emacs Solo
> I imagine an LLM would be very good at writing Elisp to leverage EMacs’ strong core functionality

Yes, they are pretty good. I have set up GPTel (an excellent Emacs package for interacting with LLMs) with some tools allowing it to run Elisp, inspect files (Elisp functions know what file they were defined in, so it's easy to find stuff) and read Emacs documentation. LLMs use this to good effect, and iterate on my config very nicely.

widdershins··on My “grand vision” for Rust
https://gleam.run
widdershins··on Show HN: Web Audio Studio – A Visual Debugger for Web Audio API Graphs
I'm not familiar with the Web Audio API, but I am interested in audio APIs in general. Could you explain where the designers went wrong? The templates listed in this (very nice!) app seem to look relatively sane as these things go.
widdershins··on Show HN: Jemini – Gemini for the Epstein Files
Ask it to cite the document and page, and verify it yourself.
widdershins··on JavaScript-heavy approaches are not compatible with long-term performance goals
It lasted because React genuinely did introduce a useful new paradigm - of UI being a (mostly) pure function of state. This has actual benefits. Unfortunately the way this was implemented was (very) suboptimal, and now they're locked in.

I agree that this stubborn clutching to that original idea, despite better options that acheive the same paradigm having arisen in the meantime.

widdershins··on Man who videotaped himself BASE jumping in Yosemite arrested, says it was AI
"and can't be easily extracted" is doing a lot of work there. People are very good at reverse-engineering. There would soon be a black market for 'clean' private keys that could be used to sign any video you want.
widdershins··on We tasked Opus 4.6 using agent teams to build a C Compiler
I wouldn't describe intelligence as well specified. We can't even agree on what it is.
widdershins··on Retiring GPT-4o, GPT-4.1, GPT-4.1 mini, and OpenAI o4-mini in ChatGPT
I agree - I use 4o via the API, simply because it answers so quickly. Its answers are usually pretty good on programming topics. I don't engage in chit-chat with AI models, so it's not really about the personality (which seems to be the main framing people are talking about), just the speed.
widdershins··on The Gleam Programming Language
I don't think Hayleigh was trying to gatekeep, just noting that some developers prefer features that Gleam intentionally omits.

As for the @external annotations, I think you're both right to a degree. Perhaps we can all agree to say: Gleam can use most libraries from Erlang/Elixir, but requires some minimal type-annotated FFI bindings to do so (otherwise it couldn't claim to be a type-safe language).

widdershins··on The UK is shaping a future of precrime and dissent management (2025)
Fine, but also how to explain the crazy claims flying around the internet that London is a warzone and a no-go area? I live here and... seriously, nothing has changed. I feel perfectly safe and always have.

Yeah sure, there's some phone theft, it's not great. This phone theft wave is just a symptom of everyone carrying £500 devices around. Big cities have always had theft, pickpocket and snatching crimes. But it's nothing astonishingly new or different. I know one person who had their phone snatched, never seen it happen myself.

So how to explain this massive wave of social media posts making out that London's unsafe? There is definitely a narrative being pushed, whether by Russian bots or not, I cannot say.

widdershins··on Don't fall into the anti-AI hype
That's a sad way to think. I'd like to hope that humanity can improve itself, and that includes building products that are safer, more refined, more beautiful, more performant and more useful. I agree that there's a lot of crap out there, but I still want to believe and strive to make things that are excellent. I'm not ready to give up on that. And yes, I still get annoyed every time my crappy toaster doesn't work properly.
widdershins··on Was it a billion dollar mistake?
I don't find that convention unusual. That's how I (and everyone at my company) writes code every day. If an argument is a pointer, that means it may be null. If it may not be null, it should be a reference.
widdershins··on Staying ahead of censors in 2025
> almost anything now can be interpreted as 'offensive' or 'hate speech'

I only know about the UK, but this is not really true there.

Your speech has to be obviously threatening or abusive, and obviously motivated by prejudice towards one of a few categories (disability, race, religion, gender identity or sexual orientation are the main ones).

If you don't make threatening or abusive remarks towards these groups, you aren't breaking the law.

widdershins··on Creating C closures from Lua closures
This doesn't seem like something that should require generating assembly to solve. Couldn't `CALLBACK` just return a table, which contains both the userdata pointer to `REAL_CALLBACK` and a value for `findex`, eliminating the global variable? Then `Add` could extract that. You could even make the table returned by `CALLBACK` callable in Lua with a metatable.

Or, if you're worried about performance/memory, you could allocate a struct for `CALLBACK` to return as userdata, containing the function pointer and `findex`. If you made a little allocator for these it would be extremely fast.

I'm sure I'm missing things, but the solution you chose feels like the nuclear option.

widdershins··on Ion: Modern System Shell in Rust
> With a reference counting GC, you're essentially emulating "perfect" use of C++ unique_ptr.

Did you mean shared_ptr? With unique_ptr there's no reference-counting overhead at all. When the reference count is atomic (as it must be in the general case), it can have a significant and measurable impact on performance.

widdershins··on How the UK lost its shipbuilding industry
> With respect to the income tax, it is possible for higher earning (not by US standards) employees to receive a bonus and actually take home less money than before they received the bonus.

What are you referring to here? Higher rates of income tax are only taken on the money earned over the band. So If you earn £50,271, you pay 20% on £50,270 and 40% on £1.

Are you referring to some other kind of tax then?

https://www.gov.uk/income-tax-rates

widdershins··on Rouille – Rust Programming, in French
I think if this were the case, we would have quickly moved on from storing source code as text, and begun storing it as ASTs which could be 'viewed' in any localised version of the programming language. This may have had wider benefits than just reading source code in your preferred language.
widdershins··on Gleam OTP – Fault Tolerant Multicore Programs with Actors
There's a talk from Lustre's developer about doing LiveView-type things with Gleam/Lustre. The promise is that you can easily pick and choose which parts of your app run on the client, and which run on the server.

https://www.youtube.com/watch?v=TbCm-zR7qZ0

Page 1 of 9Next →