MurphyA/hacker-news huggingface dataset:
Show HN: ImageSlim – Local Image Compression Tool for macOS (No Cloud Upload)
by fangjunyu | 2025-08-14 04:05:28+00:00
I created a simple image compression tool for Mac. It uses the Mac's native image compression engine by default, but you can also use the pngquant third-party open source library to compress images.

App download link: https://apps.apple.com/cn/app/%E8%BD%BB%E5%8E%8B%E5%9B%BE%E7... GitHub link: https://github.com/fangjunyu1/ImageSlim
by tokioyoyo | 2025-08-14 04:05:35+00:00
Yes, I agree. I do all those too (except badminton). But, it doesn't have to be either or. Each listed activity is different from the other as well. So is "having drinks with friends".

Also, most of those activities aren't really a Friday/Saturday 10PM activity. Thinking about university days, I had 6-9PM classes on Friday, then go out with my friends to banter, watch people and just shoot the shit at the bars. Obviously it's not super healthy, but we're not talking about binge drinking 10 pints.
by fastball | 2025-08-14 04:06:02+00:00
Strange to reject something when you don't even understand what it is.

PYX is a package registry, and therefore an alternative to PyPI (like how JSR is an alternative to NPM).

The alternative to `pip` that Astral has built is called `uv`. Feel free to not use that either, but personally I'd consider it if I were you. It has full pip compatibility (with significantly more speed), and many other nice features besides.
by scoofy | 2025-08-14 04:06:51+00:00
I studied philosophy. Got multiple degrees. The conversations are so incredibly exhausting… not because they are sophomoric, but only because people rarely have a good faith discussion of them.

Is there Truth? Probably. Can we access it, maybe but we can never be sure. Does that mean Truth doesn’t exist? Sort of, but we can still build skyscrapers.

Truth is a concept. Practical knowledge is everywhere. Whether they correspond to each other is at the heart of philosophy: inductive empiricism vs deductive rationalism.
Show HN: FallacyTag – Surfacing reasoning flaws through lightweight UI
by CoherentDrift | 2025-08-14 04:08:56+00:00
I’ve been exploring how small, well-placed cues might help people notice reasoning flaws—without disrupting conversation or turning reflection into policing.

FallacyTag is an early prototype of that idea:

