MurphyA/hacker-news huggingface dataset:
A Modular, Human-Centric LED System That Reacts to Circadian Patterns
by emmasuntech | 2025-12-11 09:29:07+00:00
I’ve been building a small side project over the past few months: a modular LED lighting system that automatically adjusts color temperature, brightness, and distribution based on a person’s circadian rhythm, environment, and activity patterns.

The project started because I noticed how much artificial lighting affects focus, sleep quality, and even mood—yet most consumer lights only offer crude presets like “warm / cool / reading mode.” I wanted something smarter, more adaptive, and more open.

Key ideas behind the project

Circadian-aware light engine: A small local model predicts the ideal light temperature and intensity throughout the day, not just based on time but on actual behavior patterns.

Modular physical design: Each light module has its own driver + sensor bundle (ambient light, motion, color, noise levels). They magnetically attach and can sync or operate independently.

Local-first control: No cloud reliance. Everything runs on-device via a low-power microcontroller and a tiny inference model.

Contextual lighting modes: The system learns to differentiate between “late-night focus,” “winding down,” “creative work,” and “ambient mood,” then shifts lighting accordingly.

Open API: You can script scenes or behaviors using a simple JSON-based API. (Example: “If desk occupancy > 20 min and sound < 40dB, switch to 4200K focus mode.”)

Why develop this?

Most smart lights feel like toys or UI-driven gadgets. I wanted something that behaves more like a quiet assistant—ambient automation rather than app micromanagement.

Also, lighting tech has tons of unexplored potential. With LEDs as cheap and programmable as they are, it feels like an interesting frontier for personal well-being and workspace design.

What I’m looking for

Feedback on the hardware architecture and whether the modular approach makes sense

Suggestions on open-source licensing or sustainability for a small hardware/software hybrid project

Thoughts on whether people would actually use something like this—especially developers, creators, or remote workers

Anyone who has worked in lighting science, IoT hardware, or color perception research—I’d love your insights
by monadgonad | 2025-12-11 09:29:33+00:00
> Should I be familiar with every step of Dijkstra’s search algorithm and remember the pseudocode at all times?

Somehow, I think you already know the answer to that is "no".

I've been working as a software engineer for over 8 years, with no computer science education. I don't know what Dijkstra's search algorithm is, let alone have memorised the pseudocode. I flicked through a book of data structures and algorithms once, but that was after I got my first software job. Unless you're only aiming for Google etc, you don't really need any of this.
by actionfromafar | 2025-12-11 09:30:20+00:00
About the "bad argument", I can't argue with you, because I'm not the one arguing. You'll have to take it up with the author of these lines:

"In a hundred years, our language will be the European language. The nations of the east, the north and the west will, to communicate with us, learn our language. The prerequisite for this: The script called Gothic is replaced by the script we have called Latin so far"

