<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: lightswitch05</title><link>https://news.ycombinator.com/user?id=lightswitch05</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Thu, 11 Jun 2026 07:42:06 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=lightswitch05" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by lightswitch05 in "DIY PTP Grandmaster Clock with a Raspberry Pi"]]></title><description><![CDATA[
<p>I can +/-5ms jitter using a cheap GPS receiver with serial over USB.<p>Using the same receiver, but with a PPS wire to a GPIO pin on a raspberry pi, I get +/- 5µs jitter.<p>If you are interested, I have a write up with live graphs in the hamburger menu here: <a href="https://www.developerdan.com/ntp" rel="nofollow">https://www.developerdan.com/ntp</a></p>
]]></description><pubDate>Sat, 29 Mar 2025 01:57:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=43512053</link><dc:creator>lightswitch05</dc:creator><comments>https://news.ycombinator.com/item?id=43512053</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43512053</guid></item><item><title><![CDATA[New comment by lightswitch05 in "FriendlyElec NanoPi R5S as PTP Grandmaster Clock with GNSS/GPS Discipline (2022)"]]></title><description><![CDATA[
<p>I’m not familiar with Chrony. With NTPsec, the PPS driver docs say [0]:<p>> While this driver can discipline the time and frequency relative to the PPS source, it cannot number the seconds. For this purpose an auxiliary source is required;<p>And so (with NTPsec), you need to define two sources even though it’s coming from the same device. One for the PPS signal for clock discipline, the other for the clock value.<p>> refclock pps ppspath /dev/gpspps0 prefer<p>> refclock nmea baud 57600 prefer<p>0: <a href="https://docs.ntpsec.org/latest/driver_pps.html" rel="nofollow">https://docs.ntpsec.org/latest/driver_pps.html</a></p>
]]></description><pubDate>Mon, 14 Oct 2024 02:15:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=41833599</link><dc:creator>lightswitch05</dc:creator><comments>https://news.ycombinator.com/item?id=41833599</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41833599</guid></item><item><title><![CDATA[New comment by lightswitch05 in "FriendlyElec NanoPi R5S as PTP Grandmaster Clock with GNSS/GPS Discipline (2022)"]]></title><description><![CDATA[
<p>> It’s unclear to me why there’s so much delay and jitter in the PPS timestamping.<p>I’ve messed around with this on a couple different GPS chips. I’ve found improvements can be made by increasing the baud rate to the maximum supported. 9600 tends to be the default, but 57600 works a lot better. Also, disable all NMEA sentences except the one you are using. Finally ramp up the update interval to be much more often. The default tends to be every 1000 milliseconds, but 100 milliseconds works better for less jitter. I’ve been using NTPsec, not Chrony, so maybe there are more nuances.<p>Im just a hobbyist, but I have a bit more details written up here, checkout the poorly designed hamburger menu for some charts and graphs: <a href="https://www.developerdan.com/ntp/" rel="nofollow">https://www.developerdan.com/ntp/</a></p>
]]></description><pubDate>Mon, 14 Oct 2024 02:00:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=41833505</link><dc:creator>lightswitch05</dc:creator><comments>https://news.ycombinator.com/item?id=41833505</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41833505</guid></item><item><title><![CDATA[New comment by lightswitch05 in "A web site dedicated to precise Time and Frequency"]]></title><description><![CDATA[
<p>I get weird looks when I speak with people about my GPS PPS NTP servers. This is website amazing. Most of it is way beyond my comprehension, but it’s given me a lot to read up on.</p>
]]></description><pubDate>Sat, 21 Sep 2024 00:21:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=41606545</link><dc:creator>lightswitch05</dc:creator><comments>https://news.ycombinator.com/item?id=41606545</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41606545</guid></item><item><title><![CDATA[New comment by lightswitch05 in "Going in circles without a real-time clock"]]></title><description><![CDATA[
<p>This is off-topic, but I was looking at your sbts-aru project and remembered having read the hackaday post on it about fireworks. I'm curious if you've ever seen the RaspberryShake BOOM sensor? If so, any thoughts on how your project and it differ?<p><a href="https://shop.raspberryshake.org/product/turnkey-iot-atmospheric-infrasound-monitor-rsboom/" rel="nofollow">https://shop.raspberryshake.org/product/turnkey-iot-atmosphe...</a></p>
]]></description><pubDate>Thu, 11 Apr 2024 14:51:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=40002828</link><dc:creator>lightswitch05</dc:creator><comments>https://news.ycombinator.com/item?id=40002828</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40002828</guid></item><item><title><![CDATA[New comment by lightswitch05 in "Going in circles without a real-time clock"]]></title><description><![CDATA[
<p>I must admit I've never used chrony, so I'm unfamiliar with how to configure it. I've read a lot say saying gpsmon's shared-memory-segment is a really great interface and to go with it instead of NTP's own GPS drivers, but I cannot say that lines up with my experience. I do have one computer setup this way, and it works, but I found on the PPS configurations, it seemed to me to have better accuracy and less jitter using NTP's own GPS drivers and taking gpsmon out of the equation. Its quite possible I just don't know the right configuration combination, but ntpsec's own GPS drivers work great for me.</p>
]]></description><pubDate>Thu, 11 Apr 2024 13:42:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=40002059</link><dc:creator>lightswitch05</dc:creator><comments>https://news.ycombinator.com/item?id=40002059</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40002059</guid></item><item><title><![CDATA[New comment by lightswitch05 in "Going in circles without a real-time clock"]]></title><description><![CDATA[
<p>> While not intended to be a direct replacement, the application supports most of the UBX configuration functionality in u-blox's Windows-only u-center © tool (only public-domain features are supported).<p>I'm going to have to check this out! Thank you for sharing!</p>
]]></description><pubDate>Thu, 11 Apr 2024 13:37:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=40002004</link><dc:creator>lightswitch05</dc:creator><comments>https://news.ycombinator.com/item?id=40002004</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40002004</guid></item><item><title><![CDATA[New comment by lightswitch05 in "Going in circles without a real-time clock"]]></title><description><![CDATA[
<p>You can see for yourself the level of accuracy in the ntpviz output. Notice the units of measurement on the graphs:<p>* Clayface: <a href="https://www.developerdan.com/ntp/#./clayface/7-days/" rel="nofollow">https://www.developerdan.com/ntp/#./clayface/7-days/</a><p>* Catwoman: <a href="https://www.developerdan.com/ntp/#./catwoman/7-days/" rel="nofollow">https://www.developerdan.com/ntp/#./catwoman/7-days/</a><p>That Wikipedia quote should mention temperature! Temperature variations have a big impact at this level of accuracy. These really cheap GPS receivers do not have temperature adjusted clocks. Unfortunately my server closet (this is just a hobby) does not have well regulated temperature, so you can see the impact of temperature on the clock accuracy. Also, I found if I start running a bunch of stuff on these computers - that makes the CPU heat up, which also affects the jitter. If you really want high-precision, you'll have to shell out some extra cash then I did: <a href="https://www.sparkfun.com/products/18774" rel="nofollow">https://www.sparkfun.com/products/18774</a></p>
]]></description><pubDate>Thu, 11 Apr 2024 13:34:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=40001973</link><dc:creator>lightswitch05</dc:creator><comments>https://news.ycombinator.com/item?id=40001973</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40001973</guid></item><item><title><![CDATA[New comment by lightswitch05 in "Going in circles without a real-time clock"]]></title><description><![CDATA[
<p>Good question, it absolutely syncs without any network connectivity. For better or for worse, I have it setup NOT to sync to anything else- being a stratum 1 source is enough. Now… I will admit I’m just a hobbyist with this stuff. Anyways, the way I got around it trying to sync to another source when using the PPS was to define the GPS as two separate sources. One for the PPS signal and another for the NMEA sentences:<p><pre><code>    refclock pps ppspath /dev/gpspps0 prefer time1 0.004 minpoll 3 maxpoll 4 iburst 
    refclock nmea baud 57600 time2 0.068 minpoll 3 maxpoll 4 prefer iburst
