Do not underestimate audio circuit tuning based on listening tests. Good ears and patience can substitute a lot of lab equipment dollars, especially for a hobbyist.
HN user
AstroNoise58
I assume you mean AD85050 (rather than AD8255). And yes, the last paragraph before "Going all-in" is about the idea of driving the I2S. But the I2C config sent to the ESMT chip would have had to be reverse-engineered as well...
There are tools to do just that, see for example banks2ledger: https://git.hq.sig7.se/banks2ledger.git
The escape velocity on the surface of the Earth is approx. 11.2 km/s, not 11000 km/s. Factor of 1000x error. But nice video :)
Oh, ok, I guess that might be a bit confusing. :)
The comment documents the interpretation (by the UPS MIB) of possible return values. The same is true for the surrounding few functions (upsAutoRestart, upsBeeperStatus and upsOutputSource) that are similar in form and purpose. Obviously, there is no requirement that all possible output values are generated (exactly once or at all).
The function upsBatteryStatus returns 4 in two cases, because in both of those cases the battery is deemed 'depleted'. And it does not return 1 because there is no input case from upsc (that I know of, at least) where it would make sense to report the battery status as 'unknown'.
Not sure what problem you see with that, care to elaborate and/or open an issue?
I made this to serve my own need (which it does), to allow my Synology NAS a clean shutdown in case of a power cut. My UPS is not recognized if plugged into the NAS via USB, so it is plugged into a different (SBC) computer instead, which runs this.
Speaking of prior art, I am only aware of this one: https://github.com/luizluca/nut-snmpagent I am not a fan of Ruby and I only trust software I wrote (a.k.a.: I prefer my own bugs in critical pieces of my infra), so here it is.
Posting in case someone else finds it useful, but will answer more general questions (should they come up) as well.
I find it pretty interesting that Martin does not mention the kind of community member-driven up/downvote mechanism found on this site (and elsewhere) as an example of decentralised content moderation.
Edit: now I see Slashdot and Reddit mentioned at the end in the updates section (I don't remember seeing them on my first read, but that might just be me).
There are various ways to take advantage of the GPU -- the so-called GPU-accelerated terminals contain bespoke OpenGL programs ("shaders") to do rendering on the GPU. Here's an interesting way of doing it: https://tomscii.sig7.se/2020/11/How-Zutty-works
Most "modern" terminals are surprisingly buggy (for lack of a better word), that is, they do not conform to the VT100-series specs (and less documented, but well known quirks). Here's a look at some of them: https://tomscii.sig7.se/2020/12/A-totally-biased-comparison-...
A very simple web application (aimed at being self-hosted) to collect videos for watching them (repeatedly) later: https://github.com/tomszilagyi/copycat
It invokes youtube-dl under the hood, but the user can add videos (to be downloaded) via the browser. It is quite usable as is, but pretty slim on features. Maybe someone here wants to take it further.