frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Mercedes-Benz commits to bringing back physical buttons

https://www.drive.com.au/news/mercedes-benz-commits-to-bringing-back-phycial-buttons/
169•teleforce•1h ago•97 comments

Security Through Obscurity Is Not Bad

https://mobeigi.com/blog/security/security-through-obscurity-is-not-bad/
27•mobeigi•1h ago•31 comments

For thirty years I programmed with Phish on, every day

https://christophermeiklejohn.com/ai/personal/phish/flow/agents/2026/05/03/rift.html
8•azhenley•28m ago•1 comments

Alert-Driven Monitoring

https://simpleobservability.com/docs/alert-driven-monitoring
32•khazit•2h ago•10 comments

Show HN: Apple's Sharp Running in the Browser via ONNX Runtime Web

https://github.com/bring-shrubbery/ml-sharp-web
115•bring-shrubbery•7h ago•19 comments

What Is Z-Angle Memory and Why Is Intel Developing It?

https://www.hpcwire.com/2026/02/05/what-is-z-angle-memory-and-why-is-intel-developing-it/
20•rbanffy•2d ago•5 comments

I rebuilt my blog's cache. Bots are the audience now

https://hoeijmakers.net/thirty-years-of-caching-sorted-in-an-afternoon/
15•robhoeijmakers•2h ago•19 comments

Embedded Rust or C Firmware? Lessons from an Industrial Microcontroller Use Case

https://arxiv.org/abs/2604.25679
111•mrtz•2d ago•92 comments

Porsche will contest Laguna Seca in historic colors of the Apple Computer livery

https://newsroom.porsche.com/en_US/2026/motorsport/porsche-will-contest-laguna-seca-in-historic-c...
19•Amorymeltzer•2h ago•5 comments

Group averages obscure how an individual's brain controls behavior: study

https://med.stanford.edu/news/all-news/2026/04/brain-scans-individual-versus-group.html
81•hhs•2d ago•21 comments

A couple million lines of Haskell: Production engineering at Mercury

https://blog.haskell.org/a-couple-million-lines-of-haskell/
349•unignorant•16h ago•166 comments

Business Owners Are Worst Clients

https://zencapital.substack.com/p/business-owners-are-worst-clients
32•zenincognito•1h ago•33 comments

This Month in Ladybird – April 2026

https://ladybird.org/newsletter/2026-04-30/
444•richardboegli•19h ago•125 comments

Automating Hermitage to see how transactions differ in MySQL and MariaDB

https://theconsensus.dev/p/2026/05/02/automating-hermitage.html
15•zdw•20h ago•2 comments

Six Years Perfecting Maps on WatchOS

https://www.david-smith.org/blog/2026/04/29/maps-on-watchos/
392•valzevul•19h ago•98 comments

Dav2d

https://code.videolan.org/videolan/dav2d
556•dabinat•22h ago•156 comments

Haskell: Debugging

https://wiki.haskell.org/Debugging
17•tosh•2d ago•1 comments

Do_not_track

https://donottrack.sh/
438•RubyGuy•22h ago•136 comments

Breaking Up with WordPress After Two Decades

https://yusufaytas.com/breaking-up-with-wordpress-after-two-decades
36•owenbuilds•1h ago•14 comments

Windows quality update: Progress we've made since March

https://blogs.windows.com/windows-insider/2026/05/01/windows-quality-update-progress-weve-made-si...
117•jovial_cavalier•1d ago•347 comments

Coffee doesn't just wake you up–a biological pathway illuminates health effects

https://sciencex.com/news/2026-04-coffee-doesnt-key-biological-pathway.html
12•pseudolus•5h ago•0 comments

Utah to hold websites liable for users who mask their location with VPNs

https://www.tomshardware.com/software/vpn/utah-becomes-first-us-state-to-target-vpn-use-with-age-...
144•GavinAnderegg•1h ago•126 comments

Neanderthals ran 'fat factories' 125,000 years ago (2025)

https://www.universiteitleiden.nl/en/news/2025/07/neanderthals-ran-fat-factories-125000-years-ago
253•andsoitis•19h ago•139 comments

Care homes and hotels in Japan shut as expansion strategy unravels

https://www.newsonjapan.com/article/149075.php
88•mikhael•14h ago•32 comments

Utilyze measures how efficiently your GPU is doing useful work

https://github.com/systalyze/utilyze
35•nateb2022•2d ago•9 comments

Inventions for battery reuse and recycling increase seven-fold in last decade

