Hacker Newsnew | past | comments | ask | show | jobs | submit | widdershins's commentslogin

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.


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)


Due to the embedded nature of Lua, it’s often impossible or difficult to use libraries. And I don’t want to reimplement basic functionality every time I start a new project.


That seems like a contextual problem, not a Lua problem.

If you're in Love and/or control the environment you're free to bring in whatever libraries you want. Or to build your wrapper to support multiple files from the user.

Like you could suffer from a bad embedded scripting setup with any language. Granted if it was embedded Python or Javascript you would get a bit more for builtin if they embed a full implementation. But also embedding Lua with support for user supplied libraries is less effort than embedding a whole Python/JS runtime


> Due to the embedded nature of Lua, it’s often impossible or difficult to use libraries.

Last time I used LÖVE that wasn't the case, nor does it seem to be the case today, you can require libraries or even use LuaRocks if that is what you prefer, and everything just works.


I signed up and I'm finding browsing a repo quite snappy. Good job.


Neither the title nor the article implied so.


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.


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'.


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.


> 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.


Indeed. I always used Emacs, but not, thanks to AI agents, Emacs is better than ever, as it can write the lisp I can't write, and it can read the docs I don't have the time to read.



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.


IIRC back in the day it was criticized for having unnecessary abstractions and limitations that were seemingly arbitrary.

For instance, you can't restart an oscillator node. Once you call stop it's the end. A node that's stopped is also immediately disconnected.

ScriptProcessorNode, broadly speaking, sucked, because it was running in the main thread:

https://developer.mozilla.org/en-US/docs/Web/API/ScriptProce...

so eventually it was replaced with AudioWorkletNode combined with AudioWorkletProcessor:

https://developer.mozilla.org/en-US/docs/Web/API/AudioWorkle...

https://developer.mozilla.org/en-US/docs/Web/API/AudioWorkle...

Arguably people would have been happy having just these two from the get go.

Compare this to an API that was already mainstream back when Web Audio API was first developed:

https://steinbergmedia.github.io/vst3_dev_portal/pages/Techn...


Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: