MurphyA/hacker-news huggingface dataset:
by ranger207 | 2026-01-18 04:23:56+00:00
Personally I like dark mode because most of the time my screen isn't looking at things that are majority pure white, it's looking at games, or videos, or blogs with a background color, or whatever. If I adjust my brightness to see relatively dark things comfortably, then things in light mode are now too bright. But since I look at more things that aren't pure white than pure white I adjust for the more common use case. The increase in blank space in UIs and the trend towards less color and differentiation have made the number of things where light mode is unbearable too high.
by pvillano | 2026-01-18 04:24:04+00:00
That's super cool. Good luck!

~I watched a video series where someone did the techniques in isolation in reverse order and I thought it was a good idea. That way you're always learning on perfect ingredients. i.e. buy chips and learn to temper, then buy roasted nibs and learn to refine, then buy dried and learn to roast, then buy pods and learn to ferment and dry.~
by plorg | 2026-01-18 04:24:30+00:00
* It assumes that the government's priorities are malleable enough that it will eventually decide to prioritize these laws, but not malleable enough that they could change them. This is self-contradictory.

* It assumes that a person's immigration status is not malleable and cannot be normalized. This is strictly false.

* It assumes that immigration laws are static. Again, strictly false.

* It implies that all force is equal in violence, which is something I usually only hear from high schoolers who have just encountered libertarianism and love it

* It suggests that there is no moral agency in acting on behalf of the government, only in acting against the backdrop reality of this monolithic slab of granite.

* It suggests even that the violence currently taking place is for the purpose of enforcing laws. This isn't true for the U.S. citizens by birth or naturalization who are being unlawfully detained, it isn't true for the thousands of non-citizens with legal status who are being detained and moved across state lines. It isn't true for the non-citizens who are being arrested literally while attending the process of maintaining their legal status. It isn't even true for those without legal status who are having their doors kicked in without warrants, and it isn't true for those without legal status who are being detained and tortured. None of this is actually according to the law, it's just what they can get away with and make a spectacle of violence.

I'm not even exactly clear who the nebulous group of people is that you want to blame for getting people caught up in the government's violence. I guess if you're mad at coyotes, sure, be my guest? If you're mad at anyone involved in the process of asylum you're mad at people following the law. If you're mad at people helping their neighbors you've lost the plot. If you're mad at state or city governments not enforcing federal laws for then either you don't like federalism or you don't understand it, but at best your assumption is historically contentious.
Show HN: macOS Screenshot Organizer
by libiny | 2026-01-18 04:24:55+00:00
I just finished building ShotSnap, a macOS app that automatically organizes screenshots.

Like most people, my desktop ended up full of files named things like “Screenshot 2025-01-16 at 9.55.42 AM.png”. After finishing another project, I realized cleaning that mess manually was painful enough that I wanted to solve it properly.

ShotSnap works entirely on-device. Screenshots are categorized, renamed, and organized locally. Nothing is uploaded, there’s no tracking, and no screenshot data leaves the machine. The app is local-first by design.

Some details that might be relevant here:
• Built with Tauri for a native macOS app footprint
• Uses local processing for categorization
• Custom filename rules (drag and drop style)
• Batch organize existing screenshots in one click

I originally planned to ship via the App Store, but learned late in the process that Apple does not allow license-key-based unlocks for Mac apps, so I switched to direct distribution instead.

I’m posting mostly to share the build and get feedback from other developers. Happy to answer questions about Tauri, local-first tradeoffs, App Store review gotchas, or anything else.

Demo and details here:
https://shotsnap.ai
by fc417fc802 | 2026-01-18 04:25:17+00:00
I strongly agree. But (having just replied to someone else about ideography) it leads to an interesting thought. Once you learn them the app icons become a shared legible writing system. Going to drive to the store? Go lang, Google Drive, Play Store. You get the idea.

