frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Show HN: Slop News – HN front page now, but it's all slop

https://dosaygo-studio.github.io/hn-front-page-2035/slop-news
1•keepamovin•1m ago•0 comments

Show HN: Empusa – Visual debugger to catch and resume AI agent retry loops

https://github.com/justin55afdfdsf5ds45f4ds5f45ds4/EmpusaAI
1•justinlord•3m ago•0 comments

Show HN: Bitcoin wallet on NXP SE050 secure element, Tor-only open source

https://github.com/0xdeadbeefnetwork/sigil-web
2•sickthecat•6m ago•0 comments

White House Explores Opening Antitrust Probe on Homebuilders

https://www.bloomberg.com/news/articles/2026-02-06/white-house-explores-opening-antitrust-probe-i...
1•petethomas•6m ago•0 comments

Show HN: MindDraft – AI task app with smart actions and auto expense tracking

https://minddraft.ai
2•imthepk•11m ago•0 comments

How do you estimate AI app development costs accurately?

1•insights123•12m ago•0 comments

Going Through Snowden Documents, Part 5

https://libroot.org/posts/going-through-snowden-documents-part-5/
1•goto1•12m ago•0 comments

Show HN: MCP Server for TradeStation

https://github.com/theelderwand/tradestation-mcp
1•theelderwand•15m ago•0 comments

Canada unveils auto industry plan in latest pivot away from US

https://www.bbc.com/news/articles/cvgd2j80klmo
2•breve•16m ago•0 comments

The essential Reinhold Niebuhr: selected essays and addresses

https://archive.org/details/essentialreinhol0000nieb
1•baxtr•19m ago•0 comments

Rentahuman.ai Turns Humans into On-Demand Labor for AI Agents

https://www.forbes.com/sites/ronschmelzer/2026/02/05/when-ai-agents-start-hiring-humans-rentahuma...
1•tempodox•20m ago•0 comments

StovexGlobal – Compliance Gaps to Note

1•ReviewShield•23m ago•1 comments

Show HN: Afelyon – Turns Jira tickets into production-ready PRs (multi-repo)

https://afelyon.com/
1•AbduNebu•24m ago•0 comments

Trump says America should move on from Epstein – it may not be that easy

https://www.bbc.com/news/articles/cy4gj71z0m0o
5•tempodox•25m ago•2 comments

Tiny Clippy – A native Office Assistant built in Rust and egui

https://github.com/salva-imm/tiny-clippy
1•salvadorda656•29m ago•0 comments

LegalArgumentException: From Courtrooms to Clojure – Sen [video]

https://www.youtube.com/watch?v=cmMQbsOTX-o
1•adityaathalye•32m ago•0 comments

US moves to deport 5-year-old detained in Minnesota

https://www.reuters.com/legal/government/us-moves-deport-5-year-old-detained-minnesota-2026-02-06/
6•petethomas•35m ago•2 comments

If you lose your passport in Austria, head for McDonald's Golden Arches

https://www.cbsnews.com/news/us-embassy-mcdonalds-restaurants-austria-hotline-americans-consular-...
1•thunderbong•40m ago•0 comments

Show HN: Mermaid Formatter – CLI and library to auto-format Mermaid diagrams

https://github.com/chenyanchen/mermaid-formatter
1•astm•56m ago•0 comments

RFCs vs. READMEs: The Evolution of Protocols

https://h3manth.com/scribe/rfcs-vs-readmes/
3•init0•1h ago•1 comments

Kanchipuram Saris and Thinking Machines

https://altermag.com/articles/kanchipuram-saris-and-thinking-machines
1•trojanalert•1h ago•0 comments

Chinese chemical supplier causes global baby formula recall

https://www.reuters.com/business/healthcare-pharmaceuticals/nestle-widens-french-infant-formula-r...
2•fkdk•1h ago•0 comments

I've used AI to write 100% of my code for a year as an engineer

https://old.reddit.com/r/ClaudeCode/comments/1qxvobt/ive_used_ai_to_write_100_of_my_code_for_1_ye...
2•ukuina•1h ago•1 comments

Looking for 4 Autistic Co-Founders for AI Startup (Equity-Based)

1•au-ai-aisl•1h ago•1 comments

AI-native capabilities, a new API Catalog, and updated plans and pricing

https://blog.postman.com/new-capabilities-march-2026/
1•thunderbong•1h ago•0 comments