</code></pre>
To get around issues with sync being slow, I have NTPD configured with some extra flags to allow large time jumps at startup:<p><pre><code>    NTPD_OPTS="-ggg -N"

</code></pre>
I have two raspberry pies setup this way- which I don’t use for much else. My primary computers have these two servers configured as time sources- but also have external sources- so as long as network connections are available, they can determine if they are providing a sane time or are false tickers. As for accuracy, you can view the ntpviz output for each setup in the hamburger menu. For catwoman, its regularly within 4 microseconds.</p>
]]></description><pubDate>Thu, 11 Apr 2024 13:04:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=40001647</link><dc:creator>lightswitch05</dc:creator><comments>https://news.ycombinator.com/item?id=40001647</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40001647</guid></item><item><title><![CDATA[New comment by lightswitch05 in "Going in circles without a real-time clock"]]></title><description><![CDATA[
<p>I had this happen before. I used it as an excuse to learn how to setup NTP with a GPS receiver. I made a little blog on it if anyone is interested in the results. Be sure to click the sandwich menu for some real-time data: <a href="https://www.developerdan.com/ntp/" rel="nofollow">https://www.developerdan.com/ntp/</a></p>
]]></description><pubDate>Thu, 11 Apr 2024 10:50:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=40000750</link><dc:creator>lightswitch05</dc:creator><comments>https://news.ycombinator.com/item?id=40000750</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40000750</guid></item><item><title><![CDATA[New comment by lightswitch05 in "Node.js – v20.8.1"]]></title><description><![CDATA[
<p>This is the changelog for 20.8.1, but it’s important to point out that that 4 of the CVEs were also patched in 18.18.2.<p>Shameless promotion time, I have a little utility that can check a node version for CVEs or EOL:<p><pre><code>    npx node-version-audit@latest --fail-security

