MurphyA/hacker-news huggingface dataset:
Show HN: Blur Image Online – A free, client-side tool to blur images
by zaiyiqi | 2025-09-24 09:14:35+00:00
I'm excited to share my first-ever side project: Blur Image Online.

The idea came from my own need. I often had to share screenshots but needed to hide sensitive information first. Most online tools either uploaded my images to their servers, were slow, or full of ads. I wanted a simple, private, "open-and-use" tool, so I decided to build it myself.

The most important feature for me is privacy. All the image processing happens entirely in your browser. Your images are never uploaded to any server.

Current State & Future Plans: Right now, the tool is in its very first version. It can apply a blur effect to the entire image, and you can adjust the intensity.

My immediate next goal is to add a brush feature to allow blurring of specific areas, which would make it much more useful. I'm still exploring the best way to implement this, and I would love to hear any thoughts or technical suggestions from the community.

Since this is my first real project, I'm sure there is a lot of room for improvement. I would be incredibly grateful for any feedback, bug reports, or feature suggestions.

Thanks for checking it out!

The site: https://www.blurimageonline.com/
by mellosouls | 2025-09-24 09:15:13+00:00
"As a result, all eyes were turned to Rumble – a right-wing platform financed by Peter Thiel – to see how the vice-president is not only using the death of Kirk to turn him into an icon, but also to announce a new McCarthyist era. "

NB. Its important to remember that Rumble and similar ventures were motivated and enabled by the McCarthyism of the Left over the last few years, deplatforming non-left voices.

Its certainly depressing to see the Right resorting to the same tactics with the failed cancellation attack on Jimmy Kimmel etc but lets not forget that this terrible culture is well-established, just the boot is moving to the other foot.

Right or left, it sucks.
by voodooEntity | 2025-09-24 09:16:25+00:00
I have massive doubts about the "They also seems to also be able to download the compilation cache from Steam if someone already have done the process on the same GPU + driver version."

This would imply that if I already calculated the shaders for the current game state than i could reuse them and not have to go through the whole compilation step (if no changes happen inbetween).

Matter of fact, i have to recompile the shaders on every game start for every game, even if i restart the game just x times in a row.

For context: using linux/debian and basically running everything on vulcan
by Perz1val | 2025-09-24 09:17:05+00:00
I speculate it goes this way: 1. Some people at a Java company get excited about Rust 2. They write some microservices in Rust. They're now having "Rust jobs" 3. The company hires more Java devs to replace the people that now maintain the Rust side of things 4. When in need there are internal shuffles to replace those Rust devs

It can't go forever, but as far as I can tell the usage in corporate has started not long ago. You'll have Rust jobs, but they'll be the same shit as Java jobs. There was a study done like a year ago that showed across the board decline in developer satisfaction with all the "new and shiny" JS frameworks. I 100% think that when companies will inevitably start hiring people to maintain those legacy Rust "internal sideprojects" the same will happen. It is when a not driven by passion workforce, people who complete taks and features instead of doing the "provably correct thing" have a go that technologies get vibe checked. We will see which way it goes.
by ben_w | 2025-09-24 09:17:16+00:00
> There's tons of dumb stuff online, the only thing dumber is the state dictating how I'm supposed to think

I've seen stupidity on the internet you wouldn't believe. Time Cube rants — four simultaneous days in one rotation — burning across static-filled CRTs. Ponzi pyramids stretching into forever, needing ten billion souls to stand beneath one. And a man proclaiming he brought peace in wars that never were, while swearing the President was born on foreign soil. All those moments… lost… in a rain of tweets.

But even that dumb stuff aside: there's two ways for a government to silence the truth: censorship, and propaganda.

We've got LLMs now, letting interested parties (government or not) overwhelm everyone with an endless barrage of the worst, cheapest, lowest quality AI slop, the kind that makes even AI proponents like me go "ah, I see what you mean about it being autocomplete", because even the worst of that by quality is still able to bury any bad news story just as effectively as any censorship. Too much noise and not enough signal, is already why I'm consuming far less YouTube these days, why I gave up on Twitter when it was still called that, etc.

