<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: akdas</title><link>https://news.ycombinator.com/user?id=akdas</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Thu, 23 Apr 2026 11:42:46 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=akdas" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by akdas in "Try to take my position: The best promotion advice I ever got"]]></title><description><![CDATA[
<p>One thing that I've seen implemented to prevent that is to have the pay bands for level N and N+1 overlap. So in the time that you're doing "next level" work, you're expecting to be at the top of your current pay band, and then the promotion doesn't automatically give you a big pay raise, but it unlocks a pay band that you can go up in.<p>This works if performing at the top of your current level equates to performing at the bottom of the next level. That said, there's a problem where sometimes a "promotion" is really a new role, meaning to perform at the next level, you have to kind of not perform well at the current level.</p>
]]></description><pubDate>Mon, 05 Jan 2026 23:48:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=46506865</link><dc:creator>akdas</dc:creator><comments>https://news.ycombinator.com/item?id=46506865</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46506865</guid></item><item><title><![CDATA[New comment by akdas in "Shaders: How to draw high fidelity graphics with just x and y coordinates"]]></title><description><![CDATA[
<p>Shameless plug, but I wrote some blog posts because I had a lot of the same questions. In my case, I wanted to learn the WebGL APIs, so I wrote two posts:<p>* <a href="https://avikdas.com/2020/07/08/barebones-webgl-in-75-lines-of-code.html" rel="nofollow">https://avikdas.com/2020/07/08/barebones-webgl-in-75-lines-o...</a><p>* <a href="https://avikdas.com/2020/07/21/barebones-3d-rendering-with-webgl.html" rel="nofollow">https://avikdas.com/2020/07/21/barebones-3d-rendering-with-w...</a><p>I still go back to them myself to refresh my memory. It's funny that I called this a lot of boilerplate, but Vulkan is known to have even more.<p>This won't answer all your questions, but maybe it'll answer some of them.</p>
]]></description><pubDate>Sun, 23 Nov 2025 23:16:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=46028336</link><dc:creator>akdas</dc:creator><comments>https://news.ycombinator.com/item?id=46028336</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46028336</guid></item><item><title><![CDATA[New comment by akdas in "Writing a Self-Mutating x86_64 C Program (2013)"]]></title><description><![CDATA[
<p>I was thinking the same thing. Usually, you'd want to write the new code to a page that you mark as read and write, then switch that page to read and execute. This becomes tricky if the code that's doing the modifying is in the same page as the code being modified.</p>
]]></description><pubDate>Sun, 25 May 2025 18:42:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=44089917</link><dc:creator>akdas</dc:creator><comments>https://news.ycombinator.com/item?id=44089917</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44089917</guid></item><item><title><![CDATA[LLMs are like compilers, sort of]]></title><description><![CDATA[
<p>Article URL: <a href="https://avikdas.com/2025/05/05/llms-are-like-compilers-sort-of.html">https://avikdas.com/2025/05/05/llms-are-like-compilers-sort-of.html</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=43895991">https://news.ycombinator.com/item?id=43895991</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Mon, 05 May 2025 15:15:57 +0000</pubDate><link>https://avikdas.com/2025/05/05/llms-are-like-compilers-sort-of.html</link><dc:creator>akdas</dc:creator><comments>https://news.ycombinator.com/item?id=43895991</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43895991</guid></item><item><title><![CDATA[New comment by akdas in "Neut Programming Language"]]></title><description><![CDATA[
<p>To expand on this: the "unit" here represents the number of possible values that can be returned.<p>The confusion is probably because "empty" can mean two things:<p>- What's <i>inside</i> the returned value. That may be why the parent suggested empty for the unit type. But that's now what "unit" means in the common parlance.<p>- How many possible values can be returned. Never returning means the function has zero possible return values.</p>
]]></description><pubDate>Tue, 25 Feb 2025 01:17:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=43166919</link><dc:creator>akdas</dc:creator><comments>https://news.ycombinator.com/item?id=43166919</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43166919</guid></item><item><title><![CDATA[New comment by akdas in "WASM will replace containers"]]></title><description><![CDATA[
<p>The Birth and Death of Javascript. One of my favorites! <a href="https://www.destroyallsoftware.com/talks/the-birth-and-death-of-javascript" rel="nofollow">https://www.destroyallsoftware.com/talks/the-birth-and-death...</a></p>
]]></description><pubDate>Wed, 12 Feb 2025 06:38:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=43022534</link><dc:creator>akdas</dc:creator><comments>https://news.ycombinator.com/item?id=43022534</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43022534</guid></item><item><title><![CDATA[New comment by akdas in "Optimizing Ruby's JSON, Part 4"]]></title><description><![CDATA[
<p>I recommend reading the previous 3 parts too, plus I'm looking forward to the next parts. I love that it goes into details and very clearly explains the problems and solutions, at least if you're familiar with C and know some things about compiler implementations.</p>
]]></description><pubDate>Fri, 03 Jan 2025 00:25:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=42580654</link><dc:creator>akdas</dc:creator><comments>https://news.ycombinator.com/item?id=42580654</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42580654</guid></item><item><title><![CDATA[Reflecting on ten years of my personal project]]></title><description><![CDATA[
<p>Article URL: <a href="https://avikdas.com/2025/01/01/reflecting-on-ten-years-of-my-personal-project.html">https://avikdas.com/2025/01/01/reflecting-on-ten-years-of-my-personal-project.html</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=42575651">https://news.ycombinator.com/item?id=42575651</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Thu, 02 Jan 2025 16:10:12 +0000</pubDate><link>https://avikdas.com/2025/01/01/reflecting-on-ten-years-of-my-personal-project.html</link><dc:creator>akdas</dc:creator><comments>https://news.ycombinator.com/item?id=42575651</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42575651</guid></item><item><title><![CDATA[New comment by akdas in "A Simple ELF"]]></title><description><![CDATA[
<p>A while ago, I created an interactive explanation of the different parts of a minimal ELF file: <a href="https://scratchpad.avikdas.com/elf-explanation/elf-explanation.html" rel="nofollow">https://scratchpad.avikdas.com/elf-explanation/elf-explanati...</a><p>I wrote this page for my own compiler that I'm working on, but I think it would be a good complement to this article. Note that the page is not that great on mobile, the extra real estate on desktop really helps.</p>
]]></description><pubDate>Thu, 26 Dec 2024 20:35:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=42517592</link><dc:creator>akdas</dc:creator><comments>https://news.ycombinator.com/item?id=42517592</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42517592</guid></item><item><title><![CDATA[New comment by akdas in "Immersive Linear Algebra (2015)"]]></title><description><![CDATA[
<p>I started on two resources on different topics. One day, I want you invest a good amount of time into building them out.<p><a href="https://cstheory.avikdas.com/" rel="nofollow">https://cstheory.avikdas.com/</a><p><a href="https://nesdev.avikdas.com/" rel="nofollow">https://nesdev.avikdas.com/</a></p>
]]></description><pubDate>Sun, 12 May 2024 01:58:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=40331873</link><dc:creator>akdas</dc:creator><comments>https://news.ycombinator.com/item?id=40331873</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40331873</guid></item><item><title><![CDATA[New comment by akdas in "How is a binary executable organized? Let's explore it (2014)"]]></title><description><![CDATA[
<p>Thank you! My passion is teaching, and I created interactive visualizations for a CS theory class I taught: <a href="https://cstheory.avikdas.com/" rel="nofollow">https://cstheory.avikdas.com/</a><p>If you're interested in collaborating for your classes, reach out to avik at avikdas dot com</p>
]]></description><pubDate>Sat, 03 Feb 2024 18:59:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=39243525</link><dc:creator>akdas</dc:creator><comments>https://news.ycombinator.com/item?id=39243525</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39243525</guid></item><item><title><![CDATA[New comment by akdas in "How is a binary executable organized? Let's explore it (2014)"]]></title><description><![CDATA[
<p>Thank you! That means a lot to me</p>
]]></description><pubDate>Sat, 03 Feb 2024 18:57:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=39243502</link><dc:creator>akdas</dc:creator><comments>https://news.ycombinator.com/item?id=39243502</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39243502</guid></item><item><title><![CDATA[New comment by akdas in "How is a binary executable organized? Let's explore it (2014)"]]></title><description><![CDATA[
<p>Thanks for the feedback. I replied in a sibling comment about how I made it.<p>For the bug, feel free to email me at avik at avikdas dot com if you'd like. The behavior I verified just now (for me) is that if you click one byte to highlight it, then clicking any other byte in the same group will remove the highlighting.</p>
]]></description><pubDate>Sat, 03 Feb 2024 03:11:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=39237227</link><dc:creator>akdas</dc:creator><comments>https://news.ycombinator.com/item?id=39237227</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39237227</guid></item><item><title><![CDATA[New comment by akdas in "How is a binary executable organized? Let's explore it (2014)"]]></title><description><![CDATA[
<p>I wrote it all by hand :)<p>Lately, I've been using Svelte for interactive visualizations (see my post on using a tool called Astro with Svelte: <a href="https://avikdas.com/2023/12/30/interactive-demos-using-astro.html" rel="nofollow">https://avikdas.com/2023/12/30/interactive-demos-using-astro...</a> ). But this one is all hand-written JS!</p>
]]></description><pubDate>Sat, 03 Feb 2024 01:28:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=39236761</link><dc:creator>akdas</dc:creator><comments>https://news.ycombinator.com/item?id=39236761</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39236761</guid></item><item><title><![CDATA[New comment by akdas in "How is a binary executable organized? Let's explore it (2014)"]]></title><description><![CDATA[
<p>Writing an ELF file by hand is something I did recently: <a href="https://github.com/avik-das/garlic/blob/master/recursive/elf-exploration/write-elf.rb">https://github.com/avik-das/garlic/blob/master/recursive/elf...</a><p>To explain the format to myself and others, I also created an interactive visualization for the bytes in the file. It helps me to click on a byte, see an explanation for it and see related bytes elsewhere in the file highlighted. <a href="https://scratchpad.avikdas.com/elf-explanation/elf-explanation.html" rel="nofollow">https://scratchpad.avikdas.com/elf-explanation/elf-explanati...</a></p>
]]></description><pubDate>Fri, 02 Feb 2024 20:27:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=39233847</link><dc:creator>akdas</dc:creator><comments>https://news.ycombinator.com/item?id=39233847</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39233847</guid></item><item><title><![CDATA[New comment by akdas in "Implementing a Minesweeper clone for the Gameboy Advance"]]></title><description><![CDATA[
<p>All things considered, the GBA is a pretty powerful machine. Running an ARM processor is helpful too, as high-level language compilers that output high-quality ARM code are common. It's for this reason the GBA is one of my favorite machines, since it hits that sweet spot between simplicity and power.<p>It's the Gameboy and the NES, running a Z80-style and a 6502-style processor respectively, that typically need more hand-holding from manually written assembly code. It's not just the processor but the lack of hardware features (such as lacking multiple background layers, the relatively low number of sprites that can be on screen at a time, etc.) that result in squeezing out extra performance to overcome these limitations in creative ways. Compare that to the minesweeper game just rendering all the board cells as sprites!</p>
]]></description><pubDate>Wed, 27 Dec 2023 06:24:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=38779583</link><dc:creator>akdas</dc:creator><comments>https://news.ycombinator.com/item?id=38779583</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38779583</guid></item><item><title><![CDATA[New comment by akdas in "How Hackerman would create an image just by typing 0 and 1 – deep dive into GIF"]]></title><description><![CDATA[
<p>I absolutely love the "What's In A GIF" series. It's what inspired me to write my own GIF decoder while learning Erlang at the same time: <a href="https://github.com/avik-das/giferly">https://github.com/avik-das/giferly</a><p>The first time around, I struggled a lot with decoding errors. Many years later, after being a more experienced developer, I wrote the LZW decompression with unit tests. Doing so forced me to think about each edge case, and fix issues without breaking existing functionality. Very quickly, I was able to open pretty much any GIF file I threw at it!</p>
]]></description><pubDate>Thu, 07 Dec 2023 05:45:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=38553268</link><dc:creator>akdas</dc:creator><comments>https://news.ycombinator.com/item?id=38553268</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38553268</guid></item><item><title><![CDATA[My Two Semesters of Teaching]]></title><description><![CDATA[
<p>Article URL: <a href="https://avikdas.com/2023/07/17/my-two-semesters-of-teaching.html">https://avikdas.com/2023/07/17/my-two-semesters-of-teaching.html</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=36760054">https://news.ycombinator.com/item?id=36760054</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Mon, 17 Jul 2023 16:17:56 +0000</pubDate><link>https://avikdas.com/2023/07/17/my-two-semesters-of-teaching.html</link><dc:creator>akdas</dc:creator><comments>https://news.ycombinator.com/item?id=36760054</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36760054</guid></item><item><title><![CDATA[New comment by akdas in "Ask HN: Could you share your personal blog here?"]]></title><description><![CDATA[
<p><a href="https://avikdas.com" rel="nofollow noreferrer">https://avikdas.com</a><p>A few of my posts on dynamic programming got a fair bit of traction here on HN.<p>I haven't posted in a while, but after a busy few years, I have some posts lined up. I want to reflect on some teaching I did (one big reason I didn't have time to blog), as well as document me getting a new home server set up (this time with containers, finally).</p>
]]></description><pubDate>Tue, 04 Jul 2023 17:30:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=36589861</link><dc:creator>akdas</dc:creator><comments>https://news.ycombinator.com/item?id=36589861</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36589861</guid></item><item><title><![CDATA[New comment by akdas in "Ask HN: What has your personal website/blog done for you?"]]></title><description><![CDATA[
<p>I haven't written in a while, but the first year I started blogging, I set a goal to write at least one article each month for a year. I reflected on it after the 12 months. The highlights:<p>- I got to the front page of HN a few times. Definitely a vanity thing, but it was fun!<p>- My posts on dynamic programming, which got a lot of traction, resulted in someone I knew reaching out to ask me to speak at a conference they organize. The conference didn't result in much professionally, but I love public speaking. It was just a great experience.<p>- I mentioned off-hand that I got to talk about DP, and that got me connected with someone who was able to create a video course on the topic. I learned a ton thanks to their guidance on things like how to organize smaller chunks of information that build up to a bigger course.<p>- Another post about mental health got me a chance to be interviewed on a podcast. I'm a huge podcast listener, so I was ecstatic about actually being on one!<p>With the confidence from the 12-month experiment, I then decided to write weekly about hiring in the tech industry, a topic I'm passionate about. I kept that up every week for over a year! What came out of that is I had a bunch of thoughts floating around in my head, and now I have them documented. Now if I want to bring up something about hiring, I probably already have an article I can just link instead of explaining it from scratch. The same actually applies to some topics on my personal blog.<p>EDITED: Regarding that last point, I've been setting up a Raspberry Pi after a few years. Having some notes documented has been invaluable for myself.</p>
]]></description><pubDate>Fri, 17 Mar 2023 17:51:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=35200413</link><dc:creator>akdas</dc:creator><comments>https://news.ycombinator.com/item?id=35200413</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=35200413</guid></item></channel></rss>