<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hacker News: iracigt</title><link>https://news.ycombinator.com/user?id=iracigt</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Mon, 06 Apr 2026 00:38:06 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=iracigt" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by iracigt in "Following 35% growth, solar has passed hydro on US grid"]]></title><description><![CDATA[
<p>Not only that, they use the gravitational potential of the falls to store massive amounts of energy when there's a surplus. Way cheaper to hold or even pump the water back up to the reservoir at the top than build lithium batteries. So yeah, as a local, can confirm they turn Niagara Falls (partially) off at night. Thanks to the Falls and several nuclear plants on Lake Ontario, Upstate NY and Southern Ontario have some of the lowest carbon electricity in the countries. Quebec is even better with basically all of their power coming from hydro.<p>See also <a href="https://en.wikipedia.org/wiki/International_Control_Dam" rel="nofollow">https://en.wikipedia.org/wiki/International_Control_Dam</a></p>
]]></description><pubDate>Wed, 25 Feb 2026 19:03:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=47156177</link><dc:creator>iracigt</dc:creator><comments>https://news.ycombinator.com/item?id=47156177</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47156177</guid></item><item><title><![CDATA[New comment by iracigt in "Essential Coding Theory [pdf]"]]></title><description><![CDATA[
<p>This book in particular is primarily about error correcting codes.<p>Take a message we want to communicate and add some additional data that allows recovering the message even if part of it is corrupted. The hard part is choosing what additional data to include to recover from enough corruption with small overhead and in a reasonable runtime.<p>These are used everywhere from WiFi to hard drives to QR codes to RAM chips -- the ECC in ECC RAM being "error correcting code" and now partially mandatory with DDR5.</p>
]]></description><pubDate>Sat, 30 Aug 2025 03:28:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=45071675</link><dc:creator>iracigt</dc:creator><comments>https://news.ycombinator.com/item?id=45071675</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45071675</guid></item><item><title><![CDATA[New comment by iracigt in "Essential Coding Theory [pdf]"]]></title><description><![CDATA[
<p>It's the essence of coding theory, not necessarily what's essential for all CS students to know.<p>One of the authors is at my university and teaches from this book. It's a math heavy upper-undergrad elective course. A couple percent of our students take it, usually in their final year of a 4 year computer science program.<p>The couple students I know who've taken it did enjoy it. They were also people who liked proof based mathematics in general.</p>
]]></description><pubDate>Fri, 29 Aug 2025 20:48:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=45069221</link><dc:creator>iracigt</dc:creator><comments>https://news.ycombinator.com/item?id=45069221</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45069221</guid></item><item><title><![CDATA[New comment by iracigt in "Undocumented backdoor found in Bluetooth chip used by a billion devices"]]></title><description><![CDATA[
<p>WebUSB requires the device to opt in via it's USB descriptors. Otherwise any USB device with firmware updates would have this problem.<p>Maybe an issue here is WebSerial, as HCI comes over a serial port device. I believe the OS should block access to the serial device once the host driver takes it as a Bluetooth adapter though.</p>
]]></description><pubDate>Sat, 08 Mar 2025 18:14:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=43302165</link><dc:creator>iracigt</dc:creator><comments>https://news.ycombinator.com/item?id=43302165</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43302165</guid></item><item><title><![CDATA[New comment by iracigt in "Undocumented backdoor found in Bluetooth chip used by a billion devices"]]></title><description><![CDATA[
<p>The devices are sold as programmable. The supplier loads their own code and has complete control over it. This is an advertised feature. Espressif also releases code that makes it into a Bluetooth adapter with a standard interface. Anyone in the supply chain can change the firmware without these commands. The concern is these commands were undocumented and exposed over an interface usually accessible by applications. The host drvier probably didn't expect this interface could make permanent changes.<p>ESP32 devices not using the Bluetooth adapter firmware are unaffected and already running custom closed source (possibly encrypted) code from the supplier.</p>
]]></description><pubDate>Sat, 08 Mar 2025 18:11:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=43302124</link><dc:creator>iracigt</dc:creator><comments>https://news.ycombinator.com/item?id=43302124</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43302124</guid></item><item><title><![CDATA[New comment by iracigt in "Undocumented backdoor found in Bluetooth chip used by a billion devices"]]></title><description><![CDATA[
<p>Yeah, the research is good. Software developers do not expect HCI to have this type of control. Because it's undocumented, it's not in their threat model and is unexpectedly available from userspace. "Backdoor" isn't wrong, but it is misleading. The threat here is persistence from context that wasn't expected to have this capability.</p>
]]></description><pubDate>Sat, 08 Mar 2025 17:28:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=43301794</link><dc:creator>iracigt</dc:creator><comments>https://news.ycombinator.com/item?id=43301794</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43301794</guid></item><item><title><![CDATA[New comment by iracigt in "Undocumented backdoor found in Bluetooth chip used by a billion devices"]]></title><description><![CDATA[
<p>Because it's not remote. This allows a computer with a Bluetooth adapter to debug and modify its own firmware. This is normal. The potential problem is the interface for this was not documented, and the commands are embedded in the HCI host-to-bluetooth-adapter protocol. Because it's undocumented, software developers on the host may not have considered this in their threat modeling. Firmware updates usually require kernel-level privileges, but HCI does not.</p>
]]></description><pubDate>Sat, 08 Mar 2025 17:23:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=43301769</link><dc:creator>iracigt</dc:creator><comments>https://news.ycombinator.com/item?id=43301769</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43301769</guid></item><item><title><![CDATA[New comment by iracigt in "Undocumented backdoor found in Bluetooth chip used by a billion devices"]]></title><description><![CDATA[
<p>Oh, and from the perspective of open hardware, these alarmist headlines are a real disservice. The natural reaction to debugging interfaces and firmware updates being "backdoors" and "security vulnerabilities" is to lock it all down.<p>Espressif has been an almost unique level of open for this space. They've contributed to open source Rust toolchains for their chips. They've even publicly encouraged reverse engineering of their modem stack because it contains licensed code they can't release. I hate to see bad and damaging publicity be the reward for being just a little bit open.</p>
]]></description><pubDate>Sat, 08 Mar 2025 17:13:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=43301698</link><dc:creator>iracigt</dc:creator><comments>https://news.ycombinator.com/item?id=43301698</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43301698</guid></item><item><title><![CDATA[New comment by iracigt in "Undocumented backdoor found in Bluetooth chip used by a billion devices"]]></title><description><![CDATA[
<p>Agreed. This is pretty common and no worse than a firmware update. The potential catch is in-band debugging may not require the same privileges on the host you'd expect from a firmware update. So conceivably your userspace (or worse WebBLE, not sure) program could add some malicious payload that's persistent in the adapter. Tracking beacon that persists through a drive replacement is scary, but not an RCE</p>
]]></description><pubDate>Sat, 08 Mar 2025 17:04:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=43301635</link><dc:creator>iracigt</dc:creator><comments>https://news.ycombinator.com/item?id=43301635</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43301635</guid></item><item><title><![CDATA[New comment by iracigt in "Undocumented backdoor found in Bluetooth chip used by a billion devices"]]></title><description><![CDATA[
<p>I think the title is a bit misleading. If I'm reading correctly, the "backdoor" allows a computer to peek and poke memory and other low-level functions of <i>its own USB Bluetooth adapter</i>. I don't this this is usable over the air?<p>Undocumented debugging commands like this are common. I've worked with at least two chips, a WiFi adapter and a GPS receiver, that had similar functions. Neither was documented, but found by reverse engineering the chip firmware or vendor drivers. It's not exactly an impactful issue on its own. Anything that allows unsigned firmware is equally vulnerable.<p>If I'm misunderstanding and this is usable from anything other than the host, that would be a very different story.</p>
]]></description><pubDate>Sat, 08 Mar 2025 16:58:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=43301598</link><dc:creator>iracigt</dc:creator><comments>https://news.ycombinator.com/item?id=43301598</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43301598</guid></item><item><title><![CDATA[New comment by iracigt in "How to miscompile programs with "benign" data races [pdf]"]]></title><description><![CDATA[
<p>Section 2.4 gives a concrete example, though there are some asterisks. The example is one where a compiler rewrites something like `while (...) x++;` to put `x` in a register: `int reg = x; while (...) reg++; x = reg`. The author reports this is an optimization GCC was observed doing, and means you can have a read-writeback even when the while condition is false to begin with. If this optimization appears interleaved with identical writes then you have problems.</p>
]]></description><pubDate>Mon, 13 Jan 2025 18:45:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=42686992</link><dc:creator>iracigt</dc:creator><comments>https://news.ycombinator.com/item?id=42686992</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42686992</guid></item><item><title><![CDATA[New comment by iracigt in "The worsening Raspberry Pi RP2350 E9 erratum situation"]]></title><description><![CDATA[
<p>Agreed with the sentiment that this isn't that bad. As far as chip errata go, it's definitely unusually broad impact. So yeah, it's an abnormally bad bug. But for your average Pi Pico user, they still will never notice. The only possible thing I could imagine your average micropython tinkerer needs to know is "use pullups not pulldowns with buttons on the Pi Pico 2". Everything the entry level hobbyist is likely to encounter is a sufficiently strong drive to avoid the issue. Capacitive touch buttons might not work without external components, but I don't know.<p>Bigger picture, RPi is doing their third <i>ever</i> chip fab. The errata (silicon bug) list for the prior RP2040 is shorter than some I've seen from companies five times their age.[1] This issue isn't a logic error and wasn't going to be found by digital simulation. This is analog weirdness. Their documentation, including of errata, is among the best I (moderately experienced hobbyist) have ever encountered for a microcontroller. RPi is doing an excellent job and this is a but a hiccup. Maybe it's concerning for industrial customers, but as a hobbyist I'm still excited for my Pico 2 to arrive.<p>[1] Favorite errata warstory: Radio chip will lock up and need to be power cycled if a received packet has a particular corrupt length field, one bit flip away from one we used. Official solution: don't allow packet corruption. Turns out radios don't work like that.</p>
]]></description><pubDate>Sun, 08 Sep 2024 18:02:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=41481936</link><dc:creator>iracigt</dc:creator><comments>https://news.ycombinator.com/item?id=41481936</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41481936</guid></item><item><title><![CDATA[New comment by iracigt in "The worsening Raspberry Pi RP2350 E9 erratum situation"]]></title><description><![CDATA[
<p>After this was published, RPi concluded the problem was a leakage current and updated the datasheet [1]. Roughly, a tiny trickle of electricity, about 100 microamps, flows out via the pin when it shouldn't. This can raise the voltage to around 2V unless you provide a path to drain it away.<p>I've ordered one and am confident for anything I'd do it's not an issue. Usually any input I have is connected directly to the output of something else and that provides the path for the leakage current. If that isn't true, e.g. a button, then I'm using a pull-up and thus also not affected. Certain analog measurements could be affected, but again not if they have a low impedance (i.e. strong) source. The current is around 100 microamps so it's not stressing the source much.<p>It's unfortunate that this is happening in the chip that so massively improved the low power sleep states. Designs needing wake from sleep on pin change with an active high / inactive high-z signal are not going to be good. That requires a strong external pulldown and will be constantly burning those 100ish microamps. That doesn't sound like much, but it's a lot of power for being asleep.<p>Still I'm very excited for the improved CPU performance and even more RAM. Once mine arrives I'm going to see how much faster it can do some fixed point DSP than the RP2040.<p>[1] <a href="https://github.com/raspberrypi/pico-feedback/issues/401#issuecomment-2334490720">https://github.com/raspberrypi/pico-feedback/issues/401#issu...</a></p>
]]></description><pubDate>Sun, 08 Sep 2024 14:37:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=41480659</link><dc:creator>iracigt</dc:creator><comments>https://news.ycombinator.com/item?id=41480659</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41480659</guid></item><item><title><![CDATA[New comment by iracigt in "FindMyCat – Open-Source Pet Tracker"]]></title><description><![CDATA[
<p>The "chip rate" of GPS L1 C/A (the main one) is 1023 kchips/sec. So you end up with a signal that is over 1 MHz wide to encode 50 bits/sec. Nyquist-Shannon theorem says* you thus need over 1 Msamp/sec (using complex numbers), probably more like 2 Msps because of Doppler, to capture that. GPS is pretty forgiving and 4 bits/sample is plenty (2 bits is usable), but that would still be 1 MB/s of high entropy data. Note the system linked in the parent comment only records in 12 ms bursts. That captures enough info to find position offline, but only if you add in the historical orbit information that normally takes 30 sec to download off of the GPS signal. Streaming 1 MBps of data is doable, but I think would draw much more power than solving on device. Just recording to an SD card is far less.<p>* The Nyquist-Shannon theorem actually says the converse, but for anything you'll encounter outside the recesses of a math department, it's still the optimal solution.</p>
]]></description><pubDate>Fri, 15 Sep 2023 18:46:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=37527522</link><dc:creator>iracigt</dc:creator><comments>https://news.ycombinator.com/item?id=37527522</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37527522</guid></item><item><title><![CDATA[New comment by iracigt in "FindMyCat – Open-Source Pet Tracker"]]></title><description><![CDATA[
<p>All of them I am aware of do hardware decoding of the signal and do the linear algebra to find their location in software. Speaking mostly based on the cheap ublox chips and partially open source navspark chips I've dealt with.<p>The problem is the signal processing part of GPS is quite computationally difficult. I think it was around 10ish years ago it even became possible to do the full real-time decoding on a laptop. At startup, you need to find the GPS signals. This means searching for all 32 possible satellite code patterns across the range of possible Doppler shifts. During testing, this was what took most of the startup (cold start) time. You need roughly 4-6 of them to get a position, so this has to be done in parallel. Once you've found the satellite it takes another 30 seconds to get the satellite position. GPS signals are very slow at 50 bits/sec.<p>By comparison, actually solving for location is a simple linear algebra problem with 4 unknowns (lat, long, alt, time; but in a more convenient coordinate system). You only do this a few times per second. The hardware does the higher rate signal phase estimation. For example the navspark is a single core SPARC microcontroller running at 100MHz with 200 kB of RAM. That's enough to do 50 solutions per second, though they reduced that to 10 Hz to make space for a user program too.<p>A ton of work goes into caching strategies to narrow down that initial search space. Modern chips will let you load in exactly which satellites to expect overhead (e.g. based on position and orbit info from cell network). There is a whole other caching strategy based on a approximate "almanac" in the GPS signal for offline devices. With all of that known before the receiver turns on, you can get a solution in a couple seconds.</p>
]]></description><pubDate>Fri, 15 Sep 2023 18:22:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=37527176</link><dc:creator>iracigt</dc:creator><comments>https://news.ycombinator.com/item?id=37527176</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37527176</guid></item><item><title><![CDATA[New comment by iracigt in "Starlink satellites are dodging objects in orbit thousands of times every month"]]></title><description><![CDATA[
<p>25e3 per 6 months is 50e3 in 12 months. That's assuming the constellation isn't shrinking, which SpaceX definitely doesn't seem to be doing.</p>
]]></description><pubDate>Wed, 12 Jul 2023 15:04:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=36695613</link><dc:creator>iracigt</dc:creator><comments>https://news.ycombinator.com/item?id=36695613</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36695613</guid></item><item><title><![CDATA[New comment by iracigt in "Starlink satellites are dodging objects in orbit thousands of times every month"]]></title><description><![CDATA[
<p>It's true that the bigger question is "what is the impact of a collision?". For many of them, the answer is probably nothing. In an industry where 1 in 10,000 makes people uncomfortable though, I think it's enough be to be potential headache. Increasing density of LEO would make that worse. It doesn't need to be a runaway effect to be economically or especially politically problematic.<p>Proactively deorbiting at EoL is definitely the correct move, but requires enough runway to continue short term operations. I can absolutely picture this being used as political leverage.</p>
]]></description><pubDate>Wed, 12 Jul 2023 15:03:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=36695605</link><dc:creator>iracigt</dc:creator><comments>https://news.ycombinator.com/item?id=36695605</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36695605</guid></item><item><title><![CDATA[New comment by iracigt in "Starlink satellites are dodging objects in orbit thousands of times every month"]]></title><description><![CDATA[
<p>This is concerning to me, but not quite for the reason the article suggests. SpaceX is doing the right thing here by maneuvering and using Very Low Earth Orbits to cap the amount of time a failed satellite can stay up before falling. What if the maneuvers stop though? Say they run into financial issues and cease operations.<p>25,000 1-in-100,000 collision probability events in 6 months is actually pretty high. Without actively controlling the satellites to avoid you get:<p>1 - (1 - 10^-5)^(50e3) = 0.39...<p>chance of collision per year.<p>SpaceX says Starlink satellites should deorbit in about 5 years if they don't keep actively boosting their orbits. That still means a 90% chance of a collision before deorbit if they stop maneuvering. Those debris would be in low orbits and also decay quickly. You could still to some real damage to any of your neighbors in that time though.<p>From a regulatory perspective, I sincerely hope the FCC and others are thinking about what contingency plans need to be in place if SpaceX became financially unstable. They've basically guaranteed themselves a government bailout at this point. The UK did that to OneWeb for purely economic reasons. If SpaceX goes under, they're taking LEO with them.</p>
]]></description><pubDate>Wed, 12 Jul 2023 14:44:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=36695293</link><dc:creator>iracigt</dc:creator><comments>https://news.ycombinator.com/item?id=36695293</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36695293</guid></item><item><title><![CDATA[New comment by iracigt in "GNU Radio 3.9"]]></title><description><![CDATA[
<p>They moved away from SWIG and to PyBind11. As they mention, this is going to be an annoying transition for my custom out-of-tree modules. Overall though, I'm excited for the changes.<p>Lots of new GUI blocks in this release. I'm especially glad to see the new eye diagram.<p>Also the ability to load non-WAV audio files will be nice. OGG/Vorbis and FLAC are now supported. Plus a slew of minor conveniences such as a freq shift block and scaling options in the IShort to Complex block (useful for loading recorded samples from hardware).<p>If only it would compile easily on my Mac. (<a href="https://github.com/ktemkin/gnuradio-for-mac-without-macports" rel="nofollow">https://github.com/ktemkin/gnuradio-for-mac-without-macports</a> has a prebuilt 3.8 version)</p>
]]></description><pubDate>Mon, 18 Jan 2021 17:54:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=25824453</link><dc:creator>iracigt</dc:creator><comments>https://news.ycombinator.com/item?id=25824453</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=25824453</guid></item><item><title><![CDATA[New comment by iracigt in "An Introduction to CubeSats"]]></title><description><![CDATA[
<p>I'm part of the same University at Buffalo group as the author. If this interests you, we've open-sourced some of our stuff, including a VHF/UHF communications radio and star-tracker software.<p>Radio: <a href="http://lfradio.space" rel="nofollow">http://lfradio.space</a><p>GitHub: <a href="https://github.com/UBNanosatLab" rel="nofollow">https://github.com/UBNanosatLab</a></p>
]]></description><pubDate>Sun, 10 Feb 2019 20:50:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=19129946</link><dc:creator>iracigt</dc:creator><comments>https://news.ycombinator.com/item?id=19129946</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=19129946</guid></item></channel></rss>