<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: canucker2016</title><link>https://news.ycombinator.com/user?id=canucker2016</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Wed, 15 Jul 2026 04:13:13 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=canucker2016" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[Trump may be mystery patient in case of 79yo getting experimental obesity drug]]></title><description><![CDATA[
<p>Article URL: <a href="https://arstechnica.com/health/2026/06/trump-may-be-mystery-patient-in-odd-case-of-79yo-getting-experimental-obesity-drug/">https://arstechnica.com/health/2026/06/trump-may-be-mystery-patient-in-odd-case-of-79yo-getting-experimental-obesity-drug/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48648294">https://news.ycombinator.com/item?id=48648294</a></p>
<p>Points: 11</p>
<p># Comments: 13</p>
]]></description><pubDate>Tue, 23 Jun 2026 17:25:52 +0000</pubDate><link>https://arstechnica.com/health/2026/06/trump-may-be-mystery-patient-in-odd-case-of-79yo-getting-experimental-obesity-drug/</link><dc:creator>canucker2016</dc:creator><comments>https://news.ycombinator.com/item?id=48648294</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48648294</guid></item><item><title><![CDATA[New comment by canucker2016 in "Linux eliminates the strncpy API after six years of work, 360 patches"]]></title><description><![CDATA[
<p>I think PCDOS/MSDOS copied CP/M's use of CRLF for line separator.<p>Some believe Gary Kildall picked CRLF for CP/M since he used DEC TOPS-10 to develop CP/M. see <a href="https://www.quora.com/Why-did-CP-M-stick-with-the-CR-LF-standard-and-how-did-that-influence-MS-DOS-and-Windows-later-on" rel="nofollow">https://www.quora.com/Why-did-CP-M-stick-with-the-CR-LF-stan...</a></p>
]]></description><pubDate>Mon, 22 Jun 2026 05:05:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=48625916</link><dc:creator>canucker2016</dc:creator><comments>https://news.ycombinator.com/item?id=48625916</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48625916</guid></item><item><title><![CDATA[New comment by canucker2016 in "Billionaire Tax Officially Heads to Nov. 3 Ballot"]]></title><description><![CDATA[
<p>HN just had a post about the craigslist founder donating over half billion dollars to charity. see <a href="https://news.ycombinator.com/item?id=48588216">https://news.ycombinator.com/item?id=48588216</a></p>
]]></description><pubDate>Sun, 21 Jun 2026 22:35:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=48623288</link><dc:creator>canucker2016</dc:creator><comments>https://news.ycombinator.com/item?id=48623288</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48623288</guid></item><item><title><![CDATA[New comment by canucker2016 in "Microsoft new Outlook takes 10 seconds to do what Outlook Classic does instantly"]]></title><description><![CDATA[
<p>The spec, i assume you mean iCalendar, came later.</p>
]]></description><pubDate>Fri, 19 Jun 2026 21:59:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=48603772</link><dc:creator>canucker2016</dc:creator><comments>https://news.ycombinator.com/item?id=48603772</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48603772</guid></item><item><title><![CDATA[New comment by canucker2016 in "Project Valhalla, Explained: How a Decade of Work Arrives in JDK 28"]]></title><description><![CDATA[
<p>It seems to be called the Rule of 3. see <a href="https://en.wikipedia.org/wiki/Rule_of_three_(writing)" rel="nofollow">https://en.wikipedia.org/wiki/Rule_of_three_(writing)</a><p>Like Caesar's supposed "Veni Vidi Vici" saying, people seem to prefer and remember items when grouped in three.<p>I recall a public speaking film shown to my management science class starring John Cleese mentioning this rule of 3.</p>
]]></description><pubDate>Fri, 19 Jun 2026 20:38:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=48602992</link><dc:creator>canucker2016</dc:creator><comments>https://news.ycombinator.com/item?id=48602992</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48602992</guid></item><item><title><![CDATA[New comment by canucker2016 in "Microsoft new Outlook takes 10 seconds to do what Outlook Classic does instantly"]]></title><description><![CDATA[
<p>The article mentions that new Outlook uses a Webview2 control as the UI. You can call it JS/Webview.<p>Similar to Electron, but using an MS Edge browser window control as the webview control instead of Google Chrome.<p>It's lighter weight than Electron, if you consider that Webview2 ships with Windows and is shared with other Webview2 consumers as opposed to Electron apps which each ship with their own self-contained web browser.</p>
]]></description><pubDate>Fri, 19 Jun 2026 00:47:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=48593605</link><dc:creator>canucker2016</dc:creator><comments>https://news.ycombinator.com/item?id=48593605</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48593605</guid></item><item><title><![CDATA[New comment by canucker2016 in "Microsoft new Outlook takes 10 seconds to do what Outlook Classic does instantly"]]></title><description><![CDATA[
<p>Schedule+ had the concept of exceptions to a recurring appointment (RA) - meetings that didn't follow the recurring pattern (e.g. every week on thursday at 4pm).<p>This was exposed through the UI by letting the user adjust the date & time for the RA instance (e.g. move this week's thursday 4pm meeting to 2pm) via drag-drop or editing the RM instance and change the time in the appt dialog.<p>So I assume with Outlook you could schedule a recurring appt for the common case - weekly appt on wednesday at 1PM. Adjust as your needs require - no meeting needed? Delete this week's instance. Need to move the meeting earlier or later? Go and reschedule this week's instance.<p>Obviously wouldn't work if you needed two meetings in a week.</p>
]]></description><pubDate>Thu, 18 Jun 2026 22:58:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=48592759</link><dc:creator>canucker2016</dc:creator><comments>https://news.ycombinator.com/item?id=48592759</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48592759</guid></item><item><title><![CDATA[New comment by canucker2016 in "Microsoft new Outlook takes 10 seconds to do what Outlook Classic does instantly"]]></title><description><![CDATA[
<p>Since Classic Outlook was developed in the glory days of OLE2.0, it's got OLE Automation baked in. VB and JScript code can access emails and appointments and perform relevant operations on those objects.</p>
]]></description><pubDate>Thu, 18 Jun 2026 22:43:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=48592631</link><dc:creator>canucker2016</dc:creator><comments>https://news.ycombinator.com/item?id=48592631</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48592631</guid></item><item><title><![CDATA[New comment by canucker2016 in "Microsoft new Outlook takes 10 seconds to do what Outlook Classic does instantly"]]></title><description><![CDATA[
<p>For early history about Active Directory, you can't get much better than straight from the horse's mouth ( manager of the Exchange / Active Directory group ).<p>see <a href="https://hardcoresoftware.learningbyshipping.com/p/021-expanding-breadth-versus-coherency/comment/1801958" rel="nofollow">https://hardcoresoftware.learningbyshipping.com/p/021-expand...</a><p>and<p><a href="https://hardcoresoftware.learningbyshipping.com/p/bonus-the-journey-of-the-ems-and" rel="nofollow">https://hardcoresoftware.learningbyshipping.com/p/bonus-the-...</a></p>
]]></description><pubDate>Thu, 18 Jun 2026 19:09:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=48590023</link><dc:creator>canucker2016</dc:creator><comments>https://news.ycombinator.com/item?id=48590023</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48590023</guid></item><item><title><![CDATA[New comment by canucker2016 in "Microsoft new Outlook takes 10 seconds to do what Outlook Classic does instantly"]]></title><description><![CDATA[
<p>Microsoft Schedule+ was Microsoft's workgroup calendaring app before the Office division merged email and calendar into one app.<p>Outlook was late so Schedule+ was included in Office 95 for the Win95 release and so Schedule+ got a wider retail consumer release than if it had been just included with the Microsoft Exchange Server 4.0 release.<p>from <a href="https://www.reddit.com/r/software/comments/v73bk7/microsoft_schedule_alternatives/" rel="nofollow">https://www.reddit.com/r/software/comments/v73bk7/microsoft_...</a><p><pre><code>  I've been using Schedule+ 95 to keep track of my daily activities since forever. I even modified my Windows install to keep it fully compatible after WinHlp32 was nixed in Windows 10. However, it is increasingly showing its age, and there are certain aspects where I would prefer a more modern solution; I can't integrate Sched+ with my smart phone easily ...

  I'm explicitly NOT looking for any cloud or web apps. I don't have reliable internet nor are all of my daily use machines fast enough to reliably, and responsively, display 90% of the bloated webapps out there. I want something lean, fast, and native for the desktop. Schedule+ uses a max of about 7MB of RAM and I don't want to go over 10-20.