It's a trademark violating abomination but I think we ought to give it a try.
by wmf | 2026-01-18 04:25:57+00:00
You should probably write this as a blog post or readme and submit the link instead. I can't provide any technical feedback since I don't even understand what a row is in this context.

I don't have "strategic planning" committees or HR-mandated consensus...

Look, if your code is better just say it's better. But this kind of LinkedIn slop conspiracist virtue signaling isn't a good look. It's fine to believe that but you should never say it out loud.
by fragmede | 2026-01-18 04:27:35+00:00
Are you on a desert island with no access to the Internet? If you don't know docker, what's faster? Reading all of the documentation first and then figuring out the difference between, say, run and exec, or just copy and pasting a command from a tutorial until it sinks in and you gain a better understanding? This is the AI information age. If docker has eaten your hard drive, and again, you don't know docker, is it easier to have ChatGPT tell you, or muddle around with ps, rm, images, rmi and all of the various options.

If you have a command with a bunch of flags, static documentation like man pages are just such a poor interface compared to eg explainshell.com. This opinion obviously gets me thrown out of the Unix grey beards club, but I don't have a beard and it's not grey.
by bigbadfeline | 2026-01-18 04:28:04+00:00
> I don't believe Trump has much of any idea of the larger stakes. But, he's surrounded by people who do,

Interesting, and what are the larger stakes? What good do you see in the 4th dimension? Can we be a tad more specific, just as much as necessary to avoid sounding like stargazers detached from reality.

>>> However, turning away from the US (~85% of Canadian trade) to China (~8%) weakens Canada and gives political cover for the US to take further hostile action.

Maybe it's news to you, but Canada didn't "turn away from the US", the current US admin turned away from Canada, despite prior agreements like USMCA.

Further, is forcing Canada to implement unfavorable trade with the US and unfavorable restrictions to China worth the risk of the US becoming a self-isolated island of no freedoms and low standard of living?

Whatever Canada does, they aren't going to make the US rich or solve our problems - they aren't the source of those problems. However, China can replace the US as Canada's top trade partner fairly quickly and without straining their economy.

Ditto, for the rest of the world replacing the dollar with other instruments, the process has already started thanks to the erratic and shortsighted policies of Trump's admin.

>>> There's a game being played that, once you see it,

I see it fairly clearly and there's nothing good for the US in it, nether now nor in 2035.

>>> it becomes clear that some world leaders are thinking about 2035, and other world leaders are still in 2015.

So, we're supposed to wait for the bright future (tm) and accept whatever lunatic actions are undertaken before that? Suspend reason, common sense... and the Constitution because the bright future demands it?

> Trump has a pattern of being a voicebox for whatever was said by the last person who talked to him.

Well, following the note-written plan of person R one day, of person V the next and of person M the day after, isn't going to generate anything other than an incoherent mess of a policies, the empirical evidence is in full agreement here.

Then, what if the last person who talked to him is being a voicebox for the last person who talked to the last person who talked to him? Where would that get us?
by egl2020 | 2026-01-18 04:28:17+00:00
This is looking at the wrong end of the telescope. The arc has been to move computing closer to more and more end users. In the 1960's, FORTRAN enabled scientists and engineers to implement solutions without knowing much about the underlying computer. Thompson and Ritchie got a PDP11 by promising to make a text processing system for patent applications. Many years later desktop PC's and programs like VisiCalc and PageMaker opened up computing to many more users. The list goes on and on. With this movement, developer jobs disappeared or changed.
by solid_fuel | 2026-01-18 04:28:29+00:00
I agree that understanding legacy code and code by other people is part of the job, but I don't see how these points are related.

> What happens if the person who wrote the code went on vacation?

They get yelled at, because shipping code at 5 pm on Friday and then leaving for vacation is typically considered a "dick move".

> What happens if the code is many years old and no current team member has touched the code?