And we have AI that's a lot better at holding a conversation than just the worst, cheapest, lowest quality AI slop. We've already seen LLMs are able to induce psychosis in some people just by talking to them, and that was, so far as we can tell, accidental. How long will it be before a developer chooses to do this on purpose, and towards a goal of their choice? Even if it's just those who are susceptible, there's a lot of people.

What's important is the freedom to share truth, no matter how uncomfortable, and especially when it's uncomfortable for those with power. Unfortunately, what we humans actually share the most is gossip, which is already a poor proxy for truth and is basically how all the witch hunts, genocides, and other moral-panic-induced horrors of history happened.

It is all a mess; it is all hard; don't mistake the proxy (free speech in general) for the territory (speak truth to power, I think?); censorship is simultaneously bad and the only word I know for any act which may block propaganda which is also bad.
by BoredPositron | 2025-09-24 09:17:24+00:00
I can only speak to the two bigger German banks (i.e., Sparkasse and VR banks), but if you look at their outsourced development providers (Atruvia and Sparkasse Informatik), they're still offering incentives for their apprentices to learn COBOL, especially in the german dual apprenticeship programs which they can steer more easily than university courses. My wife has been doing COBOL for one of them since 2012, and the demand has never diminished. If anything, it's increased because experienced developers are retiring. They even pull some of these retired developers back for particularly challenging projects.
by vidarh | 2025-09-24 09:17:38+00:00
This principle is just applying Turing equivalence to the hypothesis that there is nothing in nature that is effectively computable but exceeds the Turing computable (which would be the "maximal level of computational power")

Given we have no evidence of the existence of anything effectively computable that is not Turing computable, it's a reasonable hypothesis, with no evidence pointing towards falsifying it, nor any viable theories for what a "level of computational power" that exceeds this hypothetical maximum would look like.

And, yes, if that hypothesis holds, then life is equivalent, to the point of at least being indistinguishable from when observed from the outside, computation.

