MurphyA/hacker-news huggingface dataset:
by russellbeattie | 2025-05-17 08:55:57+00:00
Maybe it's just me, but [Symbol.dispose]() seems like a really hacky way to add that functionality to an Object. Here's their example:

using readerResource = { reader: response.body.getReader(), [Symbol.dispose]() { this.reader.releaseLock(); }, };

First, I had to refresh my memory on the new object definition shorthand: In short, you can use a variable or expression to define a key name by using brackets, like: let key = "foo"; { [key]: "bar"}, and secondly you don't have to write { "baz" : function(p) { ... } }, you can instead write { baz(p) {...} }. OK, got it.

So, if I'm looking at the above example correctly, they're implementing what is essentially an Interface-based definition of a new "resource" object. (If it walks like a duck, and quacks...)

To make a "resource", you'll tack on a new magical method to your POJO, identified not with a standard name (like Object.constructor() or Object.__proto__), but with a name that is a result of whatever "Symbol.dispose" evaluates to. Thus the above definition of { [Symbol.dispose]() {...} }, which apparently the "using" keyword will call when the object goes out of scope.

Do I understand that all correctly?

I'd think the proper JavaScript way to do this would be to either make a new object specific modifier keyword like the way getters and setters work, or to create a new global object named "Resource" which has the needed method prototypes that can be overwritten.

Using Symbol is just weird. Disposing a resource has nothing to do with Symbol's core purpose of creating unique identifiers. Plus it looks fugly and is definitely confusing.

Is there another example of an arbitrary method name being called by a keyword? It's not a function parameter like async/await uses to return a Promise, it's just a random method tacked on to an Object using a Symbol to define the name of it. Weird!

Maybe I'm missing something.
by AdrianB1 | 2025-05-17 08:57:04+00:00
How it should be and how it is, that depends on who is the decision maker. If the decision maker is a technical person, there is no gap, but in my case the decision maker is a non-technical manager with no competence to make such decisions, but that is the way the company is organized. So letting people use AI to dig through a 1 TB database is not a good idea, while not using AI prevents them to even try. Security by oblivion.
by TomIRN | 2025-05-17 08:57:18+00:00
Hi HN,

I’ve just released “Shield Enterprise” – a modular Python-based AI security wrapper designed for LLM applications. It includes:

- Threat filtering & risk scoring - GDPR-compliant audit logging - Policy rule injection (block, rewrite, redirect) - SIEM integration (Splunk, Graylog, Sentinel) - Enterprise-ready structure with modular expansion - OpenAPI endpoint & JSON schema

Shield was built with enterprise compliance and dynamic risk-control in mind. Ideal for healthcare, finance, and cloud-integration use.

GitHub: https://github.com/TomWartenberg-IRN/Shield-Enterprise

Feedback welcome! – Tom
by formerly_proven | 2025-05-17 09:00:07+00:00
There's multiple things to this.

One is the complete change in how the app is structured. Many feel going from tabs with purposes and distinct UIs to one "mono UI" where you navigate between the sections by scrolling a lot is a regression. (On the other hand, the new UI can be customized a bit)

The other is the pretty severe performance regression. The old Photos app was mostly fairly smooth when it came to scrolling and zooming. In the new Photos app literally every time you start moving even a few cm on the timeline it's choppy and stuttering for a second. Zooming is likewise a stutterfest. That's pretty bad because it's just an extremely obvious and reproducible straight-line regression.

And finally there's changes like how the timeline is now always wrapped to a full last row, which means anytime a photo / video is added, the whole timeline is re-wrapping. For reasons only known to Apple this rewrapping will happen visibly and stutteringly when you open the Photos app even if the picture was taken five minutes ago. That change is incomprehensible because clearly people spent a bunch of work adding all those stuttering animations, yet nobody questions how obviously retarded it is to have an infinite scrolling timeline where _appending_ an item causes everything to shift? And then you don't even make an effort to hide that, but instead show a grid of photos when opening the app, then notice "oh, the user took a photo some time ago! How very unusual! Let me wait half a second and then reshuffle everything on screen!".