</code></pre>
7MB RAM is a lot when Win95 was designed for a 80386 with 4MB RAM. But a modern day x86 (okay, x64) with 8GB, that's about 0.1% of total RAM.</p>
]]></description><pubDate>Thu, 18 Jun 2026 17:54:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=48588976</link><dc:creator>canucker2016</dc:creator><comments>https://news.ycombinator.com/item?id=48588976</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48588976</guid></item><item><title><![CDATA[New comment by canucker2016 in "CBC will no longer air NHL games in 'end of an era' as broadcast deal expires"]]></title><description><![CDATA[
<p>FTA:<p><pre><code>  The CBC, which began televising NHL games in 1952, had operated under that agreement since Rogers Sportsnet acquired the league’s Canadian rights in 2013 for $5.2 billion.</code></pre></p>
]]></description><pubDate>Thu, 18 Jun 2026 17:41:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=48588805</link><dc:creator>canucker2016</dc:creator><comments>https://news.ycombinator.com/item?id=48588805</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48588805</guid></item><item><title><![CDATA[CBC will no longer air NHL games in 'end of an era' as broadcast deal expires]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.cbc.ca/sports/cbc-nhl-hockey-night-in-canada-ends-9.7236977">https://www.cbc.ca/sports/cbc-nhl-hockey-night-in-canada-ends-9.7236977</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48581648">https://news.ycombinator.com/item?id=48581648</a></p>
<p>Points: 12</p>
<p># Comments: 2</p>
]]></description><pubDate>Thu, 18 Jun 2026 06:45:33 +0000</pubDate><link>https://www.cbc.ca/sports/cbc-nhl-hockey-night-in-canada-ends-9.7236977</link><dc:creator>canucker2016</dc:creator><comments>https://news.ycombinator.com/item?id=48581648</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48581648</guid></item><item><title><![CDATA[New comment by canucker2016 in "Why do commercial spaces sit vacant? (2025)"]]></title><description><![CDATA[
<p>In the USA, women initiate divorce proceedings ~70% of the time. see <a href="https://www.bbc.com/worklife/article/20220511-why-women-file-for-divorce-more-than-men" rel="nofollow">https://www.bbc.com/worklife/article/20220511-why-women-file...</a></p>
]]></description><pubDate>Wed, 17 Jun 2026 21:23:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=48577120</link><dc:creator>canucker2016</dc:creator><comments>https://news.ycombinator.com/item?id=48577120</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48577120</guid></item><item><title><![CDATA[The Slate Truck's price may have leaked, starts at $24,950]]></title><description><![CDATA[
<p>Article URL: <a href="https://arstechnica.com/cars/2026/06/the-slate-trucks-price-may-have-leaked-starts-at-24950/">https://arstechnica.com/cars/2026/06/the-slate-trucks-price-may-have-leaked-starts-at-24950/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48574730">https://news.ycombinator.com/item?id=48574730</a></p>
<p>Points: 4</p>
<p># Comments: 2</p>
]]></description><pubDate>Wed, 17 Jun 2026 18:36:53 +0000</pubDate><link>https://arstechnica.com/cars/2026/06/the-slate-trucks-price-may-have-leaked-starts-at-24950/</link><dc:creator>canucker2016</dc:creator><comments>https://news.ycombinator.com/item?id=48574730</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48574730</guid></item><item><title><![CDATA[New comment by canucker2016 in "The time the x86 emulator team found code so bad they fixed it during emulation"]]></title><description><![CDATA[
<p>It's more likely that one dev wrote the draw-cell code.<p>Another dev who's fixing a bug, realizes if they call a certain function either directly or indirectly, their particular bug gets fixed.<p>Oh, and as a side effect, the cell gets erased (again).<p>A few more fixes/new features added like this and the code is inadvertently erasing the same cell multiple times.<p>It takes a certain type of dev to step through in a debugger and Notice the app is doing way too much work and then to untangle the mess of code without causing regressions.</p>
]]></description><pubDate>Tue, 16 Jun 2026 18:36:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=48559923</link><dc:creator>canucker2016</dc:creator><comments>https://news.ycombinator.com/item?id=48559923</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48559923</guid></item><item><title><![CDATA[New comment by canucker2016 in "The time the x86 emulator team found code so bad they fixed it during emulation"]]></title><description><![CDATA[
<p>And Android 11+ has been doing similar userspace stack-init thing - <a href="https://android-developers.googleblog.com/2020/06/system-hardening-in-android-11.html" rel="nofollow">https://android-developers.googleblog.com/2020/06/system-har...</a></p>
]]></description><pubDate>Tue, 16 Jun 2026 18:07:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=48559433</link><dc:creator>canucker2016</dc:creator><comments>https://news.ycombinator.com/item?id=48559433</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48559433</guid></item><item><title><![CDATA[New comment by canucker2016 in "The time the x86 emulator team found code so bad they fixed it during emulation"]]></title><description><![CDATA[
<p>I was looking through the compiler docs about memory allocation and I found the section about the debug version of the CRT which could fill the allocated memory with a non-zero canary value to help detect uninitialized memory (assuming you weren't calling calloc - which zero-init's allocated memory).<p>But there wasn't any similar programmatic debugging aid for detecting uninitialized stack memory.<p>Going further down the rabbit hole, I discovered the _chkstk function.<p>The MS C compiler would emit a call to _chkstk on function entry to ensure that stack memory had been paged in. But further reading noted that _chkstk was only emitted if the function allocated a lot of stack memory. And there was source code! MS included the assembly language source code for _chkstk in the CRT source code, installed with compiler.<p>I needed _chkstk to be emitted for every function not only for functions that allocated >= 4KB of stack variables.<p>Curses, foiled again.<p>Then, while perusing the list of compiler command line switches, I see "/Ge".<p><pre><code>  /Ge (Enable Stack Probes)

  Activates stack probes for every function call that requires storage for local variables.