https://www.epo.org/en/news-events/news/inventions-battery-reuse-and-recycling-increase-more-seve...
225•JeanKage•3d ago•27 comments

A Desktop Made for One

https://isene.org/2026/05/Audience-of-One.html
11•xngbuilds•52m ago•2 comments

Specsmaxxing – On overcoming AI psychosis, and why I write specs in YAML

https://acai.sh/blog/specsmaxxing
216•brendanmc6•9h ago•231 comments

VS Code inserting 'Co-Authored-by Copilot' into commits regardless of usage

https://github.com/microsoft/vscode/pull/310226
1380•indrora•20h ago•750 comments

Unverified Evaluations in Dusk's PLONK

https://osec.io/blog/2026-04-30-unverified-evaluations-dusk-plonk/
30•deut-erium•2d ago•4 comments
Open in hackernews

Show HN: Resonate – real-time high temporal resolution spectral analysis

https://alexandrefrancois.org/Resonate/
76•arjf•1y ago

Comments

james_a_craig•1y ago
For some reason the value of Pi given in the C++ code is wrong!

It's given in the source as 3.14159274101257324219 when the right value to the same number of digits is 3.14159265358979323846. Very weird. I noticed when I went to look at the C++ to see how this algorithm was actually implemented.

https://github.com/alexandrefrancois/noFFT/blob/main/src/Res... line 31.

pvg•1y ago
That is a very 'childhood exposure to 8 digit calculators' thing to notice.
james_a_craig•1y ago
Childhood exposure to pi generation algorithms; the correct version above was from memory.
pvg•1y ago
Close enough! The wrong 7 jumped out at me instantly although I didn't remember more than a few after.
2YwaZHXV•1y ago
seems since it's a float it's only 32-bits, and the representation of both 3.14159274101257324219 and 3.14159265358979323846 is the same in IEEE-754: 0x40490fdb

though I agree that it is odd to see, and not sure I see a reason why they wouldn't use 3.14159265358979323846

james_a_craig•1y ago
Yeah, it’s as if they wrote a program to calculate pi in a float and saved the output. Very strange choice given how many places the value of pi can be found.
arjf•1y ago
Indeed... I honestly don't remember where or how I sourced the value, and why I did not use the "correct" one - I will correct in the next release of the package. Thanks for pointing it out!
pvg•1y ago
You got off easy compared to this dude https://en.wikipedia.org/wiki/William_Shanks
phkahler•1y ago
This is very much like doing a Fourier Transform without using recursion and the butterflies to reduce the computation. It would be even closer to that if a "moving average" of the right length was used instead of an IIR low-pass filter. This is something I've considered superior for decades but it does take a lot more computation. I guess we're there now ;-)
arjf•1y ago
It only requires more computation if you really need to compute the full FFT with all the bins, in which case the FFT is more efficient... With this approach you only compute the bins you really need, without having to pre-filter your signal, or performing additional computations on the FFT result. Some sliding window FFT methods compute frequency bands independently, but they do require buffering and I really wanted to avoid that.
zevv•1y ago
I might be mistaking, but I don't see how this is novel. As far as I know, this has a proven DSP technique for ages, although it it usually only applied when a small amount of distinct frequencies need to be detected - for example DTMF.

When the number of frequencies/bins grows, it is computationally much cheaper to use the well known FFT algorithm instead, at the price of needing to handle input data by blocks instead of "streaming".

colanderman•1y ago
The difference from FFT is this is a multiresolution technique, like the constant-Q transform. And, unlike CQT (which is noncausal), this provides a better match to the actual behavior of our ears (by being causal). It's also "fast" in the sense of FFT (which CQT is not).
zipy124•1y ago
There exists the multiresolution FFT, and other forms of FFT which are based around sliding windows/SFFT techniques. CQT can also be implemented extremely quickly, utilising FFT's and kernels or other methods, like in the librosa library (dubbed pseudo-CQT).

I'm also not sure how this is causal? It has a weighted-time window (biasing the more recent sound), which is farily novel, but I wouldn't call that causal.

This is not to say I don't think this is cool, it certainly looks better than existing techniques like synchrosqueezing for pushing the limit of the heisenberg uncertainty principle (technically given ideal conditions synchrosqueezing can outperform the principle, but only a specific subset of signals).