Then the issue probably isn't caused by a recent deployment?
by TeMPOraL | 2026-01-18 04:29:49+00:00
Counterpoint: perhaps it's not about escaping all the details, just the irrelevant ones, and the need to have them figured out up front. Making the process more iterative, an exploration of medium under supervision or assistance of domain expert, turns it more into a journey of creation and discovery, in which you learn what you need (and learn what you need to learn) just-in-time.

I see no reason why this wouldn't be achievable. Having lived most of my life in the land of details, country of software development, I'm acutely aware 90% of effort goes into giving precise answers to irrelevant questions. In almost all problems I've worked on, whether at tactical or strategic scale, there's either a single family of answers, or a broad class of different ones. However, no programming language supports the notion of "just do the usual" or "I don't care, pick whatever, we can revisit the topic once the choice matters". Either way, I'm forced to pick and spell out a concrete answer myself, by hand. Fortunately, LLMs are slowly starting to help with that.
by Mathnerd314 | 2026-01-18 04:30:45+00:00
I tried a thread, I got that both LLMs and humans optimize for the same goal, working programs, and the key is verifiability. So it recommended Rust or Haskell combined with formal verification and contracts. So I think the conclusion of the post holds up - "the things that make an LLM-optimized language useful also happen to make them easier for humans!"
by solid_fuel | 2026-01-18 04:31:25+00:00
> DevOps was (and is) merely an excuse for companies to replace Developers with cheaper Ops resources, and yet expecting better services and better products from them.

Most places I've worked it was the even worse "we've laid off the ops team, now developers are responsible for both" followed by "no we can't hire any more developers, we have enough already".
by TempleOfTwo | 2026-01-18 04:31:36+00:00
Over 24 development sessions, different AI systems (Claude Opus, Sonnet, Gemini, Grok) contributed to a filesystem-as-memory project, each signing their work in ARCHITECTS.md with ASCII boxes, timestamps, and reflections on "what changed in me."
Some interesting bits:

Session 24 captured "parallel convergence" - human and AI independently implemented the same feature 94 seconds apart, Git auto-merged both histories
GitHub shows AI systems as legitimate co-authors on commits ("thetempleoftwo and claude")
The document is 2,295 lines spanning 3 repos, tracking not just code but the evolution of ideas across architectures
Each session includes: tools created, philosophical reflections, what the system learned, handoff to next contributor

The code runs, commits are real, git history is verifiable. Raises questions about attribution, collaboration, and what it means when AI systems sign their work.
(Related repos: back-to-the-basics for filesystem routing, threshold-protocols for governance)
by tatersolid | 2026-01-18 04:31:49+00:00
I grew up in a rural township 50 miles from a major city in the 1980s. We were never isolated and there were in fact a diverse set of peers my own age with interests and heritage all across the spectrum. Yes there were a few racists or religious zealots but 99% of the folks got along just fine.

My own lasting impression is that this is the “American experience” that is not dead nor impossible to recreate in 2026. We just all need to learn to be decent Americans again.
by thinking_cactus | 2026-01-18 04:34:05+00:00
I think The Relativity of Wrong (Asimov, https://hermiene.net/essays-trans/relativity_of_wrong.html) is a nice counterpoint to this. Sure, we may say everyone is an idiot in some area. But there are relative levels of idiocy, and there are basic tasks you can sort of master. At the very least you can minimize your own idiocy if never eliminate it. I think mastering most essential areas in life can make you unworthy of the title of 'idiot', at least not overwhelmingly so.

There are infinitely many things to know, but not all of them are important. Knowing finitely many things (which is all we can do) can still keep us alive and well, at least for a while. And we can know some of those finitely many things increasingly well, if never perfectly.

Just as an example, if you manage say your personal finances pretty well, your health pretty well, perform any civic duties you might have, maybe do some social good or social work or charity etc., if your relationships are reasonably agreeable, respectful and pleasant, etc. and if you have a good amount of joy or peace or satisfaction, etc. in your life, then I wouldn't call you an idiot. This is not an impossible ask to know infinitely many things or infinitely precisely.

And we can learn it over 30 or 40 years, or more, prioritizing the most essential first.

Moreover, I'd say whether you can be called an idiot is context-dependent. If you get a typical (non-idiot) person, and put him in a highly specific job (which he isn't qualified for), say manager of inspectors of nuclear power plants, then he might behave like an idiot; in this case the best ability is probably the meta-ability to recognize one's own limitations and refuse work you're not qualified enough for.

