<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: faresahmed</title><link>https://news.ycombinator.com/user?id=faresahmed</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sat, 24 Oct 2026 17:12:28 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=faresahmed" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by faresahmed in "LLMs are making formal software verification feasible at a much larger scale"]]></title><description><![CDATA[
<p>Also see: <a href="https://en.wikipedia.org/wiki/Reward_hacking" rel="nofollow">https://en.wikipedia.org/wiki/Reward_hacking</a></p>
]]></description><pubDate>Fri, 23 Oct 2026 11:44:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=50207445</link><dc:creator>faresahmed</dc:creator><comments>https://news.ycombinator.com/item?id=50207445</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50207445</guid></item><item><title><![CDATA[New comment by faresahmed in "A Design Space Exploration of Async/Await"]]></title><description><![CDATA[
<p>I had a similar course, "Concepts of Programming Languages". The accompanying textbook was by Robert Sebest under the same name.</p>
]]></description><pubDate>Sat, 12 Sep 2026 13:09:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=49671987</link><dc:creator>faresahmed</dc:creator><comments>https://news.ycombinator.com/item?id=49671987</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49671987</guid></item><item><title><![CDATA[New comment by faresahmed in "Assembly Hall of Shame"]]></title><description><![CDATA[
<p>Sorry for nitpicking but the logical inverse of this statement is the stronger and more appropriate version:
If some app does not respond in 10ms or less, it is not interactive.</p>
]]></description><pubDate>Fri, 07 Aug 2026 22:19:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=49216899</link><dc:creator>faresahmed</dc:creator><comments>https://news.ycombinator.com/item?id=49216899</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49216899</guid></item><item><title><![CDATA[New comment by faresahmed in "Overloaded Overloading"]]></title><description><![CDATA[
<p>Another comment already explains that this is regular method overriding in Python. Surely, some languages call user-defined operators 'Operator overloading' (e.g. C#) but the mechanism which Python uses (an `object` base class) IS overriding.<p>As to overloading as in multiple signatures (No types here!) for the same method name, it is not possible in the regular sense in Python since an object is more or less a dictionary of names. However, the dynamicity of the language will happily allow you to simulate it with YOUR own rules for disambiguation if you like. In practice, you'd 1. Don't 2. *args, **kwargs, Branches of is None and isinstance, etc.</p>
]]></description><pubDate>Sun, 26 Jul 2026 14:48:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=49058748</link><dc:creator>faresahmed</dc:creator><comments>https://news.ycombinator.com/item?id=49058748</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49058748</guid></item><item><title><![CDATA[New comment by faresahmed in "An incoherent Rust"]]></title><description><![CDATA[
<p>Take a look at <a href="https://contextgeneric.dev" rel="nofollow">https://contextgeneric.dev</a>, it's as close as one can get to solving this issue without modifying rustc.</p>
]]></description><pubDate>Tue, 24 Mar 2026 00:13:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=47496962</link><dc:creator>faresahmed</dc:creator><comments>https://news.ycombinator.com/item?id=47496962</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47496962</guid></item><item><title><![CDATA[C++ Modules Are Here to Stay]]></title><description><![CDATA[
<p>Article URL: <a href="https://faresbakhit.github.io/e/cpp-modules/">https://faresbakhit.github.io/e/cpp-modules/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46741602">https://news.ycombinator.com/item?id=46741602</a></p>
<p>Points: 78</p>
<p># Comments: 140</p>
]]></description><pubDate>Sat, 24 Jan 2026 06:49:05 +0000</pubDate><link>https://faresbakhit.github.io/e/cpp-modules/</link><dc:creator>faresahmed</dc:creator><comments>https://news.ycombinator.com/item?id=46741602</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46741602</guid></item><item><title><![CDATA[New comment by faresahmed in "Super-Flat ASTs"]]></title><description><![CDATA[
<p>I think that it's a generic programming problem: pointers are easier because the type of the pointee is easy to get (a deref) and also its location (memory) but with index-based handles into containers you can no longer say that given a handle `H` (type H = u32) I can use it to get a type `T` and not only that, you've also introduced the notion of "where", that even if for each type `T` there exists a unique handle type `H` you don't know into which container instance does that handle belong. What you need is a unique handle type per container instance. So "Handle of Pool<T>" != "Handle of Pool<T>" unless the Pool is bound to the same variable.<p>As far as I know no language allows expressing that kind of thing.</p>
]]></description><pubDate>Wed, 10 Dec 2025 19:50:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=46222735</link><dc:creator>faresahmed</dc:creator><comments>https://news.ycombinator.com/item?id=46222735</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46222735</guid></item><item><title><![CDATA[New comment by faresahmed in "How to grow almost anything"]]></title><description><![CDATA[
<p>Off topic, but Notion is a perfect example of how badly you can abuse web standards. This webpage, which is a document with some markup and links (the very thing the web was made for) takes ~600MB RAM, about 10 seconds load, and lags terribly. Just unusable.</p>
]]></description><pubDate>Mon, 04 Aug 2025 00:01:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=44780916</link><dc:creator>faresahmed</dc:creator><comments>https://news.ycombinator.com/item?id=44780916</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44780916</guid></item><item><title><![CDATA[EĿlipsis, a Language Independent Preprocessor]]></title><description><![CDATA[
<p>Article URL: <a href="https://gustedt.gitlabpages.inria.fr/ellipsis/index.html">https://gustedt.gitlabpages.inria.fr/ellipsis/index.html</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=44418166">https://news.ycombinator.com/item?id=44418166</a></p>
<p>Points: 4</p>
<p># Comments: 1</p>
]]></description><pubDate>Mon, 30 Jun 2025 01:08:45 +0000</pubDate><link>https://gustedt.gitlabpages.inria.fr/ellipsis/index.html</link><dc:creator>faresahmed</dc:creator><comments>https://news.ycombinator.com/item?id=44418166</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44418166</guid></item><item><title><![CDATA[New comment by faresahmed in "Self-hosted x86 back end is now default in debug mode"]]></title><description><![CDATA[
<p>Not to disagree with you, but even C++ is going through great efforts to improve compile-times through C++20 modules and C++23 standard library modules (import std;). Although no compiler fully supports both, you can get an idea of how they can improve compile-times with clang and libc++<p><pre><code>    $ # No modules
    $ clang++ -std=c++23 -stdlib=libc++ a.cpp # 4.8s
    $ # With modules
    $ clang++ -std=c++23 -stdlib=libc++ --precompile -o std.pcm /path/to/libc++/v1/std.cppm # 4.6s but this is done once
    $ clang++ -std=c++23 -stdlib=libc++ -fmodule-file=std=std.pcm b.cpp # 1.5s 