It's the exact equivalent of having ads pop in or layout shifts two seconds after page load. It's extremely and very obviously bad.

These are the kinds of thing that make it obvious that none of the people working on this software actually use it. It's the kind of garbage you expect - and get - from throwing JIRA tickets over the fence to some random lowest bidder sub-sub-contractor five continents away.

And that's the level of quality you get in one of Apple's "flagship use case" apps (how many iPhone ads focus on the camera? Most of them).
by hardwaresofton | 2025-05-17 09:04:21+00:00
Thanks for the color here -- sad but I get it.

Sounds like we're almost there and Zigbee/Thread are at least supportable with the same hardware. I can work with that I guess!

> No market demand, so router manufacturers just don't bother. The initial versions of Matter were a burning trash fire.

I remember hearing about this -- they fixed/improved it eventually but I guess the damage was done.
by hardwaresofton | 2025-05-17 09:05:02+00:00
Thanks for all this context/explanation -- also the follow up. Automatic range extension (i.e. actually being a mesh and forwarding along messages) is an excellent feature.

> All of them require hubs. And only with Zigbee you are guaranteed to have interop between all vendors and all devices sold across the globe. Thanks to Home Assistant. With thread the vendor can simply disallow you to use your devices with HomeAssistant, which is unacceptable by me.

This is the one I want to push back on -- Thread over Wifi doesn't require a special Hub right? Taken with other info from this thread clearly in the real world it's not so simple to find the right hardware... but it's possible to just buy a thread device and use it over regular old wifi.

Sounds like Zigbee is closer to ideal than Thread or Thread/Wifi.

Maybe this is the startup someone needs to do -- some reasonably powered device to attack to a router/connect close to a router which supports Thread and Zigbee, has completely local management and call it a day. Is this just over-complicating a smart hub? Don't know.
by immibis | 2025-05-17 09:05:08+00:00
That's because what they actually want is for their policies to be applied everywhere. Sometimes there's a reason they can't just apply the policy everywhere at the highest level. In these cases, what they do is they make sure there's no policy at the highest level, so that as many instances of the lower levels as possible can apply the policies they want.

The reason they said abortion law should be a state issue is they knew they couldn't get a federal abortion ban. By making it a state issue they ensure they get to at least ban abortion in half the country rather than none of the country.

By now they probably can get a federal abortion ban, though, so I expect them to do that sooner or later. Don't expect consistency from their public statements - "abortion should be up to the states" will simply be memory-holed.
by astrange | 2025-05-17 09:06:10+00:00
Also, Tokyo trains have air conditioning, whereas the Underground is so hot and stuffy I'm pretty sure I got brain damage from it.

Also^2, Japanese train stations have ads for B2B services, whereas almost every ad in London stations is for a musical. I'm not sure what this means.

(Also fondly remember the surprisingly numerous signs at Kings Cross about how you shouldn't assault any train employees, and how teenagers weren't allowed to buy matcha drinks because they have too much caffeine.)
by jinjin2 | 2025-05-17 09:06:27+00:00
I agree that using a semantic layer is the best way to get better precision. It is almost like a cheatsheet for the AI.

But I would never use one that forced me to express my queries in JSON. The best implementations integrate right into the database so they become an integral part of regular your SQL queries, and as such also available to all your tools.

In my experience, from using the Exasol Semantic Layer, it can be a totally seamless experience.
by krelian | 2025-05-17 09:08:03+00:00
In full agreement with you on the flagrant incapability of a sizeable part of the HN crowd to understand and value of the arts.

