MurphyA/hacker-news huggingface dataset:
by gambiting | 2026-01-12 12:04:02+00:00
To me it sounds more like he really wanted to give them some agency and the ability to speak, but then was unable to resolve the moral dilemma that came out of it - with different works suggesting different "solutions" to it. As the Wiki article points out, Tolkien was a devout Christian and part of his world view included beings which were wholy and irredimably evil while still able to speak and reason on some level. When you look at Christian iconography, you don't really have theologians saying "well when you have angels slaying demons, are the demons really evil or are they just misunderstood". That's your orcs. Since Tolkien really cared about world building he wanted to make it fit neatly in the myth of creation but as far as I can tell - he was never able to do it neatly.
by mlrtime | 2026-01-12 12:04:04+00:00
>Europe will work towards a new normal that looks to their own interests. And no action the next administration can take will change Europe's determination in this regard.

1) Europe will do whatever is easiest at the time relative to the comfort of the people. Meaning they will have very short memories if enacting some change makes people worse off.

2) If the EU does make change with regard to increasing military spending, that is good either way for the US. Less US involvement in conflicts on a different continent.
by tvali | 2026-01-12 12:04:17+00:00
I received good feedback from Hacker News to my 3 manuals each. This is motivational, informational and introductionary speech for AI programming by different classes of users, with lovable.dev's presentation at https://confident-ai-craft.lovable.app/, available from repo's www. I wanted to simplify complex "math" books into level-invariant introduction: Programmers do not need degrees; I want to make sure AI developers do not need degrees - or a world will break.
by kristopolous | 2026-01-12 12:04:39+00:00
I have no idea why they use that either. It was legitimately great 25 years ago but it's just felt like an SEO farm for at least 15 years.