What changed in tech from 2010 to 2020?

https://www.tedsanders.com/what-changed-in-tech-from-2010-to-2020/
3•endorphine•1h ago•0 comments

From Human Ergonomics to Agent Ergonomics

https://wesmckinney.com/blog/agent-ergonomics/
1•Anon84•1h ago•0 comments

Advanced Inertial Reference Sphere

https://en.wikipedia.org/wiki/Advanced_Inertial_Reference_Sphere
1•cyanf•1h ago•0 comments

Toyota Developing a Console-Grade, Open-Source Game Engine with Flutter and Dart

https://www.phoronix.com/news/Fluorite-Toyota-Game-Engine
2•computer23•1h ago•0 comments

Typing for Love or Money: The Hidden Labor Behind Modern Literary Masterpieces

https://publicdomainreview.org/essay/typing-for-love-or-money/
1•prismatic•1h ago•0 comments
Open in hackernews

Switch bouncing reference traces for a variety of different switches

https://github.com/gsuberland/switch_bouncing
51•luu•9mo ago

Comments

formerly_proven•9mo ago
I’ve never seen a collection like this, it’s quite amazing.

It’s worth pointing out that due to the x1 probe there’s an input capacitance of about 50-60 pF, which would result in a 200 kHz low-pass for opening and dampen high speed oscillations in general. You can see this in the graphs with the rising transitions being slightly rounded. MCUs have much lower capacitance in their pins, so reality would tend to look even messier than this, especially zoomed in.

lambdaone•9mo ago
A bit of analog low-pass filtering and electrical hysteresis definitely helps reject EMI - but you shouldn't use these alone to do debouncing as if you do, you introduce substantial latency for both up and down transitions. The (very simple) software algorithm described above gives you both low latency and complete resistance to bouncing. Combining the two is a complete solution.
nickdothutton•9mo ago
Knew this would be good, was not disappointed.Glad I don't work in hardware.
frudyputy•9mo ago
This is a very trivial problem, it doesn't even feel right calling it a 'problem'. It's probably the second lesson for the greenest Arduino newbie, right after blinking an LED. Don't let it discourage you from embedded hardware.
lambdaone•9mo ago
Doing it right (via the algorithm above) is a trivial few lines of code. The thinking behind the state machine that gives both high reliability and low latency isn't trivial. It is, however, obvious once you know the trick of maintaining an extra auxiliary variable in addition to counter/timer variables, and understand that you don't need to wait for the bouncing to finish before registering a change. Think sort algorithms; everyone comes up with bubblesort first, but you can do much, much better with only tiny changes after a bit of thought.
formerly_proven•9mo ago
On the one hand yes on the other hand I’d boldly claim incorrect debouncing is the most common (and usually exceedingly obvious) defect in embedded systems.
tonyarkles•9mo ago
And yet… I’ve seen it done wrong so many times, resulting in either spurious inputs or lost inputs, depending on how it’s been implemented.

I agree with you, don’t let it discourage you from embedded hardware. If you want to be successful in the embedded space, though, this is a great easy example to show that you need to take into account a bunch of physical effects when you’re doing hardware. Capacitors change their value with temperature and applied voltage (!), resistors have capacitance and inductance (which may or may not matter), clock crystals change frequency with temperature, switches bounce, ADCs have sampling capacitors that need to charge, chips power themselves up from active-high TTL lines, etc.

I’ve been doing embedded for 20 years now and one of the biggest things I’ve encountered with new learners is that the Arduino platform is amazing for people to get into the field but they’ll hit a point where something mostly works and they don’t have the rest of the background necessary to debug or understand why it doesn’t work as well as they thought it would. Or works great and then “randomly” blows fuses/burns out of there isn’t a fuse.

bombela•9mo ago
So trivial that I want to throw away by the window my microwave everytime I use it!
joezydeco•9mo ago
Jack Gansssle wrote the definitive guide on debouncing for embedded systems.

https://www.ganssle.com/debouncing.htm

bombela•9mo ago
For my hobby projects I hardware debounce with a single tiny capacitor.

The MCU already has schmitt trigger inputs (handles hysteresis). And it also has a high value pull up resistor. The tiny capacitor from input to ground complete the low pass filter.

When you press the button, it quickly empties the capacitor to ground. Because it is so tiny, combined with the intrinsics parasitic resistance, this is a small enough EMI for hobby work.