(Besides, what's so strange about transposing Cyrillic to Latin? It happens all the time even today when people don't want to or can't switch keyboard layouts.)
by aalhijawi | 2025-12-11 09:30:34+00:00
The fastest organizations in the world aren’t the ones who take shortcuts, they’re the ones who eliminate rework.

As leaders, we talk a lot about speed, innovation, and transformation. But here’s the truth we often learn the hard way:

’ . .

When teams push to deliver quickly, late-stage security becomes the most expensive bottleneck in the entire lifecycle:

– Critical vulnerabilities discovered just before launch – Fire drills, redesigns, and urgent patching – Delayed releases and frustrated stakeholders – Talent burned out fixing issues that could have been prevented

And the cost? % “ ” , .

This is why the organizations outperforming everyone else have one thing in common:

They design securely from day one. Secure-by-Design isn’t a checkbox.

It’s a leadership strategy. It’s architectural discipline. It’s how high-performing teams build predictably, sustainably, and at scale.

When security is embedded early through threat modeling automated scanning secure templates governance-as-code zero-trust design principles

Teams actually move , not slower.

Because instead of reacting, they build right the first time.

Takeaway: • Security doesn’t slow delivery, rework does.

• The fastest teams are the ones who design securely from day one.

• Embedding security early eliminates surprises, fire drills, and costly redesigns.

• Secure-by-Design transforms security from a gate into an acceleration engine.

• Build it right the first time, and speed becomes a natural outcome.
by bigfudge | 2025-12-11 09:30:41+00:00
I don't know the details of the implementation, but this sounds like an argument for strong data protection laws (and so no data retention) rather than inaction.

Also, I'm really struggling to think of examples where people have been arrested for "tweets against the government". The Linehan case? Most of the ones I can think of are like that — so basically culture war bullshit and overzealous policing of incitement laws.
by blub | 2025-12-11 09:31:40+00:00
C++ devs don’t care what the Linux kernel’s written in.

But I did see an interesting comment from another user here which also reflects my feelings: Rust is pushed aggressively with different pressure tactics. Another comment pointed out that Rust is not about Rust programmers writing more Rust, but “Just like a religion it is about what other people should do.”.

I’ve been reading about this Rust-in-the-kernel topic since the beginning, without getting involved. One thing that struck me is the obvious militant approach of the rustafarians, criticizing existing maintainers (particularly Ts’o and other objectors), implying they’re preventing progress or out of touch.

The story feels more like a hostile takeover attempt than technology. I also think that many C or C++ programmers don’t bother posting in this topics, so they’re at least partially echo chambers.
by jwr | 2025-12-11 09:32:03+00:00
I also tried to make Gemini work with opencode and after spending about an hour in various panels, billing settings, setting up access groups, project groups, and other paraphernalia, gave up. There is Google Cloud, Vertex AI, Oauth which works or does not depending on whatever, all the "groups" and other crap I don't need, overall I just failed.

Claude code just works.
by bjourne | 2025-12-11 09:34:38+00:00
The Nazis tried the same argument at the Nuremberg trials. They claimed that they weren't bound by the laws of war (e.g., Hague regulations) since Poland and other states hadn't signed them. The court dismissed the argument and stated that certain rules are binding whether both parties are signatories or not. In Israel's case it is even worse since indiscriminate attacks have been outlawed since basically forever. At the Nuremberg trials, the argument "there is no precedent" had some merit, today it certainly does not.
by jrowen | 2025-12-11 09:34:43+00:00
> Would you say Canadians and Americans are largely synonymous? They have many shared interests. There are many dual citizens. The differences are subtle often.

What would source available be in this analogy?

> Several people highlighted a key idea of open source and free software is you can run an open source program without hesitation. This was not beautiful? These arguments were inferior?

I think we're saying the same thing. Those are the arguments I was referring to.

> Libraries used parts of programs. Programs became libraries. Programs evolved into different programs.

I don't know what this means.

> I don't know how the submitted article could have contradicted this more clearly.

Which part?
by Izkata | 2025-12-11 09:36:31+00:00
> The display property should be called display-type.

More importantly to me, "display" has been overloaded with two meanings: Display of the element this rule applies to/how it interacts with surrounding elements (none, block, inline, inline-block) and display of the contents of this element (flex, grid).

Which is why we now also have inline-flex and inline-grid.

Edit: Apparently we can now arbitrarily combine inline/block and flex/grid as two values to "display", no idea when this happened: https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/P...
by ACCount37 | 2025-12-11 09:36:47+00:00
"Fucking honest" how?

If I'm being fucking honest, then this generation of LLMs might already beat most humans on raw intelligence, AI progress shows no signs of stopping, and "it's not actually thinking" is just another "AI effect" cope that humans come up with to feel more important and more exceptional.

Or is this not the "fucking honesty" you want?
by westurner | 2025-12-11 09:37:03+00:00
Systemd service unit and systemd-nspawn support could be written in Go, too;

From https://news.ycombinator.com/item?id=41270425 re: "MiniBox, ultra small busybox without uncommon options":

> There's a pypi:SystemdUnitParser.

> docker-systemctl-replacement > systemctl3.py parses and schedules processes defined in systemd unit files: https://github.com/gdraheim/docker-systemctl-replacement/blo...

From a container2wasm issue about linux-wasm the other day: https://github.com/container2wasm/container2wasm/issues/550#... :

> [ uutils/uucore, uutils/coreutils, uutils/procps, uutils/util-linux, findutils, diffutils, toybox (C), rustybox, ]
by halapro | 2025-12-11 09:37:13+00:00
You might not have opened any social media app lately. You need 10 seconds before you're sucked into the feed. Likes are a thing of the past, they just gather your interests by your reaction time on any content they show you.

Hey you spent 500ms looking at this pretty girl dancing, how about some ass now?

I get straight up PORN ads on Facebook too. Twitter at some point showed me porn as well, even if I had specifically curated it to show JavaScript content.
by regularfry | 2025-12-11 09:37:16+00:00
The AI generated front page of HN posted yesterday had some generated comments in at least one of the threads that scanned and rhymed. It's clearly there in whatever model that was, and while it might just have been a confluence of having seen a specific word pair a certain distance apart in the learning data to account for the rhyming, I'm having a hard time explaining away the construction of a coherent meter.
by blub | 2025-12-11 09:38:19+00:00
Interesting, I was also thinking of the similarities with Jehovah’s witnesses. It’s as if they somehow got into the building, were offered a job and now want to convince everyone of the merits of technical salvation.

Rust the technology is not bad, even though it is still complicated like C++, has rather poor usability (also like C++) and is vulnerable to supply-chain attacks. But some of the people can be very irritating and the bad apples really spoil the barrel. There’s a commenter below gleefully writing that “C++ developers are spinning in their graves”. Probably slightly trolling and mentioning C++ doesn’t make sense in this kernel context, but such hostile, petty comments are not unheard of.
by callamdelaney | 2025-12-11 09:39:59+00:00
"I think drugs are harmful, but I get the sense there's a political motive behind this."

Social medial is a drug, it has serious effects on the brain function and mental health of children and adolescents. On top of this social media allows predators to freely interact with children.

If people are going to do drugs, which they probably will, they should be able to balance the pro's and cons.
by aktau | 2025-12-11 09:40:13+00:00
(I agree with other commenters' assessment about the importance of the authors complaints, and recommend others checkout the Go memory regions proposal.)

For those interested, here's an article where Miguel Young implements a Go arena: https://mcyoung.xyz/2025/04/21/go-arenas/. I couldn't find references to Go's own experimental arena API in this article. Which is a shame since it'd be if this knowledgeable author traded them off. IIUC, Miguels version and the Go experimental version do have some important differences even apart from the API. IIRC, the Go experimental version doesn't avoid garbage collection. It's main performance benefit is that the Go runtimes' view on allocated memory is decreased as soon as `arena.Free` is called. This delays triggering the garbage collector (meaning it will run less frequently, saving cycles).
by beAbU | 2025-12-11 09:40:20+00:00
Ink tank printers ftw. They are much more expensive than these cheap printers bundled with small cartridges, but from my limited experience they are somewhat decent, and the ink is quite cheap too. They don't like not being used for long periods of time, but I run one page through it once a month or so and it seems quite content to just sit there the rest of the time and do nothing.
by AndrewThrowaway | 2025-12-11 09:40:40+00:00
If you take any ancient or not so ancient civilization or kingdom, all the wealth including land and people's lives belonged to king/imperator which was appointed by god or something like that.

Isn't is exactly the same with the system we have now?

The question we have to ask is about 99% of population of peasants who work 8h a day same as they did in Mesopotamia. Do they have a living standard, healthcare, possibility to have social bonds, possibility to retire. Basically all the things to have a life.

If peasants are able to have all this, I really don't care if some King of ours has 20 trillion or 50 bazillion. In money or in gold.
by darkwater | 2025-12-11 09:40:56+00:00
And it's also probably true, especially for $MEGACORP. But in general the concept of this kind of laws, as others mentioned, it's to make companies internalize the whole cost of their product impact on the environment. It is GOOD if it drives the price up. At some point people will find it too expensive and they will simply not buy it because it's not worth the cost.
by davydm | 2025-12-11 09:41:12+00:00
nice idea - not exactly new - that we could just get AGI to do all the work and spend our lives playing

BUT

In the two major economic climates - capitalism and communism - this won't end up being the case. Capitalists will moan about supporting freebasers. Communists will moan about the people not being productive - it's not like fun, free time and personal choice are highly valued in a place like China where 996 is normal, and people simply don't have time for anything. No, that won't change - they're already "productive to the max" - I'm quite sure that if China could come up with a "relaxation drug" to mitigate burnout, it would be 997 or higher.

Before any of this utopian vision can be fulfilled, we have to overcome the greatest hurdle of all: people. People are selfish and like their "wealth ranking" when they aren't in the bottom pool. People want to feel special, elevated - and mostly, people achieve that by being "better than" someone else. A "Star Trek world" only exists once the participants can actually sit down and agree to co-operate instead of treating everything as a zero-sum game.
by dghf | 2025-12-11 09:41:14+00:00
Originally, a font (also spelled fount, at least formerly) was a physical thing: a collection of metal slugs, each bearing the reversed shape of a letter or other symbol (a glyph, in typographical parlance). You would arrange these slugs in a wooden frame, apply a layer of ink to them, and press them against a sheet of paper.

The typeface dictated the shapes of those glyphs. So you could own a font of Caslon's English Roman typeface, for example. If you wanted to print text in different sizes, you would need multiple fonts. If you wanted to print in italic as well as roman (upright), you would need another font for that, too.

As there was a finite number of slugs available, what text you could print on a single sheet was also constrained to an extent by your font(s). Modern Welsh, for example, has no letter "k": yet mediaeval Welsh used it liberally. The change came when the Bible was first printed in Welsh: the only fonts available were made for English, and didn't have enough k's. So the publisher made the decision to use c for k, and an orthographical rule was born.

Digital typography, of course, has none of those constraints: digital text can be made larger or smaller, or heavier or lighter, or slanted or not, by directly manipulating the glyph shapes; and you're not going to run out of a particular letter.

So that raises the question: what is a font in digital terms?

There appear to be two schools of thought:

1. A font is a typeface at a particular size and in a particular weight etc. So Times New Roman is a typeface, but 12pt bold italic Times New Roman is a font. This attempts to draw parallels with the physical constraints of a moveable-type font.

2. A font is, as it always was, the instantiation of a typeface. In digital terms, this means a font file: a .ttf or .otf or whatever. This may seem like a meaningless distinction, but consider: you can get different qualities of font files for the same typeface. A professional, paid-for font will (or should, at least) offer better kerning and spacing rules, better glyph coverage, etc. And if you want your text italic or bold, or particularly small or particularly large (display text), your software can almost certainly just digitally transform the shapes in your free/cheap, all-purpose font, But you will get better results with a font that has been specifically designed to be small or italic or whatever: text used for small captions, for example, is more legible with a larger x-height and less variation in stroke width than that used for body text. Adobe offers 65 separate fonts for its Minion typeface, in different combinations of italic/roman, weight (regular/medium/semibold/bold), width (regular/condensed) and size (caption/body/subhead/display).

Personally, I prefer the second definition.
by ben_w | 2025-12-11 09:41:34+00:00
> It's not OK for the government to have all the guns.

Why?

The argument I've heard Americans give over the years is to stop authoritarian governments, to keep the government "scared" of the people.

Yet people in the USA are now being snatched off the street and deported for what is supposed to be protected by the first amendment: speech.

Clearly literally getting shot at didn't keep Trump "scared".
by davydm | 2025-12-11 09:43:13+00:00
To be clear: it's our competitive nature that has fueled a lot of human progress and is responsible for where we are, but we're at a bit of a tipping point where the world is getting more crowded, competition is increasing, and tribalism is entrenched everywhere. We need a radical human transformation if we're going to ever break out of this cycle without annihilation.
by crote | 2025-12-11 09:44:19+00:00
The connector itself shouldn't be an issue, because it doesn't fall under IP. The shape of the connector is entirely functional, so there's no creative work involved, so it would fall under patent law. However, the connector itself is unlikely to be innovative enough to be patentable, so it's not protected by patent law either.

Using HDMI connectors is totally fine. You just can't label it as "has HDMI port", as "HDMI" is a trademark.
by recursivecaveat | 2025-12-11 09:44:24+00:00
Imagine you have something like `width /comment/: /comment2 /12px /comment3/,`. Now you want to load your css into some kind of structured representation, rearrange it, then spit it back out again with that comment intact. The requirement to represent such comments in your structured format so you can retain them is really obnoxious. In html you can just view comments as another node in a uniform tree.
by hmng | 2025-12-11 09:44:24+00:00
As others have said, it is easy enough for a child in the 80s, with only a BASIC manual to come up with it. Been there, done that. Didn't even had a name for it. Later I read a magazine explaining several algorithms and found the name of what I had implemented.

For the curious, the ZX Spectrum microdrive listed files on the cartridges by order found on tape. I wanted to display it in alphabetical order like the "big" computers did.
Show HN: Tripwire: A new anti evil maid defense
by DoctorFreeman | 2025-12-11 09:46:56+00:00
If you have heard of [Haven](https://github.com/guardianproject/haven), then Tripwire fills in the void for a robust anti evil maid solution after Haven went dormant.

The GitHub repo describes both the concept and the setup process in great details. For a quick overview, read up to the demo video.

There is also a presentation of Tripwire available on the Counter Surveil podcast: https://www.youtube.com/watch?v=s-wPrOTm5qo
by tapete2 | 2025-12-11 09:47:38+00:00
It doesn't even make sense to use strchr for determining the position of 'r', when the code checks that the position of '-' is at index 0.

Your solution is perfectly fine. Even if you don't have access to strchr for some reason, the original snippet is really convoluted.

You could just write (strlen(argv[1]) > 1 && argv[1][0] == '-' && argv[1][0] == 'r') if you really want to.
by dghf | 2025-12-11 09:48:24+00:00
As others have said, Times New Roman was specifically designed for newspapers:

* condensed glyph widths, for ease of setting in narrow columns

* high x-heights and short ascenders and descenders, so lines can be set tighter and more text thus fitted on the page

* robust forms and serifs to allow for the tendency of newsprint to absorb and spread ink

These features don't necessarily translate to improved readability in other contexts.
by chrysoprace | 2025-12-11 09:48:25+00:00
Very cool project. An interesting note is that this makes HoMM III available to play on Android. That being said the game has had such a community revival surrounding the excellent Horn of the Abyss (HotA) mod that I can't really see myself playing VCMI (outside of Android) unless they fully worked together. Nevertheless, I am always stoked to see these community projects because they illustrate the pure passion people have for these games.
by dkersten | 2025-12-11 09:50:33+00:00
I hate that singleton is first.

Singletons are just globals with extra steps, and have all the same problems globals have, just people (especially juniors) think they somehow are better.

In reality they’re worse because they conflate global access with enforced single instance. You almost never need to enforce a single instance. If you only want one of something, then create only one. Don’t enforce it unless it’s critical that there’s only one. Loggers are often given as an example of a “good” singleton and yet we often need multiple loggers for things like audit logs, or separating log types.

Instead of singletons, use dependency injection, use context objects, use service locators, or… just use globals and accept that they come with downsides instead of hiding behind the false sense of code quality that is a singleton.