A lot of people get upset at this, because they want life to be special, and especially human thought. If they want to disprove this, a single example of humans computing a function that is outside the Turing computable would be a very significant blow to this hypothesis, and the notion of life as a computation (it wouldn't conclusively falsify it, as to do that you'd need to also disprove that there might we ways to extend computers to compute the set of newly discovered functions that can't be computed by a Turing machine, but it would be a very significant blow)
by amai | 2025-09-24 09:18:04+00:00
I wonder about the following: Leucovorin is most often given in the form of Leucovorin calcium. That is interesting, because calcium is needed to regulate the release of dopamine in the brain. And this might also help with autism:

https://news.ki.se/new-study-links-dopamine-to-autism-sympto...

However there is also Leucovorin sodium.

Are there any studies that compare Leucovorin calcium vs. Leucovorin sodium in autism? Maybe it is in fact the calcium that helps with autism and not the Leucovorin part?
by lstodd | 2025-09-24 09:18:11+00:00
On a bike you have the front brake lever at the throttle on the right hand.

You always, always have to have at least two fingers on the brake lever and control the throttle with the thumb and palm.

It is completely irresponsible to ride not doing that because sudden obstacle will not give you enough time to put them back on it. Then you lose 60-80% of braking power for a second or two.

If you are doing it right then when you drop throttle you almost automatically slightly pull the brake lever. If the lever and brake light switch on it are adjusted properly like they should be, you have the brake lights on.

Nice project, but..
by shakow | 2025-09-24 09:18:16+00:00
> comparing without acknowledging that it is an implemenation issue

Because that's implicit at this point – I'm not going to prefix with “because Earth geometry is approximately Euclidian at our scale” every time I'm telling a tourist to go straight ahead for 300m to their bus station.

Just like when people say “C++ is fast”, of course they refer to clang/g++/msvc, not some educational university compiler.
by adwn | 2025-09-24 09:18:41+00:00
> […] on ARM64 […]

Well, if you target a specific architecture, then of course you can assume more guarantees than in general, portable code. And in general, a processor might distinguish between non-atomic and relaxed-atomic reads and writes – in theory.

But more important, and relevant in practice, is the behavior of the compiler. C, C++, and Rust compilers are allowed to assume that non-atomic reads aren't influenced by concurrent writes, so the compiler is allowed to split non-atomic reads into smaller reads (unlikely) or even optimize the reads away if it can prove that the memory location isn't written to by the local thread (more likely).
by micampe | 2025-09-24 09:18:51+00:00
Everyone telling you that it's fast because iTerm2 is slow. Terminal.app is already faster than iTerm2 and on par o very close to most other alternatives in terms of speed.

I also used Terminal until recently and don't use any of the advanced features alternatives provide. The main reason to switch from Terminal.app is truecolor support. The terminfo thing is annoying but I just setenv TERM in ssh config. Better split panes is nice. Configuration in a text file is a matter of taste, but documentation is good.
by gjm11 | 2025-09-24 09:20:53+00:00
My spideysense is tingling a bit. This thing is posted by someone who says here "I'm a data engineering student who recently decided to shift from a non-tech role into tech", who is apparently glad to have found a guide to help them see how the theoretical things they've been overwhelmed by work in the real world.

Now here's the same user's first comment, posted a few weeks ago:

[begins]

That’s a fair point—DuckDB’s lightweight design and intuitive UX are big reasons it’s gained traction, especially for analytics on the desktop or in embedded scenarios. But when it comes to “primetime” in the sense of enterprise-grade analytics—think massive concurrency, complex workloads, and scaling across distributed environments— Exasol I see as one of the solution.

DuckDB is fantastic for local analytics and prototyping, but when your needs move into enterprise territory—where performance, reliability, and manageability at scale become critical.

[ends]

Doesn't read quite so much like "overwhelmed previously-non-technical engineering student who'd be relieved to find some explanation of how things work in the real world", does it?

And, astonishingly, that comment was on ... a post from the Exasol blog, just like this one. Which had a number of positive comments from new accounts (another user even remarked on it).

Add to that the very LLMish feel of said user's comments (they made three on the previous Exasol post, all responding to others. Their openings: "Absolutely!", "That's a fair point—", and "Totally agree—") and the fact that one of the more transparently-astroturfing other comments also looks like it was written by an LLM, and the fact that the three HN posts this user has interacted with are (1) this one which they posted, (2) a previous instance of posting the same article, and (3) the aforementioned previous Exasol blog post ... and something definitely feels fishy to me.
by LargoLasskhyfv | 2025-09-24 09:21:48+00:00
If for some reason your browsing environment isn't/can't be configured to circumvent login shenanigans, at least for now, xitter can be read by inserting cancel right behind the X-part of the URL. Like so:

https://xcancel.com/ErrataRob/status/1970586083374112784

With the additional advantage of giving you a view more like threadreader.app, or something. Without having to install anything.
by ChrisMarshallNY | 2025-09-24 09:22:33+00:00
I think that the composition of “technical” people has changed, over the years.

When I was getting my start, it was almost exclusively nerdy white males.

That is no longer the case. Tech now looks a lot more like any other community.

Misanthropy is often a self-fulfilling prophecy. That’s different from social awkwardness or fear.

For myself, I’m “on the spectrum,” so high-stimulus environments are exhausting. That describes most social gatherings; especially amongst neurotypicals. It’s unfair for me to insist that they cater to my proclivities, and it’s also unfair for me to insist that they understand why I am the way I am.

One of the things that I learned, early on, is that I am the variable. It’s not something to be self-pitying about, but understanding myself, helps me to interact better with others. I appreciate it when others understand, but I don’t expect it.
by coldtea | 2025-09-24 09:23:21+00:00
>And I wrote that the US is at war with an enemy _state_

The US toppled it's democratically elected leader in the 50s, installed a brutal "king" dictator, and when they finally overthrew him it armed their neighborhood Iraq to wage war on them killing millions, then enforced global sanctions to it (causing tremendous damage to its economy and operation), and still meddles in the region.

Them saying some slogans like that is not even a blip on the radar, compared to the murderous shit the US has done to them for profit and spite.

The nerve for the US to play the victim here...
by nicbou | 2025-09-24 09:24:22+00:00
One thing I had to learn is that clear is kind and unclear is unkind. If your unstated expectations are unmet, it's on you. I used to be like the "she" in your story, and I realised this behaviour is manipulative and rarely gets me what I want.

> Some people will take "no" as a rejection.

People say "no" because they mean "no", and people accept "no" as meaning "no". This is how adults communicate. I don't think you can both-sides this situation.
by JdeBP | 2025-09-24 09:24:30+00:00
My terminal emulator has that mapping (because it is designed to be a workalike for kernel terminal emulators that have that mapping). It quite happily supports the other planes. There is no actual fundamental limitation here.

Even with the one-codepoint-per-cell model, what planes one can cover is simply a matter of whether an integer is 16-bit or 24-bit/32-bit. In the Zutty code, it's a 16-bit integer, and I suspect that that is a knock-on effect of the particular way that it flattens fonts out and maps code points to glyph bitmaps, which isn't the only way that one could do that.
by gethly | 2025-09-24 09:26:06+00:00
I sometimes use grok. But not much. Your confusion is strange. I never said the tech is a bubble(it can be used today, although in very limited manner, compared to how it is being sold to the public), just the financial aspect of it. If you'd be more educated in investing, economics or geopolitics you'd understand what is going on. I am not being hyperbolic here. Even Altman admitted AI is a bubble. It's really no secret to anyone. But bubbles will be ridden no matter what, all the way up, until they pop. So knowing it is a bubble does not change much. We just know what we can expect once it pops.

tl;dr I was merely answering the question the article proposes.
by rocqua | 2025-09-24 09:26:56+00:00
Tracking enforcement officials decreases their ability to enforce and makes them easier to target.

ICE agents shouldn't be doing their enforcement. Deserve to be targeted, and given there is very little transparency to their actions, anything to check their actions is an improvement.

SF parking cops are not evil, operate transparently, and limiting their capability to enforce is not important to keep rule of law applicable.

Public officer tracking apps can be okay, but only if you deem those public officers to be severely lacking in public oversight, and massively overreaching in their enforcement.
by qcnguy | 2025-09-24 09:27:21+00:00
Not really, code even in high level languages is always lower level than English just for computer nonsense reasons. Example: "read a CSV file and add a column containing the multiple of the price and quantity columns".

That's about 20 words. Show me the programming language that can express that entire feature in 20 words. Even very English-like languages like Python or Kotlin might just about do it, if you're working in something else like C++ then no.

In practice, this spec will expand to changes to your dependency lists (and therefore you must know what library is used for CSV parsing in your language, the AI knows this stuff better than you), then there's some file handling, error handling if the file doesn't exist, maybe some UI like flags or other configuration, working out what the column names are, writing the loop, saving it back out, writing unit tests. Any reasonable programmer will produce a very similar PR given this spec but the diff will be much larger than the spec.
by latexr | 2025-09-24 09:28:15+00:00
The difference is that in the factory case the faulty items are outliers and easy to spot. You throw it away and let the machine carry on making another copy. You barely lost any time and in the end are still faster than artisans, which are never in the loop.

In the AI case, you’re not making the same thing over and over, so it’s more difficult to spot problems and when they happen you have to manually find and fix them, likely throwing everything away and starting from scratch. So in the end all the time and effort put into the machine was wasted and you would’ve been better going with the artisan (which you still need) in the first place.
Tell HN: GLM-4.5-Flash is supposed to be free, but it is not
by prmph | 2025-09-24 09:28:32+00:00
According to this page https://docs.z.ai/guides/overview/pricing, the GLM-4.5-Flash model is free, and indeed i was using it for free for a couple of days, but now when I use it with Claude Code I keep getting the following error:

⎿ API Error (429 {"type":"error","error":{"type":"1113","message":"Insufficient balance or no resource package. Please recharge."},"request_id":"20250923171253c12d96cad2d543ed"}) · Retrying in 4 seconds… (attempt 4/10)
by tialaramex | 2025-09-24 09:28:42+00:00
The term of art for this technique is "idiom recognition" and it's proper ancient, like, APL compilers did have some idiom recognition 50+ years ago.

An example you'll see in say a modern C compiler is that if you write the obvious loop to calculate how many bits are set in an int, the actual machine code on a brand new CPU should be a single population count instruction, C provides neither intrinsics (like Rust) not a dedicated "popcount" feature, so you can't write that but it's obviously what you want here and yup an optimising C compiler will do that.

However, LLVM is dealing with an IR generated by other compiler folk so I think it probably has less use for idiom recognition. Clang would do the recognition and lower to the same LLVM IR as Rust does for its intrinsic population count core::intrinsics::ctpop so the LLVM backend doesn't need to spot this. I might be wrong, but I think that's how it works.
by johnisgood | 2025-09-24 09:29:38+00:00
This is going to be my last response to this thread as it is quite unproductive because you work backward from conclusions, reshaping evidence to fit your predetermined beliefs rather than following where evidence actually leads, AND you are not engaging with my substantive points but instead you cycle through different justifications while mischaracterizing evidence. In fact, your "false truism" is ironic given your consistent misrepresentation of the very article you cited. Additionally, you wrongly accused me of following "false narratives" while actively misrepresenting your own cited source. The NYT investigation contradicts your interpretation at every turn, as noted.

1. You shifted the goalpost again. You moved from "WMDs proved invasion was justified" -> "chemical weapons are technically WMDs" -> "UN mandate violations justified invasion" and each argument abandons the previous when challenged. Boring.

2. You claim the Army's secrecy proves WMDs existed, when the NYT article explicitly states the secrecy was because these finds contradicted WMD claims. The Army hid them due to embarrassment, not validation.

3. Whether degraded chemical weapons could theoretically harm people doesn't address the core issue: there was no active WMD program as claimed pre-invasion.

4. Scattered remnants from chaotic 1990s dismantlement != active non-compliance with UN mandates. Many weapons were simply lost during the destruction process, not deliberately hidden.

Have fun.
by aw1621107 | 2025-09-24 09:30:00+00:00
> The compiler has already the concept of scope and variables existing at least in the optimizer.

My gut feeling is that while the high-level concepts might share a name I'm not actually sure if they're similar enough for useful transfer? The optimizer is working on a very different representation at a later stage of the compilation process, so I'm a bit skeptical about the level of similarity and/or transferability when you get down to details. I guess a more concrete example might be like comparing type inference with optimizer value range analysis - both will analyze a CFG, but beyond that they're working on different-enough representations that transforming work on the latter to useful work on the former seems unlikely to me (though I'm a nobody, so take that with an appropriate grain of salt).

For example, consider work on improved lifetime analysis in Clang [0], which seems to be discussing a from-scratch implementation based on concepts from Polonius and doesn't seem to reference anything from LLVM. And more generally, the fact that neither GCC nor Clang appear to have discussed reusing concepts from their optimizer passes to recreate the borrow checker or borrow checker-like functionality makes it seem more likely to me that there's some fundamental distinction and/or additional considerations that make such a project difficult.

> Ownership tracking programs for C have been existing for 20 years

Could you give some examples? Not sure I've heard of anything that would fill the same niche as the borrow checker.

> so it can't be too hard to integrate it in the compiler, once it has been implemented for one language.

Sorry, I'm getting a bit confused here. When you say "integrate it in the compiler", by "it" do you mean the above mentioned "ownership tracking programs for C", or do you mean features implemented in the GCC Rust frontend?

In any case, as far as the borrow checker goes gccrs is currently planning on reusing rustc's borrowck implementation so that's going to be a bit of a hurdle to integrating similar functionality into other frontends. I don't know whether they plan on eventually writing an independent borrow checking implementation. Not sure if you had other features in mind, either.

[0]: https://discourse.llvm.org/t/rfc-intra-procedural-lifetime-a...