</code></pre>
Or with docker:<p><pre><code>    docker run --rm -t lightswitch05/node-version-audit:latest --version=$(node -e "console.log(process.versions.node)")

</code></pre>
Some highlights of the tool is zero dependencies and CVEs are sourced directly from NPM changelogs instead of waiting on slow CVE release processes. See the website for more details: <a href="https://www.github.developerdan.com/node-version-audit/" rel="nofollow noreferrer">https://www.github.developerdan.com/node-version-audit/</a></p>
]]></description><pubDate>Sun, 15 Oct 2023 14:55:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=37890277</link><dc:creator>lightswitch05</dc:creator><comments>https://news.ycombinator.com/item?id=37890277</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37890277</guid></item><item><title><![CDATA[New comment by lightswitch05 in "Pi-Hole V6 Beta Testing"]]></title><description><![CDATA[
<p>The new feature for subscribed allowlists is going to pair really nicely with the existing support of ABP-style blocklists. I’m very excited for this release!</p>
]]></description><pubDate>Tue, 10 Oct 2023 16:05:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=37833947</link><dc:creator>lightswitch05</dc:creator><comments>https://news.ycombinator.com/item?id=37833947</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37833947</guid></item><item><title><![CDATA[New comment by lightswitch05 in "PHP Version Audit: Three years and running"]]></title><description><![CDATA[
<p>Three years ago I released a tool called PHP Version Audit. The idea is that it parses the PHP changelog and notifies you if you are running a PHP version that has a CVE or has lost support.<p>Anyways, after running for three years, I thought it would be fun to put together some data. The most interesting one is that PHP Version Audit has a median CVE discovery of 5 hours after the PHP announcement. In contrast, the NVE CVE Database has a median of 260 hours - or almost 11 days. Of course the NVE CVE Database has all sorts of information like a vulnerability score, so maybe it’s an apples vs. oranges comparison. Anyways, I hope someone else finds this interesting :)<p>If you think PHP Version Audit is interesting, there is also Node Version Audit[0] that I released earlier this year.<p>0: <a href="https://www.github.developerdan.com/node-version-audit/" rel="nofollow">https://www.github.developerdan.com/node-version-audit/</a></p>
]]></description><pubDate>Tue, 13 Dec 2022 16:03:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=33970660</link><dc:creator>lightswitch05</dc:creator><comments>https://news.ycombinator.com/item?id=33970660</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=33970660</guid></item><item><title><![CDATA[PHP Version Audit: Three years and running]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.github.developerdan.com/php-version-audit/stats">https://www.github.developerdan.com/php-version-audit/stats</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=33970659">https://news.ycombinator.com/item?id=33970659</a></p>
<p>Points: 1</p>
<p># Comments: 1</p>
]]></description><pubDate>Tue, 13 Dec 2022 16:03:46 +0000</pubDate><link>https://www.github.developerdan.com/php-version-audit/stats</link><dc:creator>lightswitch05</dc:creator><comments>https://news.ycombinator.com/item?id=33970659</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=33970659</guid></item><item><title><![CDATA[New comment by lightswitch05 in "Curl doesn't add libproxy due to its quality issues"]]></title><description><![CDATA[
<p>To answer your question, the levels are important for both regular usage and debugging when something goes wrong. I create a number of debug/info/warning/error log messages throughout the tool and allow the desired level of logging to be set as a CLI argument - or even run in silent mode if desired.</p>
]]></description><pubDate>Mon, 24 Oct 2022 04:26:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=33312930</link><dc:creator>lightswitch05</dc:creator><comments>https://news.ycombinator.com/item?id=33312930</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=33312930</guid></item><item><title><![CDATA[New comment by lightswitch05 in "Curl doesn't add libproxy due to its quality issues"]]></title><description><![CDATA[
<p>Yes, my library absolutely has to support the LTS version of Node, and I run the tests against all supported versions to ensure compatibility. So, one day I can use the nice things people are mentioning, but it will be years from now.</p>
]]></description><pubDate>Sun, 23 Oct 2022 14:33:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=33307321</link><dc:creator>lightswitch05</dc:creator><comments>https://news.ycombinator.com/item?id=33307321</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=33307321</guid></item><item><title><![CDATA[New comment by lightswitch05 in "Curl doesn't add libproxy due to its quality issues"]]></title><description><![CDATA[
<p>I’ve written a library with zero production dependencies. Of course I have Jest as a development dependency which pulls in all sorts of stuff. It would be difficult to make a zero-dependency library. As for not having production libraries, this was my experience:<p>1. Using the https module directly was more work than I expected, especially with error handling. This made me really look forward to the new Fetch API coming out.<p>2. No CLI parser. Its not like parsing args is a LOT of work - but its also something that is already solved and having to write support for that directly was a bummer<p>3. No logging library. This one was pretty easy. Create a little class with logging levels. Again this is something that is very common that would have been nice to use a package for.</p>
]]></description><pubDate>Sun, 23 Oct 2022 12:57:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=33306605</link><dc:creator>lightswitch05</dc:creator><comments>https://news.ycombinator.com/item?id=33306605</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=33306605</guid></item><item><title><![CDATA[Show HN: Node Version Audit – Audit Your Node Version for Known CVEs and Patches]]></title><description><![CDATA[
<p>I wrote Node Version Audit to automatically keep track of Node patches, particularly for releases that fix CVEs. While it can be ran directly, it is designed to run as part of a pipeline to produce warnings if the runtime version of Node has CVEs, or is no longer supported.<p>The cool part (IMO), is that Node Version Audit automatically keeps track of node releases and CVEs by parsing the change log, and so there is no curation needed to maintain it.<p>I would love any thoughts!</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=32657014">https://news.ycombinator.com/item?id=32657014</a></p>
<p>Points: 3</p>
<p># Comments: 0</p>
]]></description><pubDate>Wed, 31 Aug 2022 00:45:14 +0000</pubDate><link>https://www.github.developerdan.com/node-version-audit/</link><dc:creator>lightswitch05</dc:creator><comments>https://news.ycombinator.com/item?id=32657014</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=32657014</guid></item><item><title><![CDATA[New comment by lightswitch05 in "Bringing Forward the End-of-Life Date for Node.js 16"]]></title><description><![CDATA[
<p>It seems like the most reasonable choice. Incidentally, I have an open-source tool called Node Version Audit [0] which checks a given node version against known CVEs and end-of-life dates. It looks like the official change hasn’t been made yet [1].<p>[0] <a href="https://www.github.developerdan.com/node-version-audit/" rel="nofollow">https://www.github.developerdan.com/node-version-audit/</a><p>[1] <a href="https://raw.githubusercontent.com/nodejs/Release/main/schedule.json" rel="nofollow">https://raw.githubusercontent.com/nodejs/Release/main/schedu...</a></p>
]]></description><pubDate>Sat, 11 Jun 2022 14:18:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=31704601</link><dc:creator>lightswitch05</dc:creator><comments>https://news.ycombinator.com/item?id=31704601</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=31704601</guid></item><item><title><![CDATA[Show HN: PHP Version Audit – Audit Your PHP Version for Known CVEs and Patches]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.github.developerdan.com/php-version-audit/">https://www.github.developerdan.com/php-version-audit/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=27539182">https://news.ycombinator.com/item?id=27539182</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Thu, 17 Jun 2021 13:10:04 +0000</pubDate><link>https://www.github.developerdan.com/php-version-audit/</link><dc:creator>lightswitch05</dc:creator><comments>https://news.ycombinator.com/item?id=27539182</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=27539182</guid></item></channel></rss>