</code></pre>
a.cpp and b.cpp are equivalent but b.cpp does `import std;` and a.cpp imports every standard C++ header file (same thing as import std, you can find them in libc++' std.cppm).<p>Notice that this is an extreme example since we're importing the whole standard library and is actually discouraged [^1]. Instead you can get through the day with just these flags: `-stdlib=libc++ -fimplicit-modules -fimplicit-module-maps` and of course -std=c++20 or later, no extra files/commands required! but you are only restricted to doing import <vector>; and such, no import std.<p>[^1]: non-standard headers like `bits/stdc++.h` which does the same thing (#including the whole standard library) is what is actually discouraged because a. non-standard and b. compile-times, but I can see `import std` solving these two and being encouraged once it's widely available!</p>
]]></description><pubDate>Mon, 09 Jun 2025 09:14:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=44222637</link><dc:creator>faresahmed</dc:creator><comments>https://news.ycombinator.com/item?id=44222637</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44222637</guid></item><item><title><![CDATA[New comment by faresahmed in "CSS Minecraft"]]></title><description><![CDATA[
<p>Makes you wonder, how many webpages are dependant on such services. The Web has always been brittle, but it's a little sad seeing a website not able to survive ~50k users on its first day online.<p>Even the least offenders, GitHub Pages, broke links before [0].<p>[0]: <a href="https://github.blog/news-insights/product-news/new-github-pages-domain-github-io/" rel="nofollow">https://github.blog/news-insights/product-news/new-github-pa...</a></p>
]]></description><pubDate>Tue, 27 May 2025 18:36:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=44109527</link><dc:creator>faresahmed</dc:creator><comments>https://news.ycombinator.com/item?id=44109527</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44109527</guid></item><item><title><![CDATA[New comment by faresahmed in "Why I no longer have an old-school cert on my HTTPS site"]]></title><description><![CDATA[
<p>Not so much,<p><pre><code>    >>> s="1"+"0"*4300
    >>> json.loads(s)
    ...
    ValueError: Exceeds the limit (4300 digits) for integer string conversion: 
    value has 4301 digits; use sys.set_int_max_str_digits() to increase the limit