</code></pre>
Ahhhhh! The grey, storm clouds parted and the sun rays bathed shone down on me in their warmth.<p>I had all the pieces I needed to fill uninitialized stack memory with a non-zero canary value so I could make detection of uninitialized stack variables more reliable.<p>_stkfil was born<p>Modifying _chkstk was easy. I needed to write to every byte of stack in a stack page instead of reading only 4 bytes and skipping to the next page of stack.<p>While I was mucking in the bowels of modifying _chkstk, I added a 4-byte global variable to hold my canary value. Let the app override what value to use.<p>In debug builds, _stkfil helped find a couple of bugs, but soon all the stray uninited stack vars were gone and the code was forgotten.<p>Then I read about InitAll in <a href="https://www.microsoft.com/en-us/msrc/blog/2020/05/solving-uninitialized-stack-memory-on-windows" rel="nofollow">https://www.microsoft.com/en-us/msrc/blog/2020/05/solving-un...</a><p><pre><code>  InitAll - Automatic Initialization

  In addition to the previously mentioned approaches, Microsoft is now using a feature known as InitAll which performs automatic compile-time initialization of stack variables.

  This section documents how Windows is using this technology and the rationale for why.

  Current Windows Settings

  The following types are automatically initialized:

  - Scalars (arrays, pointers, floats)
  - Arrays of pointers
  - Structures (plain-old-data structures)

  The following are not automatically initialized:

  - Volatile variables
  - Arrays of anything other than pointers (i.e. array of int, array of structures, etc.)
  - Classes that are not plain-old-data

  For optimized retail builds, the fill pattern is zero. For floats the fill pattern is 0.0.

  For CHK builds or developer builds (i.e. unoptimized retail builds), the fill pattern is 0xE2. For floats the fill pattern is 1.0.</code></pre></p>
]]></description><pubDate>Tue, 16 Jun 2026 16:29:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=48557825</link><dc:creator>canucker2016</dc:creator><comments>https://news.ycombinator.com/item?id=48557825</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48557825</guid></item><item><title><![CDATA[New comment by canucker2016 in "Ask HN: Why hasn't there been a real competitor to Ticketmaster yet?"]]></title><description><![CDATA[
<p>It's not impossible - in Ontario, it required a law. Resale ticket prices capped at original ticket face value.<p>see <a href="https://www.cbc.ca/news/business/ontario-ticket-resale-cap-enforcement-crackdown-9.7198412" rel="nofollow">https://www.cbc.ca/news/business/ontario-ticket-resale-cap-e...</a></p>
]]></description><pubDate>Mon, 08 Jun 2026 20:02:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=48451016</link><dc:creator>canucker2016</dc:creator><comments>https://news.ycombinator.com/item?id=48451016</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48451016</guid></item><item><title><![CDATA[New comment by canucker2016 in "Win16 Memory Management"]]></title><description><![CDATA[
<p>I'm not disputing your point.<p>I'm explaining why the infinite loop actually occurs for those who haven't encountered the problem.<p>The problem would happen for an array whose beginning element starts at offset 0 for a particular segment and an iteration stop condition that uses ">= 0th element" that scans down the array. I used a 64K allocated array to ensure that the array base would match offset 0.<p>Problem would also occur if the end of the array aligns with the segment limit and the iteration end condition was "<= end element" and the scan moves up the array.<p>For either situation, the array could be < 64KB. One byte would be sufficient.</p>
]]></description><pubDate>Mon, 08 Jun 2026 17:48:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=48448592</link><dc:creator>canucker2016</dc:creator><comments>https://news.ycombinator.com/item?id=48448592</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48448592</guid></item><item><title><![CDATA[New comment by canucker2016 in "Win16 Memory Management"]]></title><description><![CDATA[
<p>None of my college CS courses used programming languages that featured FAR pointers.<p>The above example would cause an infinite loop on Win16's seg:off far memory model, but compiling on Win32 would not cause an infinite loop.<p>Problem is that far pointers only affect the offset, not the segment. So decrementing a 0 value offset would just wrap around to 0xFFFF and the segment would stay the same, so you're going from mem[0] to mem[65535] not mem[-1].</p>
]]></description><pubDate>Sun, 07 Jun 2026 18:23:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=48437344</link><dc:creator>canucker2016</dc:creator><comments>https://news.ycombinator.com/item?id=48437344</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48437344</guid></item></channel></rss>