I built a proof of concept doing exactly that a few years ago[0]. The codebase is unmaintained and the demo website has been down for a wee while too, but it's basically this idea.
Only issue is that the overhead to establish WebRTC connection is heavy, so it's not exactly lightweight...
Why can humans acquire vast vocabularies, while non-human primates cannot? This study addresses this question using brain-constrained neural networks that realize between-species differences in cortical connectivity.
ABSTRACT: Germany has one of the most ambitious energy transition policies dubbed ‘Die Energiewende’ to replace nuclear- and fossil power with renewables such as wind-, solar- and biopower. The climate gas emissions are reduced by 25% in the study period of 2002 through 2022. By triangulating available information sources, the total nominal expenditures are estimated at EUR 387 bn, and the associated subsidies are some EUR 310 bn giving a total nominal expenditures of EUR 696 bn. Alternatively, Germany could have kept the existing nuclear power in 2002 and possibly invest in new nuclear capacity. The analysis of these two alternatives shows that Germany could have reached its climate gas emission target by achieving a 73% cut in emissions on top of the achievements in 2022 and simultaneously cut the spending in half compared to Energiewende. Thus, Germany should have adopted an energy policy based on keeping and expanding nuclear power.
We won't settle this debate (and I'm not against nuclear), but it's a discussion around "Do I need fire insurance when my house has a low chance to burn down" and should I use the money for something else.
If it doesn't burn down, you look great. If it burns down, you look like an idiot.
I think people will not understand (some|most) Germans if you haven't lived through Chernobyl and Pershing-II days, dying forrests (from East European coal plants) and also red terrorism (mid 70s, early 80s were a crazy time). The discussion is not a rational one but one out of trauma of that time.
Germany is stationing nuclear capable missiles again, with the approval of the Green Party, which had been at the forefront of the anti Pershing-II protests but is now a war party:
They're conventional missiles, not nuclear. And nuclear capable is a bit misleading here as that capability was dismantled for the Tomahawk cruise missiles. Of course the US could add it back with some effort, but that goes for essentially every missile that is large enough.
The age of Nuclear is over and won't be coming back. The technology trajectories are now just in favor of solar and batteries. Everything else has no chance.
Authoritarian state still keeping a toe in for military and pragmatic reasons. With communistic 5 year plan system you can through sheer force build a few reactors to keep the option open.
For every passing year they’ve been pulling back their nuclear ambitions in favor of renewables.
I always supported nuclear power. It's just the best we have right now. Renewable power is all good and all, but technology is not there yet. Plus, many people in support of green energy never think about all the mining done for this and how it impacts and often destroys environments. It's OK when it's not your environment being hurt. :-)
Anyways, nuclear power is safer than people think. And most, if not all, nuclear power disasters were due to human error.
> most, if not all, nuclear power disasters were due to human error
How is this less of an issue? Are modern reactors not built and operated by humans? We have better sensors and more digital components now, which reduce the risk. But the risk for a wind turbine is, and always was, zero.
"risk of a wind turbine is, and always was, zero" seems like you need to check on how many people die a year while maintaining wind turbines.
Fukushima accident: corruption
Chernobyl: incompetence
Three mile island accident: that's a bit more nuanced than just human error, but nothing we haven't fixed already
SL-1: suicide-murder/human error
Those are the serious accidents. As you may see, all are perfectly fixable. Plus, current nuclear plants are more advanced. Now while you have on your mind these 4 accidents, consider that currently there are 403 in use plants and oldest one is over 60 years. All working with no issue.
For solar and wind the general public generally can’t be affected by any accidents so the deaths are general work place hazards coming from working aloft with heavy equipment.
For nuclear power the public is on the hook for cleanup fees from hundreds of billions to trillions of dollars and the large scale accidents we have seen caused hundreds of thousands to get evacuated.
It is not even comparable. If I chose to not work in the solar and wind industry my chance of harm is as near zero as it gets. Meanwhile about all consequences from nuclear power afflicts the general public. Both in terms of costs, injuries and life changing evacuations.
You mean corruption and incompetence isn't? It's not like someone accidentally pressed wrong button or something. There are clear issues which can be fixed with more regulations when building nuclear plants and who can operate them.
Can't say much for other two, since it's more just human error. One's more of a technical problem that was addressed poorly and other, too unique to happen again. People don't usually murder/suicide in nuclear plants.
In the winter of 2022, France had to restart permanently shut down coal plants[0] and pump gas to Germany[1] for electricity because of a pipe crack that made half of their nuclear plants go into maintenance. Note that this was on top of curtailing energy use (funny enough, because of gas, not nuclear[2]).
You could say "that was a once-in-a-lifetime kind of event!" (I'd love to have machine without flaws but nuclear fusion would be faster) but, if it wasn't for the European grid, this could have resulted in prolonged emergency saving measures or possibly a (partial) blackout. Nuclear power is often touted as the stable one, but ironically, solar and wind would not suffer from this kind of problem because they are inherently variable in output. If energy storage for renewables was already a headache, imagine an energy storage system for nuclear.
"[...]And most, if not all, nuclear power disasters were due to human error.[...]"
And the remaining nuclear power disasters were due to unpredictable natural disasters.
So at what time exactly did we eliminate human error and unpredictable natural disasters, so that we don't have to worry about the dangers of nuclear power anymore? It seems, I somehow missed this two super important historic events...
Human error makes it worse. We can fix technical issues, it is much harder to fix human nature and all the potential human causes for safety violations.
No analysis of costs if Germany had adopted a strategy of transitioning to renewables in 2002 is offered, you are just meant to look at figure 2 and say take it on fait it is the result of a coherent green transition strategy rather than Germany dallying and going back to its traditional coal power.
If 350bn is all we need to cut our emissions in Germany (we have a 4000bn annual GDP) by 75%, then I don't get what the big fuss about climate change is. Every industrial country could cough up such small an amount (loan, Fed printing money, etc).
Pretty good write up - I reached the same conclusion doing something similar a few years back.
For the record, I got even better perfs with shared-memory by avoiding the mutex in `raw_sync::events::BusyEvent` - I used a blocking loop with atomics, and yielded the CPU (`yield_now` in rust) between the iterations of the loop.
Downside is that it becomes a bit less consistent. And it is a _lot_ more complex than a unix domain socket :)
After looking up the code for raw_sync, I came to the same conclusion. My first question was whether the shared memory case is safe on a weaker memory model like ARM or Power. Seeing the mutex, it may be too safe.
yeah using a DSP for this definitely makes more sense - but I'm lacking experience in the field. Same goes for using a discrete band-pass filter. This project is more of an attempt at "how can I build something in 2 hours that works reliably" !
For reference, it eats ~25% of the available CPU resources on my rpi zero 2w - which draws a maximum of 350mA, so this implementation definitely draws less than 1 watt.
1W of continuous power consumption is not great. To put it into perspective: that’s 1x24x365Wh, almost 9kWh per year. A kettle (1.8-2kW) can run for 4-5 hours for that amount of energy. If getting a kettle to boiling takes 5 minutes, that’s almost 50-60 kettles. That’s two month of boiling one kettle a day.
Or, at the rate of $0.30/kWh in California for residential use, $2.70/year. Lowering power usage on embedded devices is important when you're producing thousands, but for a hobbyist it doesn't really matter.
yes and it's very cool! if you're interested in learning, i'd look into the filtering approach.
maybe could try pyfda and the filtering functions in scipy.signal to start playing around.
or if you have access to matlab it has some really excellent filter design tools.
regarding the hardware/dsp: many cpus include simd instructions these days, which basically are an interface to a hidden digital signal coprocessor. :)
There's an audio file in the repo to simulate an alarm (works for 3 different models bought in Germany, they all sound the same).
You can pass the target frequency, beep-length and audio threshold as parameters in the CLI (you can estimate these params with audacity).
I was in a similar situation, and it turns out that setting up new zigbee devices with zigbee2mqtt and a frontend was more work than just detecting the sound pattern with a few lines of Go ! Plus the fire-alarms are compulsory and already installed and managed by my building...
0: https://github.com/pldubouilh/live-torrent