</code></pre>
This was done to prevent DoS attacks 3 years ago and have been backported to at least CPython 3.9 as it was considered a CVE.<p>Relevant discussion: <a href="https://news.ycombinator.com/item?id=32753235">https://news.ycombinator.com/item?id=32753235</a><p>Your sibling comment suggests using decimal.Decimal which handles parsing >4300 digit numbers (by default).</p>
]]></description><pubDate>Sat, 24 May 2025 01:29:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=44078110</link><dc:creator>faresahmed</dc:creator><comments>https://news.ycombinator.com/item?id=44078110</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44078110</guid></item><item><title><![CDATA[New comment by faresahmed in "Mystical"]]></title><description><![CDATA[
<p>It has been kind of made into a movie! The Heptapods [0] in Arrival (2016) written script is a circular shape with each subsection of the shape conveying a different meaning ultimately representing a concept or thought. A quote from the movie:<p>> Like their ship or their bodies, their written language has no forward or backward direction. Linguists call this "nonlinear orthography", which raises the question: Is this how they think?<p>While the movie explores philosophical questions other than "Arrival" and does a quiet beautiful job at that, actual linguistic experts have helped making it and it has been praised for its accuracy. I suggest you give it a go.<p>[0]: <a href="https://aliens.fandom.com/wiki/Heptapod" rel="nofollow">https://aliens.fandom.com/wiki/Heptapod</a></p>
]]></description><pubDate>Sun, 18 May 2025 11:06:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=44020449</link><dc:creator>faresahmed</dc:creator><comments>https://news.ycombinator.com/item?id=44020449</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44020449</guid></item><item><title><![CDATA[New comment by faresahmed in "When Compiler Engineers Act as Judges, What Can Possibly Go Wrong?"]]></title><description><![CDATA[
<p>I'm not quiet sure why a non-technical person would be engaging in a technical matter such as compiling LLVM, they say they are involved with some Arch Linux derivative but again the question persists.</p>
]]></description><pubDate>Mon, 12 May 2025 13:34:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=43962715</link><dc:creator>faresahmed</dc:creator><comments>https://news.ycombinator.com/item?id=43962715</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43962715</guid></item><item><title><![CDATA[New comment by faresahmed in "Show HN: Test your typing speed and accuracy with movie scripts"]]></title><description><![CDATA[
<p>Same here, the title even says "TypeScript" not "Typescript" but whatever.<p>I think what's somehow interesting about this is in the footer of the page:<p><pre><code>    Autonomously crafted in 15m 4s by Leap.new
</code></pre>
Could be some form of advertisement (with a click-baity title too? wouldn't be surprised if that also was AI-generated).</p>
]]></description><pubDate>Thu, 08 May 2025 17:27:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=43928720</link><dc:creator>faresahmed</dc:creator><comments>https://news.ycombinator.com/item?id=43928720</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43928720</guid></item><item><title><![CDATA[Show HN: Vole Machine ISA Simulator]]></title><description><![CDATA[
<p>Just sharing this project [0] I've worked on a while ago, it's not that interesting
but I was proud of making it. It has a CLI and a GUI that is done with Dear ImGui
and includes an instruction editor, memory and registers viewer, and a canvas that
is manipulated with an extra instruction made specifically for the GUI!<p>This is not my first attempt at a virtual machine implementation, I've done the
popular LC-3 VM before [1], check it out if you're interested to see Rust code
rather than C++ ;)<p>[0]: <a href="https://github.com/faresbakhit/vole-sim">https://github.com/faresbakhit/vole-sim</a><p>[1]: <a href="https://github.com/faresbakhit/lc3-vm">https://github.com/faresbakhit/lc3-vm</a></p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=42817123">https://news.ycombinator.com/item?id=42817123</a></p>
<p>Points: 11</p>
<p># Comments: 3</p>
]]></description><pubDate>Fri, 24 Jan 2025 21:32:50 +0000</pubDate><link>https://faresbakhit.github.io/vole-sim/</link><dc:creator>faresahmed</dc:creator><comments>https://news.ycombinator.com/item?id=42817123</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42817123</guid></item><item><title><![CDATA[New comment by faresahmed in "When will we fix the tools that run the world?"]]></title><description><![CDATA[
<p>I disagree, many businesses that put their software in maintenance mode (fix/upgrade on breakage) will be losing money in the long run.<p>Consider a hospital, many statistics can be collected o provide insights and make immediate decisions, faster algorithms and new ones to problems we couldn't solve back then have been discovered, the UI/UX can always be improved for productivity, etc. All of that makes money.<p>Software customers aren't, and shouldn't be, one-time shoppers; there's always room for improvement and new needs pop up all the time.</p>
]]></description><pubDate>Wed, 08 Jan 2025 03:43:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=42630674</link><dc:creator>faresahmed</dc:creator><comments>https://news.ycombinator.com/item?id=42630674</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42630674</guid></item><item><title><![CDATA[Hackers, Wizards of the Electronic Age (1985)]]></title><description><![CDATA[
<p>Article URL: <a href="https://archive.org/details/Hackers_201808">https://archive.org/details/Hackers_201808</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=42252915">https://news.ycombinator.com/item?id=42252915</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Wed, 27 Nov 2024 04:20:30 +0000</pubDate><link>https://archive.org/details/Hackers_201808</link><dc:creator>faresahmed</dc:creator><comments>https://news.ycombinator.com/item?id=42252915</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42252915</guid></item><item><title><![CDATA[Forscape – A Language and Editor for Scientific Computation]]></title><description><![CDATA[
<p>Article URL: <a href="https://github.com/JohnDTill/Forscape">https://github.com/JohnDTill/Forscape</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=41846986">https://news.ycombinator.com/item?id=41846986</a></p>
<p>Points: 105</p>
<p># Comments: 33</p>
]]></description><pubDate>Tue, 15 Oct 2024 10:14:41 +0000</pubDate><link>https://github.com/JohnDTill/Forscape</link><dc:creator>faresahmed</dc:creator><comments>https://news.ycombinator.com/item?id=41846986</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41846986</guid></item><item><title><![CDATA[New comment by faresahmed in "One in five genetics papers contains errors thanks to Excel (2016)"]]></title><description><![CDATA[
<p>Excel can also send mail through VBA scripts, thus satisfying Zawinski's Law[1].<p>[1] <a href="http://www.catb.org/jargon/html/Z/Zawinskis-Law.html" rel="nofollow">http://www.catb.org/jargon/html/Z/Zawinskis-Law.html</a></p>
]]></description><pubDate>Sun, 15 Sep 2024 03:39:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=41545025</link><dc:creator>faresahmed</dc:creator><comments>https://news.ycombinator.com/item?id=41545025</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41545025</guid></item></channel></rss>