Throughout history man has been celebrated and distinguished as the rational animal. As master of the earth this animal in our days dedicates its brightest minds to the continual increase of economic growth. Ask the rational man what is growth good for and after a few exchanges they perhaps will say that it ultimately improves our quality of life and even extends it. If might even allow the human race to flourish beyond earth and thus prevail long after resources on earth are depleted. But ask him then why is improving the quality of life a good thing at all? Is it just a meaningless cycle in which we improve the quality of life so that we can then improve the quality of life even further? No. Ask an individual human (in contrast to the ultra rationalist who thinks they represent the human race as a whole) what they work for, what they strive to achieve, what does quality of life ultimately mean to them and you will end up with happy times spent among family and friends. With meaningful moments listening to music, watching a film, reading a book. About time spent in creative endeavors that are totally their own. The rational animal in its hubris forgot what it thinks for and trapped itself in an endless cycle where the true meaning of being human is hidden from the sight of many.

But I think a wake up call is due very soon. The rational animal is about to discover the rationality it prides itself on was merely a sample of the true possibility. From the rational animal we have been relegated to another animal with some rational capability. As we slowly realize how futile are our attempts at thinking, we'll realize to our horror that the gift we are left with is the ability to recognize the futility and inadequacy of our attempts. Hopefully then we'll decide to retreat back into what truly makes us human, to what is ours, to what quality of life really means.
by rawgabbit | 2025-05-17 09:08:46+00:00
Regarding the first issue: ” For example, even the best DBA in the world would not be able to write an accurate query to track shoe sales if they didn't know that cat_id2 = 'Footwear' in a pcat_extension table means that the product in question is a kind of shoe. The same is true for LLMs.”

I wish developers would make use of long table names and column names. For example, pcat_extension could have been named release_schema_1_0.product_category_extension. And cat_id2 could have been named category_id2.
by imiric | 2025-05-17 09:09:32+00:00
Finally someone making sense. The fact this project works by applying patches instead of forking the original project and committing changes should alone be reason for concern.

But OP's entire GitHub presence is suspicious. On May 12th they fired off LLM slop PRs to a bunch of popular projects, and only the JAX ones were rejected. Nevertheless, this allowed them to pin these popular projects to their profile, as if they were a contributor.

I can't put into words how despicable this all is. Anyone working in the AI field is complicit in the corruption of information, the ramifications of which we can't even predict yet. Dead internet and the flood of AI slop is just the beginning.
by tazjin | 2025-05-17 09:09:36+00:00
> Hiring of juniors is basically dead these days and it has been like this for about 10 years and I hate it

We still have a large funnel of interns that end up becoming junior devs, and then progressing normally. I don't know the exact ratio of interns that end up actually getting hired as full-time employees, it's definitely low, but I think this is more of a function of most of them not actually being any good.
Spent weeks building, not marketing
by kmaticu | 2025-05-17 09:10:33+00:00
Hey HN,

We’ve spent the last few weeks pretty much glued to the computer, obsessing over product and ignoring everything else — including marketing. I just really wanted this to work.

The project is ecomdesignlab.ai, an AI-powered fashion shoot generator. You upload clothing items, and it generates realistic model shots for ecommerce — no photo shoots needed.

Until recently, our onboarding was way too limited. You could upload a fashion piece, but you had zero control over how it appeared — no way to pick the model’s pose, no background options. It worked, but it didn’t feel right, especially not for fashion founders who care a lot about brand and visual control.

So I stayed off Twitter, off LinkedIn, off everything, and just built.

Here’s what’s finally live:

You can now choose poses and backgrounds before generating. This alone made the whole tool way more usable.

Image generation time is now ~3 minutes, down from ~11 (which is still common in other tools).

A cleaner, guided onboarding flow that actually walks people through the steps instead of dumping them into a blank page.

The feedback since launching these changes has been super encouraging — people are using it more regularly now, and it feels like we’re finally giving them something they can rely on.

If you're building tools for vertical AI workflows or are just in the trenches shipping alone and forgetting to talk about it — I feel you. Happy to chat.

Cheers, Kristian
by homebrewer | 2025-05-17 09:12:58+00:00
Sure. Here's just one example I was able to quickly find in the browser history:

https://www.theregister.com/2025/05/09/users_advised_to_revi...