The MCU input will register the state change right away, the pull up resistor will slowly recharge the capacitor (we talking a few dozen of milliseconds here). The schmitt trigger will handle the transition cleanly.

Nothing to do in code. Interrupts just work as expected without anything special. I think it's worth it.

dtgriscom•9mo ago
The big question is whether there are spurious transitions from noise or EMI. Generally, the pull-up or pull-down is strong enough so that, except while switching, the raw signal will stay reliably high or reliably low. If this is true, then you can act as soon as you see the first change in the raw signal. Then you have a time constant before you will consider a change in the opposite direction to be valid. That way, no matter how quickly the user taps a button, you will a) act as soon as possible, and b) not miss a tap.
progbits•9mo ago
This is mechanical bouncing.
lambdaone•9mo ago
Real environments have both mechanical bouncing and unavoidable EMI spikes, even when you have done your best to eliminate EMI; particularly when you're dealing with switches, which are typically on the end of long wires which are effectively antennae. Source: actual experience with crappy real-world systems.
lambdaone•9mo ago
A side-note: I have a friend who is an electronics genius who managed to construct a production system that combined a multi-kilowatt electric arc lamp and a CCD array. Microvolts of CCD signal at megahertz of bandwidth mixed with hundreds of watts of RFI all in the same chassis. Oh, and of course lots of low-jitter digital timing and sequencing electronics and wideband ADCs.

It all worked perfectly. He used every trick in the book, and some new ones he invented from scratch, to implement it - I've never seen anything like it, before or since.

progbits•9mo ago
Sounds fascinating, can you share what it was for?

Regarding your parent message, I agree, but the EMI stuff will depend on lots of other factors and so you will have to do your own modeling / measurements. While the mechanical bouncing should be pretty uniform so this is a nice data source for picking a well behaved switch and designing debouncing network.

Of course I'm just realizing this is N=1 for the switch so hard to say what manufacturing tolerances each one has.

dtgriscom•9mo ago
That's overly broad. I do embedded development, where the unit has a metal box and the button is plastic. You'd have to deliberately hit it with a spark generator to cause an unexpected transition, and having the button register an unexpected transition isn't a big deal. Worse would be to have overly-enthusiastic debouncing that slows down the user interface, making the unit annoying to use.
lambdaone•9mo ago
I do something very similar, but use two time constants. One to determine how many consecutive samples are needed to change from the established state, and a second one, as suggested here, to ignore subsequent input for a bit after a registered state change to allow for bouncing before going back to the receptive state. This is a bit more robust, as practical systems are always at the mercy of occasional glitches in electromagnetically noisy environments.

With well-chosen constants, I've found similar behaviour to the above; low latency and high performance at once.

londons_explore•9mo ago
Mechanical bouncing should be pretty predictable - ie. A particular bit of metal briefly resonating at a frequency based on the speed of sound in the material.

However, these traces look more chaotic.

Anyone know why?

lambdaone•9mo ago
The system is hit so violently that it goes into a non-linear regime, repeatedly hitting the end-stops of its motion. Consider how adding even a small amount of nonlinearity to a simple harmonic oscillator can create chaos, and I think you should be able to see how this generates chaos.
tonyarkles•9mo ago
Plus, at the interface, there’s some small amount of oxide that has grown on the surfaces. When those pieces of metal are being banded together and separated there’s tiny electric arcs that are working at getting rid of that.
progbits•9mo ago
A bad switch will simply put contacts together at the same rate as the human pressing it, so it's very random and variable as you press with different strength and speed.

A good switch will decouple your finger from the contact by some nonlinear/bistable linkage, so once you accumulate a fixed amount of travel distance it will snap the contacts with the same speed/force. But of course even that isn't perfectly decoupled nor perfectly deterministic.

photon_rancher•9mo ago
Did some similar testing with an on-off rocker switch for a project last year.

Traces were highly predictable if you pressed it just gently past the detent. But if you did it too slowly (restricting the detent force) or used too much follow through (adding to the detent force) the result was very chaotic. Sometimes you could get the bounce period to extend by 10x if you took enough samples.

And if there’s too much current or other problems i saw decent ground and supply bounce too. That definitely makes it toucher to measure the behavior- in some respects a diff or current probe gave even more interesting results.

ChrisGammell•9mo ago
I always refer to this multipart series on debouncing from one of the greats of embedded, (the now retired) Jack Ganssle

https://www.ganssle.com/debouncing.htm