<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: jerryr</title><link>https://news.ycombinator.com/user?id=jerryr</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sun, 27 Sep 2026 05:50:02 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=jerryr" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[Calibri – In Crime and Politics]]></title><description><![CDATA[
<p>Article URL: <a href="https://en.wikipedia.org/wiki/Calibri">https://en.wikipedia.org/wiki/Calibri</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46219910">https://news.ycombinator.com/item?id=46219910</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Wed, 10 Dec 2025 16:40:01 +0000</pubDate><link>https://en.wikipedia.org/wiki/Calibri</link><dc:creator>jerryr</dc:creator><comments>https://news.ycombinator.com/item?id=46219910</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46219910</guid></item><item><title><![CDATA[Show HN: Create a “rogue” WiFi AP & Captive Portal with a Raspberry Pi]]></title><description><![CDATA[
<p>This project makes a Raspberry Pi pretend to act as a WiFi hotspot with a captive portal. It does not actually provide an internet connection to connected clients, but simply triggers their captive portal detection, which causes them to present users with a browser window containing content of your choosing.<p>I created this for security tinkering purposes, but also because I found the documentation for similar projects lacking. I've attempted to document and explain the salient points of the entire Raspberry Pi Linux configuration relating to the captive portal.</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=35281777">https://news.ycombinator.com/item?id=35281777</a></p>
<p>Points: 5</p>
<p># Comments: 0</p>
]]></description><pubDate>Thu, 23 Mar 2023 21:50:51 +0000</pubDate><link>https://github.com/jerryryle/rogueportal</link><dc:creator>jerryr</dc:creator><comments>https://news.ycombinator.com/item?id=35281777</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=35281777</guid></item><item><title><![CDATA[A return-to-office pain in the ass: Google is taking away its bidets]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.protocol.com/workplace/google-bidet-removal">https://www.protocol.com/workplace/google-bidet-removal</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=30803658">https://news.ycombinator.com/item?id=30803658</a></p>
<p>Points: 13</p>
<p># Comments: 3</p>
]]></description><pubDate>Fri, 25 Mar 2022 15:53:03 +0000</pubDate><link>https://www.protocol.com/workplace/google-bidet-removal</link><dc:creator>jerryr</dc:creator><comments>https://news.ycombinator.com/item?id=30803658</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=30803658</guid></item><item><title><![CDATA[New comment by jerryr in "An update on AirTag and unwanted tracking"]]></title><description><![CDATA[
<p>Please create or point me to your product review site!</p>
]]></description><pubDate>Fri, 11 Feb 2022 05:45:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=30297520</link><dc:creator>jerryr</dc:creator><comments>https://news.ycombinator.com/item?id=30297520</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=30297520</guid></item><item><title><![CDATA[Determine programatically C from C++ as well as various versions]]></title><description><![CDATA[
<p>Article URL: <a href="https://github.com/shafik/determine_c_or_cpp/blob/master/README.md">https://github.com/shafik/determine_c_or_cpp/blob/master/README.md</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=28596383">https://news.ycombinator.com/item?id=28596383</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Mon, 20 Sep 2021 17:35:04 +0000</pubDate><link>https://github.com/shafik/determine_c_or_cpp/blob/master/README.md</link><dc:creator>jerryr</dc:creator><comments>https://news.ycombinator.com/item?id=28596383</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=28596383</guid></item><item><title><![CDATA[New comment by jerryr in "What is the PDP-11 instruction set?"]]></title><description><![CDATA[
<p>There are a lot of things I don't miss! x86 segmented architecture, for example. Even modern embedded programming on an ARM Cortex-M feels luxurious compared to not that long ago.</p>
]]></description><pubDate>Sun, 18 Oct 2020 16:54:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=24819202</link><dc:creator>jerryr</dc:creator><comments>https://news.ycombinator.com/item?id=24819202</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=24819202</guid></item><item><title><![CDATA[New comment by jerryr in "A Woman Who Needed to Be Upside-Down (2012)"]]></title><description><![CDATA[
<p>If you enjoyed this article, you might also enjoy <i>The Man Who Mistook His Wife for a Hat and Other Clinical Tales</i> by Oliver Sacks. It’s a book of essays about brain function and disorders, but each begins with an individual who exhibits particularly unusual symptoms. They don’t have tidy resolutions like this article, but the book is well-written and engaging—-as are the rest of Dr. Sack’s writings.</p>
]]></description><pubDate>Thu, 09 Jul 2020 15:12:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=23781126</link><dc:creator>jerryr</dc:creator><comments>https://news.ycombinator.com/item?id=23781126</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=23781126</guid></item><item><title><![CDATA[New comment by jerryr in "Bazel 2.0"]]></title><description><![CDATA[
<p>Not that they can’t also be contributing to Bazel, but I believe that Chrome uses GN.</p>
]]></description><pubDate>Mon, 23 Dec 2019 18:13:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=21865635</link><dc:creator>jerryr</dc:creator><comments>https://news.ycombinator.com/item?id=21865635</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=21865635</guid></item><item><title><![CDATA[Post Modern C Tooling]]></title><description><![CDATA[
<p>Article URL: <a href="http://renesd.blogspot.com/2019/09/post-modern-c-tooling.html">http://renesd.blogspot.com/2019/09/post-modern-c-tooling.html</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=21192123">https://news.ycombinator.com/item?id=21192123</a></p>
<p>Points: 6</p>
<p># Comments: 0</p>
]]></description><pubDate>Tue, 08 Oct 2019 13:37:04 +0000</pubDate><link>http://renesd.blogspot.com/2019/09/post-modern-c-tooling.html</link><dc:creator>jerryr</dc:creator><comments>https://news.ycombinator.com/item?id=21192123</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=21192123</guid></item><item><title><![CDATA[Modern C for C++ Peeps]]></title><description><![CDATA[
<p>Article URL: <a href="https://floooh.github.io/2019/09/27/modern-c-for-cpp-peeps.html?xyz">https://floooh.github.io/2019/09/27/modern-c-for-cpp-peeps.html?xyz</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=21102013">https://news.ycombinator.com/item?id=21102013</a></p>
<p>Points: 8</p>
<p># Comments: 0</p>
]]></description><pubDate>Sat, 28 Sep 2019 18:28:24 +0000</pubDate><link>https://floooh.github.io/2019/09/27/modern-c-for-cpp-peeps.html?xyz</link><dc:creator>jerryr</dc:creator><comments>https://news.ycombinator.com/item?id=21102013</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=21102013</guid></item><item><title><![CDATA[New comment by jerryr in "The “terrible” 3 cent MCU – a short survey of sub $0.10 microcontrollers"]]></title><description><![CDATA[
<p>It was also for a low-cost audio application, but it wasn't a toy. This was back in 2001 or so. The MCUs in this article all only have ~1KB ROM, which wouldn't have been enough for our audio samples. We needed >256KB. The "4-bitness" was just incidentally what Winbond offered with a large ROM at the time. However, the SunPlus that we later used in the toy also offered a large ROM with an 8-bit CPU for a similar cost. So, while I can't authoritatively say that 4-bit is dead, it does seem like there are a lot of alternatives in similar price ranges now.</p>
]]></description><pubDate>Tue, 13 Aug 2019 22:35:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=20690951</link><dc:creator>jerryr</dc:creator><comments>https://news.ycombinator.com/item?id=20690951</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=20690951</guid></item><item><title><![CDATA[New comment by jerryr in "The “terrible” 3 cent MCU – a short survey of sub $0.10 microcontrollers"]]></title><description><![CDATA[
<p>That sounds very similar to my experience with toy development. For a toy that played a bunch of pre-recorded sounds, we used a 4-bit Winbond MCU (their MCU division is now Nuvoton) that had a tiny bit of RAM and a ton of mask ROM. Firmware development was done in assembly and targeted a huge (physically large) emulator for test/debug. When we were satisfied with the firmware, we'd send it off to our CM, who would then order the parts with our FW in ROM. They'd get back bare die parts, which were wire bonded to the PCB and then epoxied over (that miserable "glop top" packaging, which is the bane of many teardowns). Development was a bit painful, but high volume production was extremely cheap.<p>Edit: Oops. I conflated projects. The toy project actually used a SunPlus MCU, not a Winbond MCU. It was an 8-bit RISC CPU running at 5MHz with 128 bytes RAM and 256KB mask ROM. The ROM held both the program and audio samples. I don't recall what encoding was used for the audio.</p>
]]></description><pubDate>Tue, 13 Aug 2019 19:39:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=20689458</link><dc:creator>jerryr</dc:creator><comments>https://news.ycombinator.com/item?id=20689458</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=20689458</guid></item><item><title><![CDATA[The “terrible” 3 cent MCU – a short survey of sub $0.10 microcontrollers]]></title><description><![CDATA[
<p>Article URL: <a href="https://cpldcpu.wordpress.com/2019/08/12/the-terrible-3-cent-mcu/">https://cpldcpu.wordpress.com/2019/08/12/the-terrible-3-cent-mcu/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=20686727">https://news.ycombinator.com/item?id=20686727</a></p>
<p>Points: 252</p>
<p># Comments: 94</p>
]]></description><pubDate>Tue, 13 Aug 2019 15:26:01 +0000</pubDate><link>https://cpldcpu.wordpress.com/2019/08/12/the-terrible-3-cent-mcu/</link><dc:creator>jerryr</dc:creator><comments>https://news.ycombinator.com/item?id=20686727</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=20686727</guid></item><item><title><![CDATA[New comment by jerryr in "Ask HN: Your favourite tutorial for total beginners?"]]></title><description><![CDATA[
<p>I also really like his garlic video: <a href="https://jp.foundation/video/garlic-puree" rel="nofollow">https://jp.foundation/video/garlic-puree</a></p>
]]></description><pubDate>Thu, 01 Aug 2019 16:00:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=20585027</link><dc:creator>jerryr</dc:creator><comments>https://news.ycombinator.com/item?id=20585027</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=20585027</guid></item><item><title><![CDATA[New comment by jerryr in "Nanoprintf: A tiny embeddable printf replacement written in C89/C99"]]></title><description><![CDATA[
<p>This is a friend’s project. It’s a public domain, header-only vsnprintf that supports floats. It has zero dependencies, zero libc calls, no allocations, < 100B stack, < 5K on a Cortex-M with optimizations on. It’s meant for small systems where you need a full-featured printf without a huge footprint.</p>
]]></description><pubDate>Mon, 08 Jul 2019 17:18:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=20384636</link><dc:creator>jerryr</dc:creator><comments>https://news.ycombinator.com/item?id=20384636</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=20384636</guid></item><item><title><![CDATA[Nanoprintf: A tiny embeddable printf replacement written in C89/C99]]></title><description><![CDATA[
<p>Article URL: <a href="https://github.com/charlesnicholson/nanoprintf">https://github.com/charlesnicholson/nanoprintf</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=20384605">https://news.ycombinator.com/item?id=20384605</a></p>
<p>Points: 2</p>
<p># Comments: 1</p>
]]></description><pubDate>Mon, 08 Jul 2019 17:16:23 +0000</pubDate><link>https://github.com/charlesnicholson/nanoprintf</link><dc:creator>jerryr</dc:creator><comments>https://news.ycombinator.com/item?id=20384605</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=20384605</guid></item><item><title><![CDATA[New comment by jerryr in "Shedding Too Much Light on a Microcontroller's Firmware Protection (2017)"]]></title><description><![CDATA[
<p>Ah, you're correct. I did think it was odd that they were able to make the debugger do anything in RDP2, but I misread it. That attack was indeed performed in RDP1.</p>
]]></description><pubDate>Sun, 22 Jul 2018 18:24:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=17588055</link><dc:creator>jerryr</dc:creator><comments>https://news.ycombinator.com/item?id=17588055</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=17588055</guid></item><item><title><![CDATA[New comment by jerryr in "Shedding Too Much Light on a Microcontroller's Firmware Protection (2017)"]]></title><description><![CDATA[
<p>The tl;dr is that researchers found 3 weaknesses in an STM32's flash protection scheme. For those not familiar, these chips offer three protection levels:<p>RDP 0 - unlocked, all flash/ram is accessible via the debug interface<p>RDP 1 - flash locked, you can connect a debugger and read out RAM/peripherals, but not flash. This is intended to prevent you from dumping the flash firmware image, but allow you to perform some diagnostics via the debugger.<p>RDP 2 - everything's locked down. The debugger cannot access RAM, Flash, or other peripherals.<p>The 3 exploits are roughly:<p>* In RDP 1, you can't read flash directly, but you can read anything that the firmware puts in RAM. The researchers were able to extract an entire flash firmware image by watching the results of a CRC self-check that the firmware performs upon boot. By resetting the microcontroller and very precisely controlling the amount of time it's allowed to run before halting it and dumping RAM, the researchers were able to back out the firmware image by observing the CRC progression in RAM.<p>* The researchers noted that the bit patterns used to represent the different RDP levels in flash were sub-optimal in that only a single bit needs to be flipped to downgrade from RDP 2 to RDP 1. By deencapsulating an RDP 2 microcontroller and exposing it to UV using a carefully-constructed mask, they were able to perform such a downgrade.<p>* The researchers crafted their own SWD debugger interface that performed less initialization than ST's stock debugger and thus didn't immediately lock down a microcontroller in RDP 1 mode when the debugger was attached. With this modified debugger, they discovered that they could issue a flash read that would lock down the micro as expected, but would also occasionally result in the protected flash data actually appearing in the read buffer (likely due to some internal race condition bug in the microcontroller's hardware). Thus it's possible to automate a brute force extraction of the entire flash in RDP 1 mode.<p>Edit: Changed RDP 2 to RDP 1 in description of 3rd exploit.</p>
]]></description><pubDate>Sun, 22 Jul 2018 17:58:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=17587920</link><dc:creator>jerryr</dc:creator><comments>https://news.ycombinator.com/item?id=17587920</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=17587920</guid></item><item><title><![CDATA[New comment by jerryr in "We Have Reached Peak Screen. Now Revolution Is in the Air"]]></title><description><![CDATA[
<p>Perhaps it wasn’t the intent, but I find it inspiration not to dwell on my past decisions but to move on and make new ones.</p>
]]></description><pubDate>Wed, 27 Jun 2018 14:37:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=17408453</link><dc:creator>jerryr</dc:creator><comments>https://news.ycombinator.com/item?id=17408453</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=17408453</guid></item><item><title><![CDATA[Announcing Our New CEO – Renée Hendricksen]]></title><description><![CDATA[
<p>Article URL: <a href="https://blog.travis-ci.com/2018-05-14-announcing-our-new-ceo-renee-hendricksen">https://blog.travis-ci.com/2018-05-14-announcing-our-new-ceo-renee-hendricksen</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=17075017">https://news.ycombinator.com/item?id=17075017</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Tue, 15 May 2018 16:10:12 +0000</pubDate><link>https://blog.travis-ci.com/2018-05-14-announcing-our-new-ceo-renee-hendricksen</link><dc:creator>jerryr</dc:creator><comments>https://news.ycombinator.com/item?id=17075017</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=17075017</guid></item></channel></rss>