<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: grumdan</title><link>https://news.ycombinator.com/user?id=grumdan</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sat, 02 May 2026 11:52:32 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=grumdan" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by grumdan in "Why take a compiler course? (2010)"]]></title><description><![CDATA[
<p>For many languages there are mature parsers out there that can be reused (e.g. Google's Closure compiler or babel for JavaScript, or the Soot framework for Java that also simplifies more advanced code analysis). In the worst case, it's sometimes possible to interface with the standard compiler for the language directly (for example, the TypeScript compiler provides TypeScript APIs for its parser/type checker/etc.). I believe for C++ for example, a Clang plugin (<a href="https://clang.llvm.org/docs/ClangPlugins.html" rel="nofollow">https://clang.llvm.org/docs/ClangPlugins.html</a>) would have been a plausible way to implement something like this.</p>
]]></description><pubDate>Sun, 26 Mar 2023 11:52:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=35313490</link><dc:creator>grumdan</dc:creator><comments>https://news.ycombinator.com/item?id=35313490</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=35313490</guid></item><item><title><![CDATA[New comment by grumdan in "The Art of LaTeX: Common mistakes and advice for typesetting proofs"]]></title><description><![CDATA[
<p>It doesn't work super well during live collaboration, but Overleaf does allow git access to the underlying document: <a href="https://www.overleaf.com/learn/how-to/Using_Git_and_GitHub" rel="nofollow">https://www.overleaf.com/learn/how-to/Using_Git_and_GitHub</a></p>
]]></description><pubDate>Mon, 09 Jan 2023 17:37:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=34313094</link><dc:creator>grumdan</dc:creator><comments>https://news.ycombinator.com/item?id=34313094</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=34313094</guid></item><item><title><![CDATA[New comment by grumdan in "Ask HN: Anyone know any funny programming jokes?"]]></title><description><![CDATA[
<p>Programming-related humor is pretty tricky. I once told a UDP joke, but nobody got it..</p>
]]></description><pubDate>Thu, 21 Jan 2021 11:59:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=25857998</link><dc:creator>grumdan</dc:creator><comments>https://news.ycombinator.com/item?id=25857998</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=25857998</guid></item><item><title><![CDATA[New comment by grumdan in "Ask HN: Anyone know any funny programming jokes?"]]></title><description><![CDATA[
<p>How did the Three Wise Men find their way to baby Jesus? A Star. (This joke works better when spoken out loud instead of written)</p>
]]></description><pubDate>Thu, 21 Jan 2021 11:43:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=25857900</link><dc:creator>grumdan</dc:creator><comments>https://news.ycombinator.com/item?id=25857900</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=25857900</guid></item><item><title><![CDATA[New comment by grumdan in "Rust Ownership Rules"]]></title><description><![CDATA[
<p>One example that comes to mind is type state [0]. I'm not aware of any other language (including those with support for dependent types, like Agda) where these properties can be checked without external static analysis tools and the problems they bring.<p>[0] <a href="https://yoric.github.io/post/rust-typestate/" rel="nofollow">https://yoric.github.io/post/rust-typestate/</a></p>
]]></description><pubDate>Tue, 03 Mar 2020 20:54:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=22478623</link><dc:creator>grumdan</dc:creator><comments>https://news.ycombinator.com/item?id=22478623</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=22478623</guid></item><item><title><![CDATA[New comment by grumdan in "Why does the Librem 5 phone cost that much?"]]></title><description><![CDATA[
<p>> If only Jolla devs had kept their promises of open-sourcing more of their code.<p>I think that's a big part of the answer to why it hasn't caught among techies. When I tried using it (shortly after release), there were numerous issues in their default apps that nobody could fix because they are proprietary and Jolla didn't seem to have the resources to handle all the bugs.<p>I'd wager that if it had been open source, the early adopters would have put some time in to fix a lot of the bugs.<p>In retrospect I'm pretty pissed at them for not being honest and upholding their promises. In my book they're basically con artists that just tried to get the Linux community's money by saying "open source" without actually meaning it.</p>
]]></description><pubDate>Thu, 28 Nov 2019 20:02:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=21659834</link><dc:creator>grumdan</dc:creator><comments>https://news.ycombinator.com/item?id=21659834</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=21659834</guid></item><item><title><![CDATA[New comment by grumdan in "Everything I googled in a week as a professional software engineer"]]></title><description><![CDATA[
<p>Well two differing conventions above are both for x86, so you can't "match x86".</p>
]]></description><pubDate>Fri, 06 Sep 2019 18:48:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=20898585</link><dc:creator>grumdan</dc:creator><comments>https://news.ycombinator.com/item?id=20898585</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=20898585</guid></item><item><title><![CDATA[New comment by grumdan in "Thoughts on Rust bloat"]]></title><description><![CDATA[
<p>You can provide this implementation yourself easily enough though. I agree it's maybe not ideal that this needs to be done for every Trait you want this behavior for.</p>
]]></description><pubDate>Thu, 22 Aug 2019 09:10:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=20766090</link><dc:creator>grumdan</dc:creator><comments>https://news.ycombinator.com/item?id=20766090</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=20766090</guid></item><item><title><![CDATA[New comment by grumdan in "Dependent Haskell Is the Future (2018)"]]></title><description><![CDATA[
<p>At least now we are checking that two pieces of saying what we want a program to do match up. It's less likely to get both the implementation and specification (in the form of types) wrong. Whenever the program fails to type-check, it will make you think about both bugs in the type and bugs in the code, even if the latter is more likely.</p>
]]></description><pubDate>Fri, 16 Aug 2019 09:13:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=20713419</link><dc:creator>grumdan</dc:creator><comments>https://news.ycombinator.com/item?id=20713419</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=20713419</guid></item><item><title><![CDATA[New comment by grumdan in "Linux Journal Ceases Publication: An Awkward Goodbye"]]></title><description><![CDATA[
<p>> At the same time we finally got a phone that is built with some security in mind (Librem).<p>If it ever materializes. It's already more than half a year behind schedule and after preordering it close to when it was announced, I'm very skeptical I'll ever receive it.</p>
]]></description><pubDate>Thu, 08 Aug 2019 08:26:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=20642760</link><dc:creator>grumdan</dc:creator><comments>https://news.ycombinator.com/item?id=20642760</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=20642760</guid></item><item><title><![CDATA[New comment by grumdan in "The Law Isn't Ready for Psychedelic Medicine"]]></title><description><![CDATA[
<p>I guess I shouldn't use terms that could also have a precise chemical meaning. My understanding is that they cause similar effects to LSD, but analogue is probably not the right word for it.</p>
]]></description><pubDate>Thu, 01 Aug 2019 14:04:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=20583746</link><dc:creator>grumdan</dc:creator><comments>https://news.ycombinator.com/item?id=20583746</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=20583746</guid></item><item><title><![CDATA[New comment by grumdan in "The Law Isn't Ready for Psychedelic Medicine"]]></title><description><![CDATA[
<p>I agree that prohibition does cause a lot of issues.<p>This makes even less sense since one difference is that there is no equivalent to "alcohol poisoning" with LSD. A dose at which LSD is physically toxic is so high (200 times a recreational dose) that it's incredibly unlikely to take by accident. As far as I know, there are no known overdose deaths due to LSD.<p>(However, there are analogues to LSD that are toxic: 25I-NBOMe and 25C-NBOMe).</p>
]]></description><pubDate>Thu, 01 Aug 2019 09:24:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=20582326</link><dc:creator>grumdan</dc:creator><comments>https://news.ycombinator.com/item?id=20582326</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=20582326</guid></item><item><title><![CDATA[New comment by grumdan in "Why Generics?"]]></title><description><![CDATA[
<p>I have found Rust to be a nice middle-ground for this. Sure, the borrow checker takes some getting used to, but it features an ML-style type system (though I still miss some extensions to Haskell's type system available in GHC), rock-solid tooling, and a comprehensive well-documented standard library. The high quality of third-party crates also surprised me. Whether the C-like syntax is sane is debatable though.</p>
]]></description><pubDate>Thu, 01 Aug 2019 08:53:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=20582202</link><dc:creator>grumdan</dc:creator><comments>https://news.ycombinator.com/item?id=20582202</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=20582202</guid></item><item><title><![CDATA[New comment by grumdan in "Why Generics?"]]></title><description><![CDATA[
<p>> because all existing implementations are bad<p>I'm also not sure why in OOP-land, generics are this crazy experimental weird feature, when in functional languages, people figured out how to implement parametric polymorphism (the original term for generics) in quite reasonable ways. I get that subtyping adds some complexity, but overall I don't understand why such a basic way to build abstractions is so controversial in (some) OOP languages. If anyone has some context on why this is more difficult to have in Java-like languages, I'd be curious to hear it.</p>
]]></description><pubDate>Wed, 31 Jul 2019 20:50:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=20578392</link><dc:creator>grumdan</dc:creator><comments>https://news.ycombinator.com/item?id=20578392</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=20578392</guid></item><item><title><![CDATA[New comment by grumdan in "How is it like to be a dev in Iran"]]></title><description><![CDATA[
<p>I was asking if you think it's equally bad for gay people in Iran and the west, or worse in Iran. Your first statement sounded like you think it's no better in the west, and the second one like you think Iran is worse.</p>
]]></description><pubDate>Mon, 22 Jul 2019 17:54:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=20500467</link><dc:creator>grumdan</dc:creator><comments>https://news.ycombinator.com/item?id=20500467</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=20500467</guid></item><item><title><![CDATA[New comment by grumdan in "How is it like to be a dev in Iran"]]></title><description><![CDATA[
<p>> [...] is as worse as hanging them<p>> I know that Iran is worse<p>Which one is it?</p>
]]></description><pubDate>Mon, 22 Jul 2019 08:34:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=20496233</link><dc:creator>grumdan</dc:creator><comments>https://news.ycombinator.com/item?id=20496233</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=20496233</guid></item><item><title><![CDATA[New comment by grumdan in "Preserving Laptop Stickers on MacBooks"]]></title><description><![CDATA[
<p>> Everyone already agrees with you.<p>That's really not my experience. A significant portion of people I meet, including technical people, articulate some form of "I have nothing to hide, so I don't care" when the topic comes up.</p>
]]></description><pubDate>Thu, 11 Jul 2019 09:10:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=20410160</link><dc:creator>grumdan</dc:creator><comments>https://news.ycombinator.com/item?id=20410160</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=20410160</guid></item><item><title><![CDATA[New comment by grumdan in "Rsync, GUIs, power, control, design, and decisions"]]></title><description><![CDATA[
<p>While disk space may not often be an issue (though small SSDs are commonplace), RAM usage certainly is an issue if every little tool is an electron app.</p>
]]></description><pubDate>Tue, 09 Jul 2019 19:52:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=20395885</link><dc:creator>grumdan</dc:creator><comments>https://news.ycombinator.com/item?id=20395885</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=20395885</guid></item><item><title><![CDATA[New comment by grumdan in "YouTube's ban on “hacking techniques” threatens to shut down infosec YouTube"]]></title><description><![CDATA[
<p>If that were such a big factor, then allowing guns wouldn't make a difference, as criminal could still choose to carry a knife for this reason.</p>
]]></description><pubDate>Sun, 07 Jul 2019 10:52:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=20374510</link><dc:creator>grumdan</dc:creator><comments>https://news.ycombinator.com/item?id=20374510</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=20374510</guid></item><item><title><![CDATA[New comment by grumdan in "Choose Boring Technology"]]></title><description><![CDATA[
<p>I know the comment you replied to was in jest, but he did actually say quite the contrary (at least according to Theravada, one major Buddhist tradition): He in several places said the point of all his teachings was to help people put an end to suffering; he only taught the particular things he taught because according to him, they were the best/only way of reaching that goal.<p>Some schools even go so far as to say that the Buddhist path is something to let go of as well at the very end of the process in order to truly reach enlightenment. It's only a tool to get there.</p>
]]></description><pubDate>Tue, 02 Jul 2019 22:30:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=20339978</link><dc:creator>grumdan</dc:creator><comments>https://news.ycombinator.com/item?id=20339978</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=20339978</guid></item></channel></rss>