(25 years ago: https://web.archive.org/web/20010301045035/https://sourcefor...)

Once you get down into it, it's fine. https://sourceforge.net/p/cdesktopenv/wiki/LinuxBuild/

I mean ok, it's fine.
Show HN: ADB Remote – First attempt at IDE-less Android development
by 0dayman | 2026-01-12 12:04:59+00:00
I built ADB Remote from the sole desire to be able to do Android development without having to commit to launching Android Studio.

ADB Remote wraps common ADB and Gradle operations into a single interface. Useful for quick tasks like checking LogCat, managing devices, running builds, or testing a specific Git branch.

What it does:

File Explorer: Browse your project files and open them directly in your terminal/editor

Git Operations: Checkout and run any branch/tag directly on a device

Gradle Tasks: Run assembleDebug, installDebug, or custom tasks with streaming output

Logcat Viewer: Live filtering by level, tag, or search text

Activity Tracker: Monitor the current foreground activity

ADB Tools: Clear data, uninstall, manage permissions, input text, take screenshots

Visual Testing: Screenshot comparison tool to catch UI regressions

Terminal Integration: Open files in iTerm2, Terminal, Warp, etc.

Feedback welcome—especially if you find yourself avoiding Android Studio for quick device tasks.
by towledev | 2026-01-12 12:05:15+00:00
I ran into the same problem. Tried using ChatGPT as a scrum manager. It was really good at checking off todos through conversation, but as I fleshed out the details of the project it would forget critical information - not necessarily todos, but critical information constraining the implementation of the project. In the initial stages, it was great, but it lost usefulness over time.
by shevy-java | 2026-01-12 12:05:33+00:00
I think monkeys are still bred in some zoos. I know that because there is typically media outrage when monkeys are killed in zoos when they were overbred. It's a very questionable system, since they are basically prisoners, then kind of forced or encouraged to breed, and then whacked to death when there are "too many". It's weird because zoos also claim to help preserve some species.
by pilif | 2026-01-12 12:06:02+00:00
It wasn't meant as a rebuttal. Just as a point of thought: By showing that at least one application doesn't exhibit the problem, I thought I was showing that the problem might not be related to the Tahoe redesign at all but might have other causes.

It definitely serves to prove that this is not a design-issue but just a simple bug and thus has at least some chance of being fixed.

FWIW, I cannot reproduce the issue demonstrated in the original article with any window of any application on my machine (M1 Mac Studio), but I thought that listing a very commonly used application alone would be enough to challenge the article's assertion ("the macOS designers are stupid because they make me do something that doesn't make sense in order to resize windows").
Show HN: PSP,A vector retrieval algorithm like HNSW and NSG for MIPS
by snasan | 2026-01-12 12:06:05+00:00
While graph-based vector retrieval algorithms like HNSW and NSG are highly favored for their excellent retrieval speed, it is often overlooked that they are designed for Euclidean space vector retrieval. "Metric mismatch" can be devastating in many scenarios—vector data better suited for maximum inner product retrieval, when paired with Euclidean vector algorithms, often leads to "retrieval results semantically irrelevant to the query." Looking back at the field of maximum inner product retrieval, there has yet to be a groundbreaking algorithm comparable to HNSW or NSG. Many previous works performed well only on certain datasets but suffered severe degradation when applied to others. To address this, in collaboration with Zhejiang University, we have successfully elevated maximum inner product retrieval research to the same level as Euclidean space retrieval. Our innovative method—PSP—can boost maximum inner product retrieval efficiency by 30% with minimal modifications to existing graph algorithms!
by gambiting | 2026-01-12 12:06:11+00:00
And as this wiki article posted in other comments very nicely explains, Tolkien never came to a good and final conclusion on how this all really worked, with different explanations in different works of his. The "they were just evil force that could be killed without remorse" theme is the dominant one, because it works in the context of the story and the worldbuilding that he did for it.

https://en.wikipedia.org/wiki/Tolkien%27s_moral_dilemma
by giancarlostoro | 2026-01-12 12:06:16+00:00
> Everything else is kind of irrelevant. Git is hard to use and awkward to master, but you need to do so anyone to work with everyone else.

People will call me crazy, but you can tell Claude Code what you need with Git on your local repo and it will spit out the terminal incantations, you can also... tell it to run them after you read them.
by lucb1e | 2026-01-12 12:06:53+00:00
That's twice what I'd spend on a first server when you're still figuring out what you need!

My first "server" was a 65€ second-hand laptop including shipping iirc, in ~2010 euros so say maybe 100€ now when taking inflation into account. I used that for a number of years and had a good idea of what I wanted from my next setup (which wasn't much heavier, but a little newer cpu wasn't amiss after 3 years). Don't think one needs to even go so far as 200$ for a "local Bandcamp archive" (static file storage) and serving that via some streaming webserver

Jellyfin docs do mention "Not having a GPU is NOT recommended for Jellyfin, as video transcoding on the CPU is very performance demanding" but that's for on-the-fly video transcoding. If you transcode your videos to the desired format(s) upon import, or don't have any videos at all yet as in GP's case, it doesn't matter if the hardware is 20x slower. Worst case, you just watch that movie in source material quality: on a LAN you won't have network speed bottlenecks anyway, and transcoding on GPU is much more expensive (purchase + ongoing power costs) than the gigabit ethernet that you can already find by default on every laptop and router
by laxis96 | 2026-01-12 12:07:31+00:00
I'm genuinely wondering why everybody hates modern GNOME.

I have long been running Linux on headless systems but Windows on my daily, and only recently switched to dailying a Linux desktop. I started with Kubuntu LTS, it was easy to switch from Windows (shortcuts, UX) but it felt too "complicated" and distracting, not very good looking OOTB and had some graphical glitches here and there (w/ nvidia).

Now I'm on Fedora GNOME and I like it with its clean and modern design language. Very few extensions later and I can see myself being productive with it.
by gerdemb | 2026-01-12 12:07:57+00:00
That’s a good question. To be completely honest, I don’t know much about Advanced Data Protection myself, and I didn’t do anything specific in the app to detect or interact with it.

I’m actually curious: how did you discover that it doesn’t work when Advanced Data Protection is enabled? Was it through an error message, incomplete backups, or something else you noticed?
by arethuza | 2026-01-12 12:08:04+00:00
Well, I was 9 at the time and it was probably the first "science" book that I had read and got excited about.

And no - never been impressed by any of the major religions - although (possibly influenced by Philip Pullman) I do wonder if there was a completely normal bloke in the middle east at the relevant time who suggested it might be good to stop being complete shits to each other...
by akagusu | 2026-01-12 12:08:07+00:00
It's 2026 and people didn't learn yet that your manager is not your friend.

So here it is: your manager's job is to extract value from you. You are just a replaceable part that they will use until you have no value.

Your job is not to do your job but provide value for them. In order to keep your paycheck, the provided value needs to depend on you in a way that if you are replaced they will lose the value.
by lysace | 2026-01-12 12:08:11+00:00
Supporting this:

https://e360.yale.edu/features/iran-water-drought-dams-qanat...

“The government blames the current crisis on changing climate [but] the dramatic water security issues of Iran are rooted in decades of disintegrated planning and managerial myopia,” says Keveh Madani, a former deputy head of the country’s environment department and now director of the United Nations University’s Institute of Water, Environment and Health.
by gingerBill | 2026-01-12 12:08:55+00:00
In the first case in a language with type inference, I'd argue it would probably be written a bit different. And probably something like the following two cases:

x := &bar
if is_foo { x = &foo }
// or
x := &foo if is_foo else &bar

I know this is a simple example, but it's kind just a different way to think about the problem. Sometimes the default C way of having to specify the type first is a good enough of a nudge away to not do when you can just infer the type from the expression. Especially when this variable is being used not as a variable in itself but as an alias for another.

In the second case, Odin's approach would probably just not even do that, but rather `f, b := grab_data()`. The use of `&` is when it needs to be an in-out parameter (i.e. read and write to), which means it has different functionality.
Show HN: RSS.Style – better UX for RSS/Atom links, now using JS instead of XSLT
by Fileformat | 2026-01-12 12:08:55+00:00
One of the things hindering RSS/Atom is poor discoverability.

Normally, clicking on a link to an RSS/Atom feed brings up either a "wall of text" or even worse, a "Save As" dialog, both of which are useless and especially hostile to newcomers. This has lead to authors avoiding putting visible links to their feeds in their HTML pages. So now newcomers never even learn that feeds exist, never mind learn how useful they are!

I (with your help) can do something to get rid of the wall of text: make your feeds display as HTML when you click on them, even though the content is still valid XML!

So take a look at RSS.Style [1] and use the scripts to make your RSS/Atom feeds presentable. You can hotlink the scripts or use them as a starting point for your own feed styling. Code is pretty straightforward and easy to hack.

The other thing that I discovered while working on RSS.Style is that people are not paying enough attention to their feeds. RSS.Style requires that the basic fields are present (and correct) so it can use them in the template: It is shocking how many high-profile bloggers have errors in their feeds. I made a Feed Analyzer[2] that points out some common mistakes that are not covered by the W3C's feed validator. I name and shame some of the top HN contributors[3] on the RSS.Style home page. Even HN's feeds have issues [4] ! (<- @dang take note!)

I originally wrote RSS.Style using XSLT, but Google, as the malevolent friend of the open web, is deprecating XSLT. So I switched to JavaScript, which works everywhere as long as you use a supported Content-Type.

Source is available[5] and everything is MIT licensed. The preview and analyzer are written in TypeScript (no judging! it is just a side project!) and hosted on Cloudflare Pages.

[1] https://www.rss.style/

[2] https://www.rss.style/feed-analyzer.html

[3] https://www.rss.style/#examples

[4] https://www.rss.style/feed-analyzer.html?feedurl=https%3A%2F...

[5] https://github.com/fileformat/rss.style
by lnsru | 2026-01-12 12:09:06+00:00
I am afraid, that when it gets too bad and too obvious it will be too late.

For me first steps would be turning bureaucratic ship around and making regulatory framework simpler and cheaper. With some exceptions for startups/small companies during very first months or years. The industry would be more attractive and with more demand for European electronics manufacturing. With more demand it would slowly start growing domestically. It’s insane that the rules for my 1 person company are the same as for Bosch or Siemens. I can praise good lobbyists work. There are two engineers at my dayjob that are writing mandatory documents about cadmium amount in screws or calculating sustainability parameters…
by maest | 2026-01-12 12:09:32+00:00
Trump still has plenty of support from large swathes of Americans despite his increasingly more overt actions.

For many, he _is_ doing what he was elected to do. This _is_ what the American voter wants. The American voter wants illegal immigrants out, does not care how it happens. They also want cheap oil and are willing to overlook the implications of international military action if it means they get it. They also don't care about the environment enough to curb their consumption or invest in alternative energy sources.

These preferences are all aligned with Trump's actions.
by quotemstr | 2026-01-12 12:09:33+00:00
Choosing something like Zig over C++ on simplicity grounds is going to be a false economy. C++ features exist for a reason. The complexity is in the domain. You can't make a project simpler by using a simplistic language: the complexity asserts itself somehow, somewhere, and if a language can't express the concept you want, you'll end up with circumlocution "patterns" instead.

Build system complexity disappears when you set it up too. Meson and such can be as terse as your Curl example.

I mean, it's your project, so whatever. Do what you want. But choosing Zig for the stated reasons is like choosing a car for the shape of the cupholders.
by victords | 2026-01-12 12:10:08+00:00
When AWS released the S3 Vectors last year, I wanted to try it since I had no experience with Vector DBs, so I built a simple audioguide app to play around with it.

Basically, just use it to identify artworks from a photo, then return a pre-generated AI-Audio for that artwork based on the data on their site. I put up a basic live version on my site for The National Gallery in London: https://victorsantiago.me/audioguide/national_gallery.html

(If you want to try it, you can open it on your phone and take a picture of some painting on the National Gallery Website, e.g.: https://www.nationalgallery.org.uk/paintings/vincent-van-gog... )

It was pretty fun to try it out and play with different LLMs and TTS models to generate the output. Might make a it a proper web app some time soon!
by KernelCrafter | 2026-01-12 12:10:11+00:00
Super specific use case, only a handful of users(mostly friends with free account). https://apps.apple.com/nl/app/multipark-amsterdam/id67469835...

Use Case: Assumption: You have access to your friends visitor parking login in Amsterdam.

You are going to a restaurant/or visiting a place near their parking zone(geo fenced polygon). You want to pinpoint a point in map and drive to that point. Being 100% sure that you can park at that point. Automatically pick a meter near there spot and park almost instantaneously. Then this app is for you :D

Update: Recently updated for this to work with new APIs and in the process updated the UI as well(slightly modern)
by throw0101c | 2026-01-12 12:10:34+00:00
> This is the political will of a plurality of American voters.

Trump has (amongst?) the lowest approval of any president at this point in his tenure, even lower than his first term.

* https://news.gallup.com/poll/699221/trump-approval-rating-dr...

* https://www.natesilver.net/p/trump-approval-ratings-nate-sil...

> It is difficult to see how we can democracy our way out of this situation.

Assuming there is no martial law later in 2026, vote to give the other party more power in Congress so the Legislative branch can actually grow a spine and push back against Executive actions.
Show HN: I built an auto-scheduler to help me decide what I'm watching
by rubb3rDucc | 2026-01-12 12:10:48+00:00
I kept making watchlists but rarely watching anything and I spent more time browsing than watching. After stepping away from streaming services for a bit, I realized I missed having a TV schedule.

So, I built this to help me decide what I’m watching ahead of time by auto-scheduling episodes or movies into time slots. So far, it’s worked better than a watchlist. I actually look forward to watching things now.

This is a working but early version. I’d love feedback on the UX/UI, how easy it is to use, any criticism, and whether this approach holds up for other people.

NOTE: It is free to use for 7 days and there are no ads.

Link: https://app.showshowshow.app
by lee_ars | 2026-01-12 12:10:48+00:00
I've started experimenting with Claude Code, and I've decided that it never touches anything that isn't under version control.

The way I've put this into practice is that instead of letting claude loose on production files and services, i keep a local repo containing copies of all my service config files with a CLAUDE.md file explaining what each is for, the actual host each file/service lives on, and other important details. If I want to experiment with something ("Let's finally get around to planning out and setting up kea-dhcp6!"), Claude makes its suggestions and changes in my local repo, and then I manually copy the config files to the right places, restart services, and watch to see if anything explodes.

Not sure I'd ever be at the point of trusting agentic AI to directly modify in-place config files on prod systems (even for homelab values of "prod").
by latexr | 2026-01-12 12:11:18+00:00
> Hmm, if the purpose of either is so an "easier" target can be made, I think it could still qualify as a straw-man

Good point.

> I think an accusation of straw-manning is in part a accusation of another's intent (or bad faith - not engaging with the argument).

There I partially disagree. Straw-manning is not engaging with the argument but it can be done accidentally. As in, one may genuinely misunderstand the nuance in an argument and respond to a straw man by mistake. Bad faith does require bad intent.
by mijoharas | 2026-01-12 12:12:21+00:00
I'm not super experienced with zig, but I always think that in the same way that rust forces you to think about ownership (by having the borrow checker - note: I think of this as a good thing personally) zig makes you think upfront about your allocation (by making everything that can allocate take an allocator argument.).

It makes everything very explicit, and you can always _see_ where your allocations are happening in a way that you can't (as easily, or as obviously - imo) in rust.

It seems like something I quite like. I'm looking forward to rust getting an effects system/allocator api to help a little more with that side of things.
by aerzen | 2026-01-12 12:12:43+00:00
This is very similar to what I'm building: https://lutra-lang.org

The base premise is the same: SQL is not a proper programming language and everyone knows it only because they have to. And I feel like everyone who knows SQL enough admits that, but still none of the 20+ attempts of a better language stuck on.

As someone would say: sad.
by evv | 2026-01-12 12:12:54+00:00
Your alternative is... what exactly? A unique and baroque file format for each application (see: Git)? Folders of JSON or markdown files which are slow, easily corrupted, and lack indexing? Depend on some memory-heavy external DB service like Postgres?

In most cases, embedding SQLite is the best solution. And that is exactly what it was designed for.
Show HN: I built an open source Grafana Alerts Dashboard
by 2cpu1container | 2026-01-12 12:13:31+00:00
I just released an open-source tool called *Grafana Alerts Dashboard*, and I thought some of you might find it useful altough it might be a bit niche.

Grafana’s built-in alerting works well, but once you have multiple folders, datasources, or environments, it gets surprisingly hard to answer simple questions like:

- Which alerts are currently firing?
- Which ones are disabled or silenced?
- Direct link between silenced alerts and their contact points?

This project provides a *dedicated dashboard that aggregates and visualizes Grafana alerts* in one place.

## What it does
- Simplified alert UI for Walldisplay or TV screens
- Shows all alert rules across folders and datasources and multiple Granafana instances
- Clear status overview (firing, pending, normal, disabled)
- Highlights alerts visually and audibly when they fire
- Simple Search and filter views

## What it is not
- It’s not a replacement for Grafana’s built-in alerting or notification system
- It doesn’t manage or change alert rules, just visualizes them
- It does not write to your Grafana instance or modify any settings

## Why I built it
In my own self-hosted Grafana setup, alerting grew organically and eventually became messy, specially when handling multiple Grafana instances. I wanted a *single pane of glass* just for alert hygiene and visibility—something Grafana doesn’t really provide out of the box.

## Repository
https://github.com/mms-gianni/grafana-alerts-dashboard

Feedback, issues, and PRs are very welcome.
Happy to answer questions or explain design decisions if anyone’s curious.

If you’re running Grafana at home or in a homelab and care about alert quality, I think this will save you some time
by mlrtime | 2026-01-12 12:13:32+00:00
I've been reading this topic for years. It is very common with a certain party that the other side votes against their interest, or is too dumb to vote (literacy).

You can also see it in race voting, where people will say a certain race is voting against their interest just to vote for someone with the same skin color.

It's actually a talking point that actively pushes people away from their cause.

Does this type of voting happen? Sure, but not enough to push elections. IMO it's people who are confused on why others don't think the same way as they do and try to justify why anyway they can, usually through derogatory remarks.