<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: marler8997</title><link>https://news.ycombinator.com/user?id=marler8997</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sat, 25 Apr 2026 18:48:00 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=marler8997" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by marler8997 in "I fixed Windows native development"]]></title><description><![CDATA[
<p>If you have a self-contained project, where you don't depend on anyone else and others don't depend on you, MinGW works great. Problems arise when you have dependencies that don't work with it. I'd love to see if MinGW could find a way to be binary compatible with MSVC-compiled binaries. Right now it's kind of an all or nothing solution which makes it hard to adopt.</p>
]]></description><pubDate>Sun, 15 Feb 2026 20:10:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=47027042</link><dc:creator>marler8997</dc:creator><comments>https://news.ycombinator.com/item?id=47027042</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47027042</guid></item><item><title><![CDATA[New comment by marler8997 in "I fixed Windows native development"]]></title><description><![CDATA[
<p>Wait till they find out what the Visual Studio Installer itself does :) I guess this person just trusts a big company like Microsoft who keeps their source hidden more than a single developer who publishes all their source?</p>
]]></description><pubDate>Sun, 15 Feb 2026 17:11:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=47025394</link><dc:creator>marler8997</dc:creator><comments>https://news.ycombinator.com/item?id=47025394</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47025394</guid></item><item><title><![CDATA[New comment by marler8997 in "I fixed Windows native development"]]></title><description><![CDATA[
<p>Yeah I noticed wine wasn't able to execute the MSI files.  It also had a problem with the lock files.  Both problems should be fixable though.</p>
]]></description><pubDate>Sun, 15 Feb 2026 15:16:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=47024353</link><dc:creator>marler8997</dc:creator><comments>https://news.ycombinator.com/item?id=47024353</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47024353</guid></item><item><title><![CDATA[New comment by marler8997 in "Problems with C++ exceptions"]]></title><description><![CDATA[
<p>None taken :) I think sharing our thoughts and discussing them is how we learn and grow. The best people in their craft are those who aren't afraid to put themselves out there, even if they're wrong, how else would you find out?</p>
]]></description><pubDate>Wed, 12 Nov 2025 17:44:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=45903165</link><dc:creator>marler8997</dc:creator><comments>https://news.ycombinator.com/item?id=45903165</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45903165</guid></item><item><title><![CDATA[New comment by marler8997 in "Problems with C++ exceptions"]]></title><description><![CDATA[
<p>I avoid using exceptions myself so I wouldn't be surprised if I misunderstand them :) I love to learn and welcome new knowledge and/or correction of misunderstandings if you have them.<p>I'll add that inspiration for the article came about because It was striking to me how Bjarne's example which was suppose to show a better way to manage resources introduced so many issues. The blog post goes over those issues and talks about possible solutions, all of which aren't great. I think however these problems with exceptions don't manifest into bigger issues because programmers just kinda learn to avoid exceptions. So, the post was trying to go into why we avoid them.</p>
]]></description><pubDate>Wed, 12 Nov 2025 15:00:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=45901062</link><dc:creator>marler8997</dc:creator><comments>https://news.ycombinator.com/item?id=45901062</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45901062</guid></item><item><title><![CDATA[New comment by marler8997 in "Problems with C++ exceptions"]]></title><description><![CDATA[
<p>"You can't handle all of them and you don't know which you'll get" is a great summary of the first two problems, and, this same problem also applies to Python. I'll add that these only start becoming an issue when you start adding more exceptions to your codebase, especially if those exceptions start appearing deep in a callstack and seemingly unrelated code starts needing to be aware of them/handle them.<p>The third problem (RAISI) is a C++ specific problem that Python doesn't have. Partly because in Python try/catch doesn't introduce a new scope and also partly because Python tends not to need a lot of RAII because of the nature of interpreted languages.<p>I found this video a fascinating take on comparing C++ to Python if you haven't seen it: <a href="https://www.youtube.com/watch?v=9ZxtaccqyWA" rel="nofollow">https://www.youtube.com/watch?v=9ZxtaccqyWA</a></p>
]]></description><pubDate>Wed, 12 Nov 2025 14:12:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=45900424</link><dc:creator>marler8997</dc:creator><comments>https://news.ycombinator.com/item?id=45900424</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45900424</guid></item><item><title><![CDATA[New comment by marler8997 in "Zig / C++ Interop"]]></title><description><![CDATA[
<p>It's a bit more than your typical "interop via C".  With a "sized opaque" type you actually can stack allocate C++ values in Zig (and vice versa stack allocate Zig values in C++), i.e.<p>fn stackExample() void {<p><pre><code>    var some_cpp_type: c.SomeCppType = undefined;
    c.some_cpp_type_ctor(&some_cpp_type);
    defer c.some_cpp_type_dtor(&some_cpp_type);

    // ...

}</code></pre></p>
]]></description><pubDate>Tue, 11 Nov 2025 21:59:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=45893465</link><dc:creator>marler8997</dc:creator><comments>https://news.ycombinator.com/item?id=45893465</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45893465</guid></item><item><title><![CDATA[New comment by marler8997 in "Zig / C++ Interop"]]></title><description><![CDATA[
<p>Yeah this is correct. You don't want to pass these values around "by value" but, you should be able to "embed them" and pass "pointers to them".  It's a middle-ground between a completely opaque type which you would also pass around by address, but, with the added benefit that you allocate your own storage for it.<p>I sort of mentioned this in the blog but this is good clarification.<p>>  if you want to pass a shared_ptr to Zig, you need to pass a pointer to the shared pointer<p>For lore, I believe this GitHub thread is where I first learned about the how types of the same size/alignment can still have different ABIs :) <a href="https://github.com/microsoft/win32metadata/issues/623#issuecomment-917143574" rel="nofollow">https://github.com/microsoft/win32metadata/issues/623#issuec...</a></p>
]]></description><pubDate>Tue, 11 Nov 2025 14:16:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=45887512</link><dc:creator>marler8997</dc:creator><comments>https://news.ycombinator.com/item?id=45887512</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45887512</guid></item><item><title><![CDATA[New comment by marler8997 in "Edit is now open source"]]></title><description><![CDATA[
<p>I checked the git history to see if you included the Zig version but looks like first revision is rust...<p>In the Zig version did you use my zigwin32 project or did you go with something else? Also, how did you like the Zig build system vs rusts?</p>
]]></description><pubDate>Wed, 21 May 2025 02:33:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=44047791</link><dc:creator>marler8997</dc:creator><comments>https://news.ycombinator.com/item?id=44047791</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44047791</guid></item><item><title><![CDATA[New comment by marler8997 in "Tuple for Windows Public Beta"]]></title><description><![CDATA[
<p>Hope to be able to bring Linux back at some point. Unfortunately there wasn't enough users to justify spending development time on it. It's hard to tell if the user count was low because of lack of interest of issues with app itself. It's also ironic that Linux is the hardest platform to support. It had too many pieces outside our control that would break.  If/when we can get back to it I'd like to avoid Flatpak and take an approach that we can have more control over.  Possibly a static build and maybe even look into native package manager integration.</p>
]]></description><pubDate>Fri, 07 Jun 2024 22:41:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=40613689</link><dc:creator>marler8997</dc:creator><comments>https://news.ycombinator.com/item?id=40613689</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40613689</guid></item><item><title><![CDATA[New comment by marler8997 in "Zig 0.13.0 Release Notes"]]></title><description><![CDATA[
<p>Here's an example: <a href="https://github.com/marler8997/zigup/blob/4d25c7e387a996c6b83a5b5fd98a2a6622557577/zigup.zig#L55">https://github.com/marler8997/zigup/blob/4d25c7e387a996c6b83...</a></p>
]]></description><pubDate>Fri, 07 Jun 2024 22:32:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=40613643</link><dc:creator>marler8997</dc:creator><comments>https://news.ycombinator.com/item?id=40613643</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40613643</guid></item><item><title><![CDATA[New comment by marler8997 in "The rule says, “No vehicles in the park”"]]></title><description><![CDATA[
<p>Great game, cleverly demonstrates a fundamental problem with creating rules/laws. I've wondered if focusing on the goal/intent when creating rules would be more effective? For example, instead of just a rule that says "No vehicles in the park", you could say, the community wants the park:
- to be safe
- to be peaceful/relaxing
- to accommodate physical activities/games<p>For these reasons, we don't allow vehicles that will unnecessarily compromise safety and/or make a lot of noise.<p>Of course the goal/intent I've written suffers from the same problem as the rules did, the definitions are ambiguous, but I think there's a distinction between capturing the spirit vs the letter of the law. It's a guide for why the rules exist and when they should or shouldn't be applied. It's not perfect, but, I think it's an improvement of just listing rules. If capturing/publishing the reasons for rules alongside the rules was normalized I wonder how different things could be?</p>
]]></description><pubDate>Sat, 24 Jun 2023 14:57:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=36459214</link><dc:creator>marler8997</dc:creator><comments>https://news.ycombinator.com/item?id=36459214</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36459214</guid></item><item><title><![CDATA[New comment by marler8997 in "Why is D's garbage collection slower than Go's?"]]></title><description><![CDATA[
<p>D's actually worse than Zig in regard to point 3.  Kristoff's example demonstrates why.  In D you would have to change the "if" to a "static if", D will always evaluate normal "if's" at runtime even if they are comptime-known, it will not do this automatically for you.<p>The bigger issue D has with this example is that normal parameters are always runtime.  If you wanted this to work in D you would need to implement 2 versions of "double", one that takes n as a template parameter and one that takes it as a runtime parameter.  D keeps comptime and runtime parameters separate, making comptime-knowness a "parameter color" which in practice means having to implement things twice if you want it at comptime and often in different ways.  There are some things that can work with both but it's small subset of both.</p>
]]></description><pubDate>Sat, 29 Oct 2022 23:54:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=33389187</link><dc:creator>marler8997</dc:creator><comments>https://news.ycombinator.com/item?id=33389187</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=33389187</guid></item></channel></rss>