You can easily just not use the Oracle JDK, though, unless you're running commercial software which requires running on the Oracle runtime to get technical support.

As others have said, the problem is not the runtime, but libraries: many major .NET libraries have been going fully commercial, you can't really trust the ecosystem anymore.
by paavohtl | 2025-05-17 09:13:32+00:00
JS has used "well-known symbols"[1] to allow extending / overriding the functionality of objects for about 10 years. For example, an object is an iterable if it has a `[Symbol.iterator]` property. Symbols are valid object keys; they are not just string aliases.

[1] https://developer.mozilla.org/en-US/docs/Web/JavaScript/Refe...
by kolinko | 2025-05-17 09:17:39+00:00
as for the uk train stations, the temperatures are in part due to their age - London Underground was built in 1870s, and since that time rocks accumulated so much heat that it is extremely difficult to maintain human-friendly temperatures. Japan subway is 70 years younger, so it’s easier for them to maintain temps.

(And my hometown Warsaw subway is even younger - 50 years, and we don’t have AC whilst temperatures are at a perfect level).

What London underground might need is not AC, but a process to cool down rocks - importing coolness during winters. To maintain equilibrum you’d need to pump out around 1TWh heat every year. To bring it down to normal levels in say 20-30 years you’d need to pump out 2-5TWh a year.
by melvinroest | 2025-05-17 09:18:06+00:00
The way I'd create extra functionality is to give command-line access with a permission step in between. I'd then create a folder of useful scripts and give it permission to execute those.

You can make it much more than just a coding agent. I personally use my personal LLMs for data analysis by integrating it with some APIs.

These type of LLM systems are basically acting as a frontend now that respond to very fuzzy user input. Such an LLM can reach out to your own defined functions (aka a backend).

The app space that I think is interesting and that I'm working on is creating these systems combined with some solid data creating advicing/coaching/recommendation systems.

If you want some input on building something like that, my email is in my profile. Currently I'm playing around with an LLM chat interface with database access that gives study advice based on:

* HEXACO data (personality)

* Motivational data (self-determination theory)

* ESCO data (skills data)

* Descriptions of study programs described in ESCO data

