<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: jaseemabid</title><link>https://news.ycombinator.com/user?id=jaseemabid</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Thu, 30 Apr 2026 20:16:14 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=jaseemabid" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by jaseemabid in "Show HN: SQLite disk page explorer"]]></title><description><![CDATA[
<p>I recently wrote an explainer for the sqlite file format with some helpful diagrams. This might help.<p><a href="https://blog.jabid.in/2024/11/24/sqlite.html" rel="nofollow">https://blog.jabid.in/2024/11/24/sqlite.html</a></p>
]]></description><pubDate>Thu, 06 Feb 2025 23:15:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=42967461</link><dc:creator>jaseemabid</dc:creator><comments>https://news.ycombinator.com/item?id=42967461</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42967461</guid></item><item><title><![CDATA[New comment by jaseemabid in "Every System is a Log: Avoiding coordination in distributed applications"]]></title><description><![CDATA[
<p>Immutable append only persistent log doesn't imply store everything _forever_.<p>If you want to remove something you could add a tombstone record (like Cassandra) and eventually remove the original entry during routine maintenance operations like repacking into a more efficient format, archival into cold storage, TTL handling etc.</p>
]]></description><pubDate>Fri, 24 Jan 2025 16:35:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=42814776</link><dc:creator>jaseemabid</dc:creator><comments>https://news.ycombinator.com/item?id=42814776</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42814776</guid></item><item><title><![CDATA[New comment by jaseemabid in "Every System is a Log: Avoiding coordination in distributed applications"]]></title><description><![CDATA[
<p>A notable example of a large-scale app built with a very similar architecture is ATproto/Bluesky[1].<p>"ATProto for Distributed Systems Engineers" describes how updates from the users end up in their own small databases (called PDS) and then a replicated log. What we traditionally think of as an API server (called a view server in ATProto) is simply one among the many materializations of this log.<p>I personally find this model of thinking about dataflow in large-scale apps pretty neat and easy to understand. The parallels are unsurprising since both the Restate blog and ATProto docs link to the same blog post by Martin Kleppmann.<p>This arch seems to be working really well for Bluesky, as they clearly aced through multiple 10x events very recently.<p>[1]: <a href="https://atproto.com/articles/atproto-for-distsys-engineers" rel="nofollow">https://atproto.com/articles/atproto-for-distsys-engineers</a></p>
]]></description><pubDate>Fri, 24 Jan 2025 15:05:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=42813692</link><dc:creator>jaseemabid</dc:creator><comments>https://news.ycombinator.com/item?id=42813692</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42813692</guid></item><item><title><![CDATA[New comment by jaseemabid in "Pkl, a Programming Language for Configuration"]]></title><description><![CDATA[
<p>Pkl was one of the best internal tools at Apple, and it’s so good to see it finally getting open sourced.<p>My team migrated several kloc k8s configuration to pkl with great success. Internally we used to write alert definitions in pkl and it would generate configuration for 2 different monitoring tools, a pretty static documentation site and link it all together nicely.<p>Would gladly recommend this to anyone and I’m excited to be able to use this again.</p>
]]></description><pubDate>Fri, 02 Feb 2024 22:38:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=39235425</link><dc:creator>jaseemabid</dc:creator><comments>https://news.ycombinator.com/item?id=39235425</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39235425</guid></item><item><title><![CDATA[New comment by jaseemabid in "Instagram’s co-founders are back with Artifact, a kind of TikTok for text"]]></title><description><![CDATA[
<p>This is what I wanted Apple News to be.<p>I wish it would give me a good curated news feed from dozens of sources, and adapt based on feedback. I badly wanted to love it, but no matter how much I tried it ended up looking something like a mix of Buzzfeed and Murdoch propaganda.<p>Happy to see the idea is not dead and new companies are giving it a shot.</p>
]]></description><pubDate>Thu, 02 Feb 2023 00:19:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=34620212</link><dc:creator>jaseemabid</dc:creator><comments>https://news.ycombinator.com/item?id=34620212</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=34620212</guid></item><item><title><![CDATA[New comment by jaseemabid in "WebKit Quirks.cpp"]]></title><description><![CDATA[
<p>Knowing apple, its probably illegal for those 2 teams to talk to each other.</p>
]]></description><pubDate>Sun, 16 Oct 2022 11:07:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=33222726</link><dc:creator>jaseemabid</dc:creator><comments>https://news.ycombinator.com/item?id=33222726</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=33222726</guid></item><item><title><![CDATA[New comment by jaseemabid in "How to find a domain's authoritative nameservers"]]></title><description><![CDATA[
<p>Great post! I find it interesting that all root servers are located in United States. Should some of them be elsewhere for redundancy?</p>
]]></description><pubDate>Tue, 11 Jan 2022 17:00:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=29894139</link><dc:creator>jaseemabid</dc:creator><comments>https://news.ycombinator.com/item?id=29894139</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=29894139</guid></item><item><title><![CDATA[New comment by jaseemabid in "Prettifying Org Mode with CSS"]]></title><description><![CDATA[
<p>There is a solarized version as well which I've used a few times in the past. <a href="https://thomasf.github.io/solarized-css" rel="nofollow">https://thomasf.github.io/solarized-css</a></p>
]]></description><pubDate>Sun, 10 May 2020 12:58:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=23132264</link><dc:creator>jaseemabid</dc:creator><comments>https://news.ycombinator.com/item?id=23132264</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=23132264</guid></item><item><title><![CDATA[New comment by jaseemabid in "UTF-8 Everywhere"]]></title><description><![CDATA[
<p>ASCII is English and limiting access to knowledge for the rest of humanity for a simpler encoding is just not an acceptable option. Someone needs to interpret those 7k words and write a (complicated?) program once so that billions can read in their own language? Sounds like an easy win to me.</p>
]]></description><pubDate>Tue, 14 Apr 2020 19:32:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=22870429</link><dc:creator>jaseemabid</dc:creator><comments>https://news.ycombinator.com/item?id=22870429</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=22870429</guid></item><item><title><![CDATA[What I talk about when I talk about Programming]]></title><description><![CDATA[
<p>Article URL: <a href="https://blog.jabid.in/2019/10/25/why.html">https://blog.jabid.in/2019/10/25/why.html</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=21353300">https://news.ycombinator.com/item?id=21353300</a></p>
<p>Points: 2</p>
<p># Comments: 1</p>
]]></description><pubDate>Fri, 25 Oct 2019 09:42:35 +0000</pubDate><link>https://blog.jabid.in/2019/10/25/why.html</link><dc:creator>jaseemabid</dc:creator><comments>https://news.ycombinator.com/item?id=21353300</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=21353300</guid></item><item><title><![CDATA[My favorite Rust function]]></title><description><![CDATA[
<p>Article URL: <a href="https://blog.jabid.in/2019/10/11/drop.html">https://blog.jabid.in/2019/10/11/drop.html</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=21236630">https://news.ycombinator.com/item?id=21236630</a></p>
<p>Points: 240</p>
<p># Comments: 183</p>
]]></description><pubDate>Sat, 12 Oct 2019 21:52:57 +0000</pubDate><link>https://blog.jabid.in/2019/10/11/drop.html</link><dc:creator>jaseemabid</dc:creator><comments>https://news.ycombinator.com/item?id=21236630</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=21236630</guid></item><item><title><![CDATA[New comment by jaseemabid in "Asian Americans are the least likely in the US to be promoted to management"]]></title><description><![CDATA[
<p>Does Asian include Indians as well? Kind of amusing since Apple and Google are both lead by "asian" immigrant men.</p>
]]></description><pubDate>Mon, 25 Jun 2018 09:29:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=17391025</link><dc:creator>jaseemabid</dc:creator><comments>https://news.ycombinator.com/item?id=17391025</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=17391025</guid></item><item><title><![CDATA[New comment by jaseemabid in "TopHN – When you have time for only one Hacker News story"]]></title><description><![CDATA[
<p>You just described subreddits.</p>
]]></description><pubDate>Tue, 20 Mar 2018 12:48:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=16628040</link><dc:creator>jaseemabid</dc:creator><comments>https://news.ycombinator.com/item?id=16628040</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=16628040</guid></item><item><title><![CDATA[New comment by jaseemabid in "Ask HN: What was the best CS paper you read in 2017?"]]></title><description><![CDATA[
<p>An Incremental Approach to Compiler Construction[1] by Abdulaziz Ghuloum.<p>The author presents a very approachable technique for building <i>pedagogical</i> compilers by starting with a tiny subset of the language - a language that can accept integers and print it and incrementally grows it into Scheme. Every step yields a fully working compiler for a progressively expanding subset of Scheme. Every compiler step produces real assembly code that can be assembled and executed directly by the hardware.<p>I've dabbled with compilers for a while now and in my experience I found this to be among the best ways to get people excited about compilers. There is some code available from Nada Amin[2] for the curious and I'm re implementing it from scratch again[3].<p>1. <a href="http://scheme2006.cs.uchicago.edu/11-ghuloum.pdf" rel="nofollow">http://scheme2006.cs.uchicago.edu/11-ghuloum.pdf</a><p>2. <a href="https://github.com/namin/inc" rel="nofollow">https://github.com/namin/inc</a><p>3. <a href="https://github.com/jaseemabid/inc" rel="nofollow">https://github.com/jaseemabid/inc</a></p>
]]></description><pubDate>Sun, 31 Dec 2017 05:51:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=16039546</link><dc:creator>jaseemabid</dc:creator><comments>https://news.ycombinator.com/item?id=16039546</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=16039546</guid></item><item><title><![CDATA[New comment by jaseemabid in "Why aren’t distributed systems engineers working on blockchain technology?"]]></title><description><![CDATA[
<p>RAFT is not BFT. You need nodes to cooperate. If the nodes lie, the system will collapse.</p>
]]></description><pubDate>Tue, 01 Aug 2017 19:38:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=14904531</link><dc:creator>jaseemabid</dc:creator><comments>https://news.ycombinator.com/item?id=14904531</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=14904531</guid></item><item><title><![CDATA[New comment by jaseemabid in "Lessons learned building a toy compiler"]]></title><description><![CDATA[
<p>I did exactly the same last night and you don't need the echo $? hack anymore.</p>
]]></description><pubDate>Fri, 07 Jul 2017 23:06:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=14722922</link><dc:creator>jaseemabid</dc:creator><comments>https://news.ycombinator.com/item?id=14722922</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=14722922</guid></item><item><title><![CDATA[New comment by jaseemabid in "Lessons learned building a toy compiler"]]></title><description><![CDATA[
<p>You read my mind :D</p>
]]></description><pubDate>Fri, 07 Jul 2017 19:36:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=14721395</link><dc:creator>jaseemabid</dc:creator><comments>https://news.ycombinator.com/item?id=14721395</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=14721395</guid></item><item><title><![CDATA[New comment by jaseemabid in "Lessons learned building a toy compiler"]]></title><description><![CDATA[
<p>Just tinkering with the tools and writing some code helped me a lot more than the university course I had 6 years ago. There are several beginner friendly online resources now including<p>1. Write a scheme in 48hrs in Haskell<p>2. Kaleidoscope tutorial by LLVM developers<p>3. <a href="http://www.buildyourownlisp.com" rel="nofollow">http://www.buildyourownlisp.com</a><p>4. <a href="http://createyourproglang.com" rel="nofollow">http://createyourproglang.com</a></p>
]]></description><pubDate>Fri, 07 Jul 2017 19:34:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=14721374</link><dc:creator>jaseemabid</dc:creator><comments>https://news.ycombinator.com/item?id=14721374</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=14721374</guid></item><item><title><![CDATA[New comment by jaseemabid in "Lessons learned building a toy compiler"]]></title><description><![CDATA[
<p>You are right, the compiler cannot handle much of higher order functions and closures yet. I have hinted how to do that with lambda lifting and closure conversion and I might get it working in the next few weeks. Maybe a part 2 for the blog post.</p>
]]></description><pubDate>Fri, 07 Jul 2017 19:30:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=14721342</link><dc:creator>jaseemabid</dc:creator><comments>https://news.ycombinator.com/item?id=14721342</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=14721342</guid></item><item><title><![CDATA[New comment by jaseemabid in "Lessons learned building a toy compiler"]]></title><description><![CDATA[
<p>You are right and calling it quintessential might be too much. Local lexing seems interesting, but the approach I used is called combinatorial parsing and it does parsing and lexing in one go because they are so intertwined anyway. This also lets me get to the AST in just one pass over the input string with very little backtracking.<p>I'll update the post with this feedback.Thank you.</p>
]]></description><pubDate>Fri, 07 Jul 2017 19:28:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=14721320</link><dc:creator>jaseemabid</dc:creator><comments>https://news.ycombinator.com/item?id=14721320</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=14721320</guid></item></channel></rss>