<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: nsguy</title><link>https://news.ycombinator.com/user?id=nsguy</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sun, 05 Apr 2026 20:42:46 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=nsguy" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by nsguy in "When Smart Ships Divide by Zer0 – Stranding the USS Yorktown (2018)"]]></title><description><![CDATA[
<p>Yeah, we agree on that last bit. Though technically exploding is also a "wrong result" as we saw with Crowdstrike...</p>
]]></description><pubDate>Thu, 25 Jul 2024 04:55:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=41064838</link><dc:creator>nsguy</dc:creator><comments>https://news.ycombinator.com/item?id=41064838</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41064838</guid></item><item><title><![CDATA[New comment by nsguy in "When Smart Ships Divide by Zer0 – Stranding the USS Yorktown (2018)"]]></title><description><![CDATA[
<p>I think the OP's point was that '/' is not a mathematical divide anyways. Sure, we can remove '/' and make that a happy face emoji but I don't think that changes the premise here.<p>Making sure you don't divide by zero is just one of those things programmers learn... like making sure you don't derefence null or go beyond the size of your array, or overflowing... not clear to me that masking that helps, maybe the ship wouldn't strand but instead it'd run into a bridge.</p>
]]></description><pubDate>Wed, 24 Jul 2024 06:27:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=41054152</link><dc:creator>nsguy</dc:creator><comments>https://news.ycombinator.com/item?id=41054152</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41054152</guid></item><item><title><![CDATA[New comment by nsguy in "Joe Biden stands down as Democratic candidate"]]></title><description><![CDATA[
<p>Israel is acting towards its declared objectives which it views as existential: The removal of Hamas from power in Gaza and the return of its hostages. Hamas is acting towards its declared long term objectives of destroying Israel at any cost.<p>It's ok for you to disagree with those objectives, or Israel's assessment of threat, but you can still see how a truce that leaves Hamas in power does not align with Israels' declared objectives. If you can offer a truce to Israel that removes Hamas from Gaza and Israel rejected that then I'd support your argument but that option is not on the table at the moment (partly because it does not align with Hamas' objectives). From Israel's perspective the proposed truce neither guarantees the return of all Israeli hostages nor the removal of Hamas from Gaza.<p>Israel's current government is also unlikely to work towards the proposed truce because it involves releasing Palestinian prisoners which will be seen as a win for Hamas and also a potential for future violence. This is where Israel is divided internally with many (most?) supporting a truce and parts of the government working against it. But most Israelis would still see the truce as temporary and agree that Hamas' survival in Gaza is not acceptable after Oct 7th. If Hamas was to e.g. leave Gaza (like the PLO left Beirut) then many options open up for ending the war and moving forward (including removal of the current Israeli government).<p>Again regardless of your opinion/politics you need to see this from Israel's side if you want to be able to achieve a solution. The Ukraine/Russia conflict is similar in that you need to understand what both sides are looking for and what they're willing to concede before you can end that war. Just saying that you think the war should continue until Russia is repelled from the entirety of Ukraine, while potentially a reasonable moral position, may not be a practical one or one that minimizes the number of people getting killed. I say that as someone who is 100% supportive of Ukraine. There's the idealistic outcome and then there's reality.<p>It's certainly true that if Israel has no other alternatives, and under the assumption it views Hamas' survival in Gaza as an existential threat, then it will continue to use force to achieve that objective, which will certainly lead to more people getting killed. Israelis and Palestinians.<p>If this is the scenario we're looking at, and we want to minimize Palestinian suffering and casualties, then we should be looking at how this force can be used in the most optimal way to achieve these objectives. For example, a truce that gives Hamas a chance to rebuild its defenses and re-establish control over broader areas of the Gaza strip is almost certainly going to lead to more suffering and casualties.</p>
]]></description><pubDate>Mon, 22 Jul 2024 19:37:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=41038883</link><dc:creator>nsguy</dc:creator><comments>https://news.ycombinator.com/item?id=41038883</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41038883</guid></item><item><title><![CDATA[New comment by nsguy in "The workers have spoken: They're staying home"]]></title><description><![CDATA[
<p>I think the reality is that demand for good software developers is only going to grow. This has been the trend since the 1960's and it shows no signs of reversing. There have been periods of slowdown and reversal (e.g. dot com bust) but the trend continues.<p>Good software developers are a scarce resource. There's a lot that goes into the mix of making one. AI can't replace them yet. They're critical for the success of many businesses.<p>We were in layoff mode but that seems to be reversing. Even if we see a bit more ups and downs the trend of more technology everywhere and the increasing demand for building and maintaining all that technology is not going away. The only real game changer is AI but when AI replaces all good software developers it has replaced everyone in the job market and we have bigger worries if we're even still around.</p>
]]></description><pubDate>Mon, 22 Jul 2024 19:04:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=41038445</link><dc:creator>nsguy</dc:creator><comments>https://news.ycombinator.com/item?id=41038445</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41038445</guid></item><item><title><![CDATA[New comment by nsguy in "Joe Biden stands down as Democratic candidate"]]></title><description><![CDATA[
<p>The US public is not as supportive of Israel as it used to be but support is still broad. The opinions you're reflecting are a small minority. I would expect that democrats lost votes on their "both sides" approach here since more centrists would have move to the right then people on the left who at best can not vote in protest. Stronger support for Israel would have not only reduced Palestinian suffering in the war but would have also likely gained support for the democrats.<p>For example, Israel was pressured to delay its offensive in the beginning of the war after the Oct 7th attack, which likely caused more casualties and prolonged the war and it was pressured in other ways that prolong the war. There was certainly nothing like "unwavering support", e.g. there was intense pressure to avoid an operation in Rafah, e.g. with the US administration saying the population could not be evacuated, but then Israel ignored that, and the population did evacuate.<p>On the other hand, there is virtually no chance that the US could have forced Israel to stop the war because Israelis view this as an existential threat. No threats or measures the US would take would override that view. This is likely why Biden is not able to stop the war by making a phone call.<p>I think it's important for people that want the war in Gaza to end and to see less casualties and suffering to understand this calculus. Israel's and Hamas'. What those people seem to be working towards in practice is a prolongation of the war, more suffering by everyone, and possibly the election of Trump in the US.</p>
]]></description><pubDate>Sun, 21 Jul 2024 21:03:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=41028097</link><dc:creator>nsguy</dc:creator><comments>https://news.ycombinator.com/item?id=41028097</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41028097</guid></item><item><title><![CDATA[New comment by nsguy in "Initial details about why CrowdStrike's CSAgent.sys crashed"]]></title><description><![CDATA[
<p>Totally agree. Not only would a coverage guided fuzzer catch this they should also be adding every single file they send out to the corpus of that automated fuzz testing so they can get somewhat increased coverage on their parser.<p>There may not be out of the box fuzzers that test device drivers so you hoist all the parser code, build it into a stand-alone application, and fuzz that.<p>Likely this is a form of technical debt since I can understand not doing all of this day #1 when you have 5 customers but at some point as you scale up you need to change the way you look at risk.</p>
]]></description><pubDate>Sun, 21 Jul 2024 19:02:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=41027300</link><dc:creator>nsguy</dc:creator><comments>https://news.ycombinator.com/item?id=41027300</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41027300</guid></item><item><title><![CDATA[New comment by nsguy in "Prometheus metrics saves us from painful kernel debugging (2022)"]]></title><description><![CDATA[
<p>It's all standard Linux metrics that node-exporter exposes. Mostly from procfs.</p>
]]></description><pubDate>Sun, 21 Jul 2024 18:54:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=41027251</link><dc:creator>nsguy</dc:creator><comments>https://news.ycombinator.com/item?id=41027251</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41027251</guid></item><item><title><![CDATA[New comment by nsguy in "Prometheus metrics saves us from painful kernel debugging (2022)"]]></title><description><![CDATA[
<p>As far as I'm aware there's never a requirement to use a specific product/technology for compliance. The standards will require processes or something very general and the way a company complies is their choice. It's certainly possible that a company will buy a certain product because it checks some compliance box but I would expect there are many other ways to check that box.</p>
]]></description><pubDate>Sun, 21 Jul 2024 18:52:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=41027237</link><dc:creator>nsguy</dc:creator><comments>https://news.ycombinator.com/item?id=41027237</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41027237</guid></item><item><title><![CDATA[New comment by nsguy in "Playing guitar tablatures in Rust"]]></title><description><![CDATA[
<p>Yeah... I understood the ask ;)<p>In your example the tab is strictly finger-picking over chords since that's how the song goes but some tabs are lead guitar tabs which might be sliding from the 15th fret to the 3rd fret or other things that are not strictly picked from a chord shape. They might still be "from a chord" or "played over a chord" but when you play the tab you may or may not be using that shape at that position. It's still good to know what's the context so definitely having the chord is useful.<p>If I'm playing a song with a clear picking pattern over chords I might just learn the chords and strum them first and then learn the pattern or often the patterns are just standard and all you need is the chord chart.<p>I've definitely seen tabs with the chords on top, in Ultimate Guitar it depends on whoever transcribed it, random e.g.: <a href="https://tabs.ultimate-guitar.com/tab/misc-traditional/greensleeves-tabs-7398" rel="nofollow">https://tabs.ultimate-guitar.com/tab/misc-traditional/greens...</a></p>
]]></description><pubDate>Sat, 20 Jul 2024 17:56:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=41018298</link><dc:creator>nsguy</dc:creator><comments>https://news.ycombinator.com/item?id=41018298</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41018298</guid></item><item><title><![CDATA[New comment by nsguy in "CrowdStrike Update: Windows Bluescreen and Boot Loops"]]></title><description><![CDATA[
<p>you don't need to airgap it. just limit the access to the specific APIs/access to the database and block everything else.<p>CrowdStrike won't be able to upgrade itself through your database API...</p>
]]></description><pubDate>Sat, 20 Jul 2024 05:57:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=41014413</link><dc:creator>nsguy</dc:creator><comments>https://news.ycombinator.com/item?id=41014413</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41014413</guid></item><item><title><![CDATA[New comment by nsguy in "Playing guitar tablatures in Rust"]]></title><description><![CDATA[
<p>But that's not useful. So you're saying just put on a CMaj13 grip for playing anything in a scale to the OP? On your 7 string guitar?<p>EDIT: Also you have to be missing at least one note... CMaj7 had 4 notes + 13 ... c e g b  + a (the 13th) so CMaj7/13 Add 4 ?<p>The OP (as I understand it) was wanting to be able to know what shape/grip to use for picking the relevant notes... I'm sure it can be done but you have to also find the position and reasonable shapes that fit the notes in the bar.</p>
]]></description><pubDate>Sat, 20 Jul 2024 04:39:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=41014111</link><dc:creator>nsguy</dc:creator><comments>https://news.ycombinator.com/item?id=41014111</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41014111</guid></item><item><title><![CDATA[New comment by nsguy in "Playing guitar tablatures in Rust"]]></title><description><![CDATA[
<p>A lot of tabs do have them... Also you're not always picking notes from a chord, though I guess often you are.</p>
]]></description><pubDate>Sat, 20 Jul 2024 00:34:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=41012972</link><dc:creator>nsguy</dc:creator><comments>https://news.ycombinator.com/item?id=41012972</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41012972</guid></item><item><title><![CDATA[New comment by nsguy in "Inside an IBM/Motorola mainframe controller chip from 1981"]]></title><description><![CDATA[
<p>I've used a 3090 and some of the predecessors and VM/CMS. The "monitor" was called CP (control program) IIRC.<p>XEDIT was a great editor. There was also Rexx (and previously EXEC and EXEC/2) as the system's programming language that you could use to customize virtually every aspect of the editor and automated tasks. Rexx had integration with the editor and also integrated with the OS there were lots of these small integration points that let you do really powerful stuff. Applications like email were implemented on top of the basic OS and editor. A very unique and powerful architecture (mirrored to some degree in OS/2 later).<p>The ecosystem was incredible. The virtualization support in the CPU let you run a complete multi-user system with each user having a visualized CPU within one virtual CPU. I.e. it was "fully" virtualized. What's more incredible is that a lot of these pieces, like the OS, were all written in assembly. Super robust. Super clean. Amazing documentation for everything. As top notch engineering as it gets.<p>The full screen terminal (e.g. 327X) were part of the architecture, delegating a lot of the interaction to the terminal. Interesting enough you could poll the terminals for input which we've used for writing some games. A friend of mine wrote a library for doing that. There were also colour/graphics terminals like the 3279 and could be programmed e.g. with a library called GDDM.<p>EDIT:
- <a href="https://en.wikipedia.org/wiki/VM_(operating_system)" rel="nofollow">https://en.wikipedia.org/wiki/VM_(operating_system)</a><p>Another interesting bit is that IBM shipped the full source code for everything (I think this was by default). They also had a shared bug reporting system (anyone remember what that was called?).</p>
]]></description><pubDate>Tue, 16 Jul 2024 21:06:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=40980333</link><dc:creator>nsguy</dc:creator><comments>https://news.ycombinator.com/item?id=40980333</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40980333</guid></item><item><title><![CDATA[New comment by nsguy in "Optimizing a bignum library for fun"]]></title><description><![CDATA[
<p>Rexx (EDIT: <a href="https://en.wikipedia.org/wiki/Rexx" rel="nofollow">https://en.wikipedia.org/wiki/Rexx</a> )</p>
]]></description><pubDate>Tue, 16 Jul 2024 20:48:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=40980198</link><dc:creator>nsguy</dc:creator><comments>https://news.ycombinator.com/item?id=40980198</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40980198</guid></item><item><title><![CDATA[New comment by nsguy in "Quartz: A Deterministic Time Testing Library for Go"]]></title><description><![CDATA[
<p>I have a fair bit of experience writing tests for concurrent code that uses timers on Go. We started with an open source test library ( <a href="https://pkg.go.dev/github.com/benbjohnson/clock" rel="nofollow">https://pkg.go.dev/github.com/benbjohnson/clock</a> ). It had a lot of problems. This was many years ago, looks like it's seen some maintenance since so maybe it's better? Then we tried to fix it. Fixed all the obvious bugs but still had a lot of problems using it in practice. It's not enough to just handle the calls without context of who is calling them in concurrent code. Then we switched to using gomock which ended up also being hard to use.<p>It's quite tricky is sort of the bottom line. It's not enough to just create fake time there's a lot more to it.</p>
]]></description><pubDate>Mon, 15 Jul 2024 22:05:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=40971858</link><dc:creator>nsguy</dc:creator><comments>https://news.ycombinator.com/item?id=40971858</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40971858</guid></item><item><title><![CDATA[New comment by nsguy in "Real-time audio programming 101: time waits for nothing (2011)"]]></title><description><![CDATA[
<p>Wouldn't the deadline be now+zero for real time audio applications? If I'm building a guitar pedal (random example) ideally I want no delay from the input to the output. Any digital delay makes things strictly worse and so any jitter matters. That said, the difference between zero and very close to zero does become a moot point given small enough values for any practical purpose.</p>
]]></description><pubDate>Thu, 11 Jul 2024 16:15:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=40938160</link><dc:creator>nsguy</dc:creator><comments>https://news.ycombinator.com/item?id=40938160</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40938160</guid></item><item><title><![CDATA[New comment by nsguy in "Real-time audio programming 101: time waits for nothing (2011)"]]></title><description><![CDATA[
<p>If you have a buffer that's being clocked out and your goal is to keep data flowing, the jitter is going to influence how small your buffer can be. Let's say you're producing 56Khz audio, the best you can do is produce a [sample] exactly at that frequency. If you have 1ms jitter now you need a 1ms buffer so you have delay. If jitter is small enough, like 0.1ns jitter in some SIMD calculation, then for all intent and purpose it doesn't matter for an audio application...</p>
]]></description><pubDate>Thu, 11 Jul 2024 05:34:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=40933938</link><dc:creator>nsguy</dc:creator><comments>https://news.ycombinator.com/item?id=40933938</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40933938</guid></item><item><title><![CDATA[New comment by nsguy in "Real-time audio programming 101: time waits for nothing (2011)"]]></title><description><![CDATA[
<p>You don't really do these any more on a modern CPU. This is stuff I used to do 30 years ago and you might still do if you're on a micro-controller or some other tiny system. The CPUs aren't slow. Tne main problem is if the OS doesn't schedule your process it doesn't matter how fast the CPU is.</p>
]]></description><pubDate>Thu, 11 Jul 2024 05:28:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=40933915</link><dc:creator>nsguy</dc:creator><comments>https://news.ycombinator.com/item?id=40933915</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40933915</guid></item><item><title><![CDATA[New comment by nsguy in "Real-time audio programming 101: time waits for nothing (2011)"]]></title><description><![CDATA[
<p>Yes. Most modern Ethernet isn't running on shared media (i.e. there are no collisions) and for the most part no packet loss as long as there's no congestion. For networks and for the CPU, when you're fast enough the jitter matters less, if the cpu or the network "takes a break" (from the application perspective), it tends to be a very short break on really fast networks or cpus. e.g. if a packet gets in front of you in 10Mbps Ethernet that's a big deal for an audio application but a packet ahead of you in 10Gbps Ethernet isn't much of a delay for audio. 1ms vs. 1us sort of thing.<p>[fixed typo]</p>
]]></description><pubDate>Thu, 11 Jul 2024 05:23:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=40933897</link><dc:creator>nsguy</dc:creator><comments>https://news.ycombinator.com/item?id=40933897</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40933897</guid></item><item><title><![CDATA[New comment by nsguy in "Things I learned while writing an x86 emulator (2023)"]]></title><description><![CDATA[
<p>Was doing some Googling and came across: <a href="https://en.wikipedia.org/wiki/Breakout_(video_game)" rel="nofollow">https://en.wikipedia.org/wiki/Breakout_(video_game)</a><p>I never heard this story...</p>
]]></description><pubDate>Thu, 11 Jul 2024 01:40:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=40933081</link><dc:creator>nsguy</dc:creator><comments>https://news.ycombinator.com/item?id=40933081</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40933081</guid></item></channel></rss>