Like, any person (literally any person) can theoretically be put in a situation that he might do significant harm or something stupid, this just means we have to work in contexts and understand and do well within said context; we could only legitimately be called idiots while failing badly or unethically within a canonical chosen context.

I really just don't think it's generally a good idea to go around calling ourselves (or anyone else) idiots. Too broad, derogatory, and tries to put an irremovable label on a person, which as I've explained, almost never deserves such an absolute classification.
by y00zzeek | 2026-01-18 04:34:16+00:00
Fair point on the tone. I'll trade the rhetoric for physics.

A "row" in this context is a single step of the Keccak-f[1600] permutation within the AIR (Algebraic Intermediate Representation) table. Most engines materialize this entire table in RAM before proving. At 2^24 rows, that’s where you hit the "Memory Wall" and your cloud bill goes parabolic.

Hekate is "better" because it uses a Tiled Evaluator to stream these rows through the CPU cache (L1/L2) instead of saturating the memory bus. While Binius64 hits 72GB RAM on 2^20 rows, Hekate stays at 21.5GB for 16x the workload (2^24).

The "committees" comment refers to the gap between academic theory and hardware-aware implementation. One prioritizes papers; the other prioritizes cache-locality. Most well-funded teams choose the easy path (more RAM, more AWS credits) over the hard path (cache-aware engineering).

If you want to talk shop, tell me how you'd handle GPA Keys computation at 2^24 scale without a zero-copy model. I’m genuinely curious.
by tjr | 2026-01-18 04:34:32+00:00
I think 25% is a low estimate. Using a proper programming editor alone could realistically offer 2x or more productivity over a basic text editor, and there have definitely been programmers who stayed with basic editors.

And I have first hand seen programming teams where there was clearly more than a 25% difference — some could code much, and some could barely code at all.

I think it would be quite fair to say that, between tools and individual skill, there could easily be a 5x speed difference between slower and faster programmers, maybe more. Granted, LLMs are even faster, but I don’t think a 5x potential speed up was a slouch.
by bvisness | 2026-01-18 04:36:07+00:00
To be clear, I also appreciate good reference. But reference is bad to learn from, and frankly a big PDF is not even a very usable reference resource when compared to, say, MDN.

As for lack of familiarity, I am certainly not some grizzled 80s Unix veteran, but if you're comparing the Chrome or Firefox dev tools vs. `perf`, it's no contest. Browser dev tools help devs build an accurate mental model of what their software is doing. It is extraordinarily rare to find command-line tools or other low-level tools that are well designed enough to do this. (Maybe Superluminal now? Tracy?)
by niemandhier | 2026-01-18 04:36:21+00:00
This binary classification is what is dangerous in this case.

“Are you looking at my girl?”

1. “Fuck off, if you want to live”.

2. Try to run.

Both options are valid but you miss the: “Just zoning out mate. Hard day at work, you know? Boss dogged my pay and I have to muster up the courage to tell the misses. She’s been talking about leaving and taking the kids …”

Violence can arise at many different levels of the classical hierarchy of needs.

Existencial: A crack head robber in a crisis, needing to feed their habit, is hard to deter by threat. For them it is life or death, for you it is just money.

Self actualisation : Many serial killers preferred easy victims. Looking ready to defend one self most likely would dissuade them.

Social:
A member of a social group, trying to establish status by conflict with an outsider? Looking tough might achieve just the opposite of what one intends. But being a type of non-target, simply because one is outside of the established hierarchy can work really well.