• Tags likely fallacies in real-world text (demo: https://coherentdrift.github.io/fallacytag/demo/?theme=acade...)

• 30s video walkthrough included

• Designed to support reflection in writing, media, even conversation—not just detection

• Full write-up and system proposal here: https://coherentdrift.github.io/fallacytag/pages/04-introduc...
by ranger207 | 2025-08-14 04:08:59+00:00
Crypto and blockchain by itself does not solve any of these problems. It's merely a payments system that happens to be on a computer natively. There's nothing technical preventing banks from getting together and making Open Banking a well-supported thing like they're supposed to be doing; it's all just code and contracts in the end. It's not that they can't, it's that they won't, and they won't for business and political reasons. Crypto is subject to the same pressures but doesn't have the same regulations to constrain their actions. Crypto's better ability to eg do international payments is not because of any technical reason but simply because they don't have the same regulations and inertia of the traditional banking system. While the traditional banking system has problems with its regulations making things too hard to do, many people prefer it to the easier to screw up wild west of crypto payments. Lots of people like the FDIC making sure their savings aren't wiped out if the bank lies on its balance sheet, or the ability to claw back money transfers if someone breaks into their account. Crypto could certainly provide those services and backstops, but they haven't yet, and based on the prevailing attitude amongst the major participants, it's unlikely they will anytime soon. The only real difference between crypto and banks as a payments system is whether or not you want to start from scratch and build up, or start with the existing morass and tear down. The latter is the safer option which many people prefer when it concerns their money
by selkin | 2025-08-14 04:09:26+00:00
You must’ve slept through both civics and history classes.

The 14th amendment to the US constitution grants unconditional (and thus, irrevocable) citizenship jos soli.

Naturalization indeed is mandated by the nationality law and not the constitution, yet it ain’t a courtesy. There’s a list of requirements, which once fulfilled mandate the US to grant a person a citizenship.

As for revoking US citizenship, this just not a thing: a person can rescind their own citizenship, but this requires a deliberate action from the person rescinding it. And naturalization can be deemed void, which is not the same as revoked, as it requires a failure in the granting, not a decision after it.

Furthermore, the UN declaration of human rights (ratified by the US, and drafted by one Eleanor Roosevelt), mandates that “No one shall be arbitrarily deprived of his nationality nor denied the right to change his nationality".

So no, it ain’t courtesy. It’s a universal right, that is ratified in the US constitution, US nationality law, and multiple court decisions.

As for Emma Lazarus, she died in 1887, thirty three years before the US constitution was amended to stop denying voting rights from women.
by tokioyoyo | 2025-08-14 04:09:57+00:00
Depends. I personally don't care about noalc, as when I don't want to drink, I just get Sprite or equivalent. Nor I ever cared if a person got noalc when I'm grabbing beer.

The reality is though, alcohol lowers your inhibitions, and sometimes it's a good thing. Again, I have to emphasize the whole moderation part, and how alcohol might be awful for some people, so obviously refrain from it. But actively discouraging any sort of drinking...
by themafia | 2025-08-14 04:09:59+00:00
We had about 100 domains or so that needed to be redirected to their new homes. The previous person in my position set it all up using GoDaddy domains and redirects. I was gobsmacked at how much effort it took, and when browsers switched to HTTPS first, how badly it broke the setup.

That's when I found "golang.org/x/crypto/acme/autocert" and then I built a custom redirect server using it. It implements TLS-ALPN-01 which works fantastically with Let's Encrypt.

Now we can just add a domain to our web configuration, setup it's target and redirect style, and then push the configuration out the EC2 instance providing the public facing service. As soon as the first client makes a request, they're effectively put "on hold," while the server then arranges for the certificate in the background. As soon as it's issued and installed on the server the server continues with the original client.

It's an absolute breeze and it makes me utterly detest going backwards to DNS-01 or HTTP-01 challenges.
by BrenBarn | 2025-08-14 04:10:13+00:00
> In the intervening years, that competition has arrived. The banks do not like it, and would prefer it if it went away.

This is the conclusion of most articles about such topics. The conclusion is that we need less "knuckle-raps". Instead, a crippling sledgehammer blow to both kneecaps followed by a warning that the next will be to the skull (of the company, to be clear) unless the banks entirely capitulate, accept a massive reduction in profits and executive pay, and fully open their entire systems.
by AraceliHarker | 2025-08-14 04:10:31+00:00
The internet has become a primary battlefield for making money, and we can't go back to the days when it was just a non-commercial hobby that people enjoyed. To make money online, it's crucial to spread content as widely as possible, and the most effective methods for this are clickbait and ragebait. That's why the enshittification of the internet was inevitable.
by ddtaylor | 2025-08-14 04:11:10+00:00
> It is exceptionally easy to tell someone else to spend time and money for a cause you philosophically agree with.

It's advice I have followed myself and with expense.

> What will you, specifically, do to help this person in this case?

In this case I would be willing to help the NPM listings stay under his control and all of the other places he is already using the name "deepkit". I would help him expand that footprint if needed. I would help amplify his voice by publishing a blog entry. I don't have a large blog, but adding your voice has value. Right now this company sees this as X risk and Y cost and those numbers are low. If they have an invalid trademark ruling they may be able to force the issue eventually in some places, but don't make it easy for them.

If a prison analogy is needed, it's not what you see in the movies. Nobody shows up to prison and does the whole "fight the biggest guy" because they want to look tough etc. In the real world that gets you stabbed in your sleep. What happens instead is bullies who can and will win the fight in the long run are deterred by having to do the work and move to the weakest targets.

I don't know how much work the adversarial company has budgeted, what they think X or Y are, etc. What I think is important is to raise the cost, which is measured in many ways besides money.
by abeppu | 2025-08-14 04:12:54+00:00
To be very clear, redlining didn't happen just because a bunch of individual bankers happened to be racist. It was a consequence of federal policy -- the FHA would insure loans in white neighborhoods but not in minority neighborhoods, so even for a rational banker uninterested in race, it made sense to issue the loans for white home buyers, and not minority home buyers, even if they were financially qualified. The "redline" choices were not where a bunch of separate banks had independently decided that some "bad risk" threshold was crossed -- they were picked by HOLC/FHA. The FHA also subsidized construction of white housing developments, but not minority ones.

When people refer to "systemic racism", the "systemic" part is typically literal.

Also, I invite you to take a step back and interrogate the examine the implicit premises of your question. I think you're saying that _in a free market of rational agents_, it doesn't make economic sense to not issue loans to people who _aren't_ credit risks, and I would agree -- except housing segregation was always about a heavily artificially manipulated (not free) market, in which people of color couldn't purchase a home in a white neighborhood regardless of their willingness to pay. Public policy bent over backwards to coerce all parties to maintain segregation (e.g. sundown towns, racial covenants, etc), ironically including during cold-war years when the US simultaneously tried to be a global advocate for free markets.
by mythz | 2025-08-14 04:12:58+00:00
What's the issue with nginx-proxy? We've used it for years to handle CI deploying multiple multiple Docker compose Apps to the same server [1] without issue, with a more detailed writeup at [2].

This served us well for many years before migrating to use Kamal [3] for its improved remote management features.

[1] https://docs.servicestack.net/ssh-docker-compose-deploment

[2] https://servicestack.net/posts/kubernetes_not_required

[3] https://docs.servicestack.net/kamal-deploy
Show HN: I just built a tool to turn any photo into pixel art
by z946719919 | 2025-08-14 04:13:02+00:00
Hey everyone,

I'm excited to share a brand new side project I just finished building: phototopixel.art. It's a simple web tool that automatically converts any photo you upload into pixel art.

I've always been a fan of the aesthetic of pixel art, but manually creating it is a tedious process. After trying out some existing tools and not being fully satisfied with the results, I decided to build my own. My goal was to create a fast and easy-to-use solution that consistently produces great-looking pixel art.

Behind the Scenes The core of the tool uses a combination of color quantization and pixelation algorithms. When you upload a photo, the system analyzes its color data and reduces it to a limited palette, while simultaneously creating the iconic blocky look.

One of the biggest challenges was fine-tuning the balance between preserving key details and achieving a genuine pixel art feel. I experimented a lot with the algorithm to find the sweet spot, allowing users to choose different settings to get the perfect result.

Potential Uses Avatars: Make a unique, retro-style profile picture for social media.

Digital Art: Turn a favorite photo of a landscape or pet into a cool piece of pixel art.

Game Assets: It might even be useful for indie developers looking to quickly generate simple assets or mockups.

I’d love for you to give it a try and share your feedback. What features would you like to see added? Are there any use cases you can think of that I haven't mentioned?

Thanks for checking it out!
by somenameforme | 2025-08-14 04:13:39+00:00
They're not vague in the least, but pointing this out drives anger and cognitive dissonance in people because people want to imagine that they support these values, particularly if they did so when they were younger. For the most unambiguously and plainly obvious - free speech means free speech, not approved speech. You can actually see this cognitive dissonance play out most overtly in Wikipedia's definition of authoritarianism. [1] The meaning of the term has been edited to the point of completely redefining it, relative to its definition of 20 years ago [2], even though the definition of authoritarianism has itself not really changed in that time frame, and the older definition matches the normal definition (and connotation) of it vastly more than the 'modern' version.

The study you mentioned was, even at the time of its publication, quite dubious - finding a negligible correlation (0.23) in amygdalae size in a very non-representative sampling. In a replication attempt that correlation was found to overstate it by more than 3x, finding a correlation of 0.068, which is essentially statistical noise. There's nothing there except clickbait media doing their thing. I'd also add that framing the amygdala as the 'fear center' is itself also quite ridiculous. There also remains the question of identity. I consider myself liberal. I imagine you would object. Who's right? Ah modern 'science', but there I go again challenging that hierarchy.

[1] - https://en.wikipedia.org/wiki/Authoritarianism

[2] - https://en.wikipedia.org/w/index.php?title=Authoritarianism&...
by WalterBright | 2025-08-14 04:13:50+00:00
I learned in college that I didn't learn anything until I worked the problem sets.

(It always seemed like I learned it, but when faced with the problem sets I discovered I hadn't learned anything yet.)

It's the same with everything. You can watch a yootoob video on rebuilding a carburetor all day, but you don't know nuttin until you take it apart yourself.

I decided to learn to ride a dirtbike. I took some personal instruction from an expert, and promptly crashed. Again and again and again. Finally, my body figured out how to coordinate the controls.

Can't learn how to double clutch downshift from watching a video, either.
by chrisco255 | 2025-08-14 04:14:14+00:00
> It's kinda amazing that a president we considered pretty bad is now a role model.

Why do you consider him a role model? Based on how he spoke instead of the actions he took? Most politicians, put on a facade. They play the crowd, kiss the babies, etc. They change their positions with whatever way the polls go. What good is a smile and manners if someone is robbing you when you're not looking?

Bush started an entire war on a completely fabricated lie. And Obama carried the torch, despite running originally against the Iraq war! Maybe you don't feel the consequences of this because you don't have to pay the bill and your family members were never deployed to a war zone.

Trump, for all his flaws, his instincts are for negotiation and peace. He just negotiated a peace deal between Rwanda and Congo:

https://www.reuters.com/world/africa/rwanda-democratic-repub...

And again between Azerbaijan and Armenia: https://www.bbc.com/news/articles/c39dzl1lzrgo

He also seemed to handle the Iran-Israel conflict in a way that for befuddling reasons to me, actually deescalated the situation, despite the controversy at the time.

I'll take mean tweets and strong negotiation over smiling faces and reckless invasions any day of the week.
by laughing_man | 2025-08-14 04:14:25+00:00
The Tea app was a perfect example of this. Vibe coded and released to the public, it shot up to the #1 spot that week in the app store.

All without the slightest bit of data security. If you had the right URL you could download the entire user database, since the LLM they used to create it didn't think data security was important.
by nebula8804 | 2025-08-14 04:15:27+00:00
Scared them off? Is there any documentation of that? My understanding is that the split was amicable. SkyTalks has immunocompromised people on staff and they chose to voluntarily leave defcon because they wanted to continue masking mandates while Defcon did not. Bsides welcomed them with support in their conference(helping with Token Drops and scheduling) and Skytalks occupies a space that is physically separated from Bsides(as in a different hotel on its top floor).

SkyTalks are as awesome as they always were, I'd argue its even better since now you dont have to sacrifice other things at defcon to see skytalks. You can now have dedicated time for skytalks.
by venkii | 2025-08-14 04:16:55+00:00
Hey HN!

Check out this fun tool I built to make cover images for my blog. The main goal: interesting looking random gradients, that all draw from a single color palette.

I stumbled upon this post from Justin Jay Wang [1], who designed for OpenAI - describing methods for random gradients, including the one that shipped on OpenAI’s homepage from 2020-2022.

Since the post included ~10 SVGs, I was able to reverse engineer the SVG parameters, and decided to put up a generator. You can see the exact deets in my Github README [2].

I also use it to generate cover images for my Substack [3] - if you want to see what using a bunch of images generated by it looks like.

[1] https://justinjay.wang/methods-for-random-gradients/

[2] https://github.com/venkr/gradient-gen

[3] https://venkii.substack.com/
by jonahx | 2025-08-14 04:17:23+00:00
> But tutoring isn't obviously superior to practice.

Good tutoring will essentially be practice and worked problems with instant feedback -- not an individual "lecture".

While there is value to being in the forest entirely alone, I think for a motivated student good tutoring will outperform working problems on your own in speed of overall learning. Both are good though, and I agree working the problems out, and working a lot of problems, is the main thing.
by fastball | 2025-08-14 04:17:52+00:00
The UK has been a surveillance state for a long time.

I've been the victim of property crime 4x in the UK, and 3 of those times the entire thing was caught on multiple CCTVs. But that didn't help me get my stuff back or prosecute criminals. The one time I did get my computer back was when the police raided a stash house (due to an anonymous tip, not surveillance) and found a treasure trove of stolen electronics, which included my computer.

But having cameras everywhere in London didn't help at all, so AFAICT they only exist to surveil you.
by bb88 | 2025-08-14 04:19:16+00:00
I'm sorry, the company sold for $145 million with 1,500 employees? It wasn't bankruptcy. Simple math shows it was worth $100k per employee hired. There's clearly positive value there.

They're solely relying upon the fact the employees with common stocks won't sue. To recoup your $100k claim against the equity might take $1M in legal fees.
by nunez | 2025-08-14 04:20:04+00:00
Analogizing AI to power tools is like analogizing building an IKEA bookshelf to outsourcing the job to a TaskRabbit.

Power tools automate manual hand movements, but you still need to follow the manual and know what fits where. Or you can spend money on a contractor from TaskRabbit to do it for you, perhaps badly.

LLMs make it faster to generate code, sure. Automating boilerplate code isn't too unlike using a drill to fit a screw.

But witting software writ large still requires thinking, something that the companies providing these services are heavily incentivized to remove.
by qwertox | 2025-08-14 04:20:43+00:00
In my case I have a very small nameserver at ns.example.com. So I set the NS record for _acme-challenge.example.com to ns.example.com.

An A-record lookup for ns.example.com resolves to the IP of my server.

This server listens on port 53. It is a custom, small Python server using `dnslib`, which also listens on port let's say 8053 for incoming HTTPS connections.

In certbot I have a custom handler, which, when it is passed the challenge for the domain verification, sends the challenge information via HTTPS to ns.example.com:8053/certbot/cache. The small DNS-server then stores it and waits for a DNS query on port 53 for that challenge to come in, and if it does, it serves it that challenge's TXT record.

elif qtype == 'TXT': if qname.lower().startswith('_acme-challenge.'): domain = qname[len('_acme-challenge.'):].strip('.').lower() if domain in storage['domains']: for verification_code in storage['domains'][domain.lower()]: a.add_answer(*dnslib.RR.fromZone(qname + " 30 IN TXT " + verification_code))

The certbot hook looks like this

#!/usr/bin/env python3 import ... r = requests.get('https://ns.example.com:8053/certbot/cache?domain='+urllib.parse.quote(os.environ['CERTBOT_DOMAIN'])+'&validation-code='+urllib.parse.quote(os.environ['CERTBOT_VALIDATION']))

That one nameserver-instance and hook can be used for any domain and certificate, so it is not just limited to the example.com-domain, but can also deal with challenges for let's say a *.testing.other-example.com wildcard certificate.

And since it already is a nameserver, it might as well serve the A records for dev1.testing.other-example.com, if you've set the NS record for testing.other-example.com to ns.example.com.
by woodruffw | 2025-08-14 04:22:02+00:00
> it doesn't seem like printing a more useful error message to them should be that hard.

I think the existing error message is useful:

$ pip search foo ERROR: XMLRPC request failed [code: -32500] RuntimeError: PyPI no longer supports 'pip search' (or XML-RPC search). Please use https://pypi.org/search (via a browser) instead. See https://warehouse.pypa.io/api-reference/xml-rpc.html#deprecated-methods for more information.

It says (1) what failed, (2) why it failed, and (3) links to a replacement, and (4) links to a deprecation explanation. That last link could maybe then link back to the pip issue or include some more context, but it's a far cry from being not helpful.
by WalterBright | 2025-08-14 04:26:26+00:00
I drive a stick car. Shifting gears happens smoothly without any conscious thought. Not with the dirtbike.

Every time, I have to stop and think through it step by step. My recent rides have all been constantly up and down shifting, in order to get it properly into muscle memory. I was annoyed that my car shifting skills did not transfer.
by rtpg | 2025-08-14 04:27:13+00:00
I think people like ADTs and pattern matching that Rust gives, but really the way that Rust becomes even more pleasant is that you have _so many_ trait methods on standard library objects that offer succinct answers to common patterns.

Haskell of course has some of this, but immutability means that Haskell doesn't have to have answers for lots of things. And you want pattern matching as your basic building block, but at the end of the day most of your code won't have pattern matching and will instead rely on higher level patterns (that can build off of ADTs providing some degree of certainty on totality etc)