If you want to chat about creating these systems, my email is in my profile. I'm currently also looking for freelance opportunities based on things like this as I think there are many LLM applications to which we've only scratched the surface.
by saagarjha | 2025-05-17 09:18:14+00:00
I think it's very reasonable to expect that there should be better communication here about this actually being a combination culture-fit-and-coding assessment. But I don't actually think it's fair to say that nobody is told about the metric. It's pretty clear to me. I think a lot of other people here also understood it (which makes sense, because they're all Hacker News brained). I agree that this sucks if you don't "get" it but I'm not entirely sure if there is a good way to convey this. Maybe they shouldn't be looking for this at all but that's a separate discussion.
by nip | 2025-05-17 09:18:28+00:00
> Further, one of the issues with remote servers is tenancy

Excellent write-up and understanding of the current state of MCP

I’ve been waiting for someone to point it out. This is in my opinion the biggest limitation of the current spec.

What is needed is a tool invocation context that is provided at tool invocation time.

Such tool invocation context allows passing information that would allow authorizing, authentication but also tracing the original “requester”: think of it as “tool invoked on behalf of user identity”

This of course implies an upstream authnz that feeds these details and more.

If you’re interested in this topic, my email is in my bio: I’m of the architect of our multi-tenant tool calling implementation that we’ve been running in production for the past year with enterprise customers where authnz and auditability are key requirements.
by rockyj | 2025-05-17 09:18:40+00:00
I would have rather seen "Closure" being dumped, ClojureScript is supposed to run on the web (or Node.js) so why is there a need for Java 21 and an ancient library in 2025. In fact, Closure / Java / Maven keeps me away from ClojureScript, if there was no dependency on JVM stuff I would move to it (at-least for hobby projects / quick scripts).
by pjmlp | 2025-05-17 09:19:05+00:00
You mean tooling as it was already kind of available on Turbo Pascal for MS-DOS?

When people discuss Go tooling feels like Renaissance folks resdicovering Roman city enginnering.

VSCode is certainly an Integrated Development Editor, and it is such a dead concept that one of the key Visual Age and Eclipse linage of IDEs is the one behind it, Erich Gamma.

Biggest difference is that one hardly needs to code extensions, or manually configure them most of the time, a simple install button press is only that is needed to get any extension going, many of which graphical, taking all advantage of the Web platform.
by atoav | 2025-05-17 09:19:17+00:00
The taste of the general public is not a good meter for the quality of literally anything. The ability of a artwork to grip a person is important, but what many people do not realize is that it can be at times nearly arbitrary who is impacted by a piece of art and who isn't.

Artsy films like that may not get the populus into the cinemas and entertain them in a bread and games way, but them not trying to do that is exactly the reason they have the ability to hit deeper (if you let them).

In his memoires the soviet director Andrey Tarkovsky describes and quotes from letters regular people wrote about his films, many of which have been deeply moved. Films that make Terrence Malick look like mainstream and can be a tough watch if you go into them with the wrong energy.

Yet I remember his film Stalker striking a chord within me I didn't even know existed and you can't say this of many films.
by videiro | 2025-05-17 09:21:36+00:00
Job Description Hey! I’m looking for a video editor to help with long-form YouTube content (around 15 minutes per video). These videos are scripted, voiceover-driven, and focused on storytelling, retention, and pacing — with a blend of dramatic tone and some humor. I’m also posting Shorts to build momentum, but long-form is the main focus.

I’m an experienced editor and content creator myself, so I know how to edit and what makes a video perform — I’m just looking to delegate so I can focus on writing, voiceover, and scaling the channel. Ideally, I’d like to work with someone who understands YouTube-style pacing, subtitles, sound design, and can keep things visually engaging throughout.

I can pay $50–100 per video depending on quality, speed, and communication. Looking for someone consistent who’s down to grow with the channel. Requirements Understand what kind of pacing makes a good video, understand retention, etc
by johnisgood | 2025-05-17 09:21:50+00:00
I am poor, and if I am blind to economic issues, I will be worse off. I need to be frugal. I need to keep track of the things I am paying. I need to ask myself before each purchase: do I really need it? And so forth... Sure, many poor people might still gamble away their money, or buy stuff they cannot afford, but humans are being humans.
by ccppurcell | 2025-05-17 09:23:09+00:00
Im pretty much an LLM skeptic but I also think that this sort of sentiment goes back to Plato complaining about writing. I have made light exploratory use of chatgpt. Mainly I explore its limitations and boilerplate capabilities. I'm unimpressed with its non trivial code output to be honest. But it has brought up things I wouldn't have thought of on my own that I can go and do "proper" research into. If you want an example I've been playing with binary strings that are fixed by f.r where r reverses and f flips every bit. Chatgpt came up with the word "anti palindrome " and pointed out a connection to DNA I had no idea about. I read the relevant Wikipedia and asked a biologist and now understand DNA a little better. It probably won't amount to anything in this case but I can imagine it doing so.
by homebrewer | 2025-05-17 09:24:08+00:00
And be very careful in constructing your error messages so that grepping the error string does not return you 50 matches. It's not the same as getting the error message + file name + line number.

This is the whole story of Go, they pick something established and reimplement a heavily cut down version of it for "reasons", then slowly catch up to competition over the next decade or so.
by senfiaj | 2025-05-17 09:24:23+00:00
For garbage collected languages destructors cannot be called synchronously in most cases because the VM must make sure that the object is inaccessible first. So it will not work very deterministically, and also will expose the JS VM internals. For that JS already has WeakRef and FinalizationRegistry.

https://waspdev.com/articles/2025-04-09/features-that-every-... https://waspdev.com/articles/2025-04-09/features-that-every-...

But even Mozilla doesn't recommend to use them because they're quite unpredictable and might work differently in different engines.