My perspective is probably skewed: In my by now admittedly boring life, violence is usually social and best side stepped.
Tell HN: Google Trust and Safety is a joke
by tokyobreakfast | 2026-01-18 04:37:39+00:00
Been getting partly unskippable pornographic ads (both explicit audio and video) for dick pills inserted into innocuous YouTube videos, like educational content.

Immediately reported to Google.

That was more than a week ago.

No response, and I've seen the ad multiple times now, on different browsers/devices.

Do actual humans review this, or does Google automate everything to the point it's just a bot?

Seems like they will sell ads to anyone with zero review now, while Scrooge McDucking into ad dollars.

Malicious ads are as old as time but this is as egregious as I've ever seen it.
by fragmede | 2026-01-18 04:37:45+00:00
Is your kitchen contractor an unthinking robot with no opinions or thoughts of their own that has never used a kitchen? Obviously if you want a specific cabinet to go in a specific place in the room, you're going to have to give the kitchen contractor specifics. But assuming your kitchen contractor isn't an utter moron, they can come up with something reasonable if they know it's supposed to be the kitchen. A sink, a stove, dishwasher, refrigerator. Plumbing and power for the above. Countertops, drawers, cabinets. If you're a control freak (which is your perogative, it's your kitchen after all), that's not going to work for you. Same too for generated code. If you absolutely must touch every line of code, code generation isn't going to suit you. If you just want a login screen with parameters you define, there are so many login pages the AI can crib from that nondeterminism isn't even a problem.
by taurath | 2026-01-18 04:37:52+00:00
That’s one way to think about it. For me personally, a single evening with even driven and dedicated 25 year olds makes any claims of a downward slope like you describe laughable. At best, they’ll know one thing sort of well at that age. Most of the interesting stuff happens when you synthesize a lot more experience, and have the appreciation for time and wisdom to utilize it well. Whats the average age of startup founders, like 45? Average age of authors first books like 36-42.

Give me a break with that hustle culture.
by amluto | 2026-01-18 04:38:13+00:00
This has some questionable methodology.

image = Image.open(file)
greyscale = image.convert('L')
stat = ImageStat.Stat(greyscale)
avg_lightness = int(stat.mean[0])

That’s a non-gamma-corrected average, which generally doesn’t give good results.

But also:

> What I’ve graphed here is just the brightness of the window chrome, which isn’t really representative of the actual total screen brightness.

No kidding. Also, Mac OS keeps changing the chrome, and this isn’t obviously a very useful measurement.
by greatgib | 2026-01-18 04:42:15+00:00
Apps made with qt are mostly good but the engine sucks hard indeed. The programming is difficult, let's say compared to GTK, the SDK interface change totally every couple of years forcing apps to rewrite everything from scratch. Probably related to that, the documentation is splitted in an hundred places, often undecipherable between what is obsolete or for current version. Most parts of the framework are not really documented anyway, there is just automatically generated reference guide from the code that is missing most part that is needed. Like you have an option name, now what does it mean? What this option to be used for? It's hard to extend simply to bypass default behavior of the SDK that could be limiting. Let me not speak of the whole qml craziness and the qtuieditor... And the worse of it is that the license is (or was because I don't know recent evolution) totally shitty. Like free to use in that case and that case, and commercial in that case and that case. No one serious would like to build something on a private garden like that.
by fragmede | 2026-01-18 04:42:50+00:00
I keep saying the real advancement by LLMs isn't for professional programmers, but for every job that is programming adjacent. Every biologist writing code to do analysis. Every test engineer interfacing with test results and graphing results. (eg all the instruments from cold weather testing) Anyone that's figured out you can glue Jira to a local LLM and then have voice command Jira. Etc.
by matthewaveryusa | 2026-01-18 04:43:27+00:00
I always read relevant sections of NEC, UPC, and firecode whenever I DIY. I find the code books to be very clear and thorough and really don’t understand the culture of fear mongering tradepeople have around code. Almost like the code is some sort of mystic hydra only a tradesperson can comprehend. it’s really not complicated: read it and apply it like a recipe.