waffletower•1y ago
Curious if there is available math to show the gain scale properties of this technique across the spectrum -- in other words its frequency response. The system doesn't appear to be LTI so I don't believe we can utilize the Z-transform to do this. Phase response would also be important as well.
arjf•1y ago
The Sliding Windowed Infinite Fourier Transform (SWIFT) has very similar math, and they provide some analysis in the paper. I use a different heuristic for alpha so I am not sure the analysis transfers directly. In my upcoming paper I have some numerical experiments and graphs that show resonator response across the range.
arjf•1y ago
Actually digging into SWIFT a bit more, the formulas differ by more than just the heuristic for alpha (unless I missed something) so the analysis in the SWIFT paper does not apply directly to(or maybe even at all).
dr_dshiv•1y ago
Thanks for your contribution! Reminds me of Helmholtz resonators.

I wrote this cross-disciplinary paper about resonance a few years ago. You may find it useful or at least interesting.

https://www.frontiersin.org/journals/neurorobotics/articles/...

arjf•1y ago
Interesting - thanks for sharing!
colanderman•1y ago
Nice! I've used a homegrown CQT-based visualizer for a while for audio analysis. It's far superior to the STFT-based view you get from e.g. Audacity, since it is multiresolution, which is a better match to how we actually experience sound. I have for a while wanted to switch my tool to a gammatone-filter-based method [1] but I didn't know how to make it efficient.

Actually I wonder if this technique can be adapted to use gammatone filters specifically, rather than simple bandpass filters.

[1] https://en.wikipedia.org/wiki/Gammatone_filter

mofeien•1y ago
If you already have the implementation for the CQT, wouldn't you just be able to replace the morlet wavelet used in the CQT by the gammatone wavelet without much of on efficiency hit? I'm just learning about the gammatone filter, and it sounds interesting since it apparently better models human hearing.
vessenes•1y ago
Nice! Can any signals/AI folks comment on whether using this would improve vocoder outputs? The visuals look much higher res, which makes me think a vocoder using them would have more nuance. But, I'm a hobbyist.
drmikeando•1y ago
You can view this result as the convolution of the signal with an exponentially decaying sine and cosine.

That is, `y(t') = integral e^kt x(t' - t) dt`, with k complex and negative real part.

If you discretize that using simple integration and t' = i dt, t = j dt you get

    y_i = dt sum_j e^(k j dt) x_{i - j}
    y_{i+1} = dt sum_j e^(k j dt) x_{i+1 - j}
            = (dt e^(k dt) sum_j' e^(k j' dt) x_{i - j'}) + x_i 
            = dt e^(k dt) y_i + x_i
If we then scale this by some value, such that A y_i = z_i we can write this as

    z_{i+1} = dt e^(k dt) z_i + A x_i
Here the `dt e^(k dt)` plays a similar role to (1-alpha) and A is similar to P alpha - the difference being that P changes over time, while A is constant.

We can write `z_i = e^{w dt i} r_i` where w is the imaginary part of k

   e^{w dt (i+1)} r_{i+1} = dt e^(k dt) e^{w dt i} r_i + A x_i
             r_{i+1} = dt e^((k - w) dt) r_i + e^{-w dt (i+1) } A x_i
                     = (1-alpha) r_i + p_i x_i
Where p_i = e^{-w dt (i+1) } A = e^{-w dt ) p_{i-1} Which is exactly the result from the resonate web-page.

The neat thing about recognising this as a convolution integral, is that we can use shaping other than exponential decay - we can implement a box filter using only two states, or a triangular filter (this is a bit trickier and takes more states). While they're tricky to derive, they tend to run really quickly.

arjf•1y ago
This formulation is close to that of the Sliding Windowed Infinite Fourier Transform (SWIFT), of which I became aware only yesterday.

For me the main motivation developing Resonate was for interactive systems: very simple, no buffering, no window... Also, no need to compute all the FFT bins so in that sense more efficient!

arjf•1y ago
Just want to call out the resources listed at the bottom of the Resonate website:

- The Oscillators app demonstrates real-time linear, log and Mel scale spectrograms, as well as derived audio features such as chromagrams and MFCCs https://alexandrefrancois.org/Oscillators/

- The Resonate Youtube playlist features video captures of real-time demonstrations. https://www.youtube.com/playlist?list=PLVcB_ABiKC_cbemxXUUJX...

- The open source Oscillators Swift package contains reference implementations in Swift and C++.https://github.com/alexandrefrancois/Oscillators

- The open source python module noFFT provides python and C++ implementations of Resonate functions and Jupyter notebooks illustrating their use in offline settings. https://github.com/alexandrefrancois/noFFT