<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: laladrik</title><link>https://news.ycombinator.com/user?id=laladrik</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sun, 21 Jun 2026 12:04:36 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=laladrik" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by laladrik in "I Stored a Website in a Favicon"]]></title><description><![CDATA[
<p>The link is 404</p>
]]></description><pubDate>Sat, 20 Jun 2026 07:47:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=48607221</link><dc:creator>laladrik</dc:creator><comments>https://news.ycombinator.com/item?id=48607221</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48607221</guid></item><item><title><![CDATA[New comment by laladrik in "The state of building user interfaces in Rust"]]></title><description><![CDATA[
<p>When I was a student I had to make quite a few Qt application with C++ (for Linux).  However, I bring the food on the table doing web (recently only the backend).  During that time, the languages for web were something like Python - concise, convenient in terms of ecosystem and distribution, but bloated in terms of memory consumption.  "Hello World in Java almost doesn't hang" he-he.  Anyway, my first thought when I found Rust I dreamed to make a GUI application.<p>Unfortunately, I had the expectation that it should be as simple as making an HTML page. My failure to find a library or a framework to make GUI application made me learn a lot about how GUI works.  I realized that making GUI for browser and for desktop are quite different problems.  Browser makes easy what's difficult having a desktop oriented GUI framework - text rendering.  However, the situation is fair the other around.  GUI framework makes easy what's difficult in a browser - drawing arbitrary shapes.  As a result, a web-frontend programmer struggles to figure out how to write some text having something like Qt, a GUI programmer tries to find the API to the bitmap in a browser.<p>It's fair noticed in the previous comments that a GUI framework brings a lot.  That's because the problem is complex:<p>1. Create a window<p>2. Communicate with the window compositor (you do in WinAPI too btw).  How to access the system tray and the child window.<p>3. Communicate with the operating system.<p>4. Handle the user input. Callback vs event streams.  The user has 4 keyboards for some reason.<p>5. Rendering.  Subpixels, shapes, different DPI.  The user has 6 monitors.<p>6. Text rendering.<p>7. Widgets.  Where probably the most difficult part is to make a textbox, because it involves the solutions of all previous steps.<p>The steps above touch only the visual part.  There's also audio, accessibility, somebody wants the GUI framework to solve the networking.<p>After all of this research, I picked simply SDL for my project.<p>1. It's easy to compile.<p>2. It's small.<p>3. It relies on the subjectively common dependencies.<p>4. It's fairly straightforward to upgrade.  Given that, you have to create a lot from scratch the part with updating is smaller comparing to a Qt-based solution.<p>5. It has batteries.  My favorite is SDL_ttf which allowed me recently to implement selection of the text which is quite a bit through towards a textbox.<p>Having a project on SDL requires a lot of knowledge, but not a lot of code.</p>
]]></description><pubDate>Sat, 13 Jun 2026 17:08:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=48519208</link><dc:creator>laladrik</dc:creator><comments>https://news.ycombinator.com/item?id=48519208</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48519208</guid></item><item><title><![CDATA[New comment by laladrik in "Ask HN: Favorite text heavy blogs that are a joy to read?"]]></title><description><![CDATA[
<p>This one looks good to me.  <a href="https://matklad.github.io/" rel="nofollow">https://matklad.github.io/</a>.  Coincidentally the author has recently posted about CSS for blogs <a href="https://matklad.github.io/2026/06/04/css-unavoidable-bad-parts.html" rel="nofollow">https://matklad.github.io/2026/06/04/css-unavoidable-bad-par...</a>.<p>I have my own blog, but I'm unhappy with its design as well; therefore I'm not sharing it.  Nevertheless, I find particularly challenging two things:
1. Make tables readable from a smartphone.  There are a few tricks which allow you to make a responsive table.  However, those tricks implies that you use <ul> or <div> instead of <table> which defeats the point of having a table.
2. I had an article where I needed to put a tiny mind map. Eventually I put it as a picture, because the solutions to draw a mind map with JavaScript made the page as twice as heavy.</p>
]]></description><pubDate>Wed, 10 Jun 2026 08:50:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=48473410</link><dc:creator>laladrik</dc:creator><comments>https://news.ycombinator.com/item?id=48473410</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48473410</guid></item><item><title><![CDATA[New comment by laladrik in "Ask HN: Who wants to be hired? (June 2026)"]]></title><description><![CDATA[
<p><p><pre><code>    Location: Ireland
    Remote: Yes
    Willing to relocate: No
    Technologies: Rust, Go, C/C++, Postgres, RabbitMQ, Redis, GNU/Linux, Docker, Python.
    Résumé/CV: https://alexmarkov.xyz/resume-long.html
    Email: barber-stoic-come@duck.com
</code></pre>
Senior Software Engineer with 15+ years of experience with strong system design skill.  Deep knowledge of GNU/Linux to build high-load web systems serving millions of requests.</p>
]]></description><pubDate>Mon, 08 Jun 2026 18:37:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=48449479</link><dc:creator>laladrik</dc:creator><comments>https://news.ycombinator.com/item?id=48449479</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48449479</guid></item><item><title><![CDATA[New comment by laladrik in "Vim 9.2"]]></title><description><![CDATA[
<p>You know, that new inline Vim's diff algorithm looks really tempting.  I wish I had it in my Neovim</p>
]]></description><pubDate>Sun, 15 Feb 2026 12:12:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=47023084</link><dc:creator>laladrik</dc:creator><comments>https://news.ycombinator.com/item?id=47023084</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47023084</guid></item><item><title><![CDATA[New comment by laladrik in "What Every Programmer Should Know About Memory [pdf] (2007)"]]></title><description><![CDATA[
<p>Well, the article is old, but it's good enough to deserve one more link to it :)</p>
]]></description><pubDate>Mon, 09 Feb 2026 18:13:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=46948702</link><dc:creator>laladrik</dc:creator><comments>https://news.ycombinator.com/item?id=46948702</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46948702</guid></item><item><title><![CDATA[New comment by laladrik in "Ask HN: What are you working on? (February 2026)"]]></title><description><![CDATA[
<p>Keep working on a GUI calendar for Linux which would CLI users happy to use <a href="https://semana.alexmarkov.xyz/" rel="nofollow">https://semana.alexmarkov.xyz/</a>.  Just recently I've shaped the architecture a bit.</p>
]]></description><pubDate>Mon, 09 Feb 2026 17:50:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=46948370</link><dc:creator>laladrik</dc:creator><comments>https://news.ycombinator.com/item?id=46948370</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46948370</guid></item><item><title><![CDATA[New comment by laladrik in "RustToolsGDB"]]></title><description><![CDATA[
<p>During the last couple of years working on Rust programs I collected a number of GDB scripts.  Eventually, they  evolved into the project. Also, I wrote an article about how I came up with each of the scripts <a href="https://alexmarkov.xyz/blog/rustToolsGdb.html" rel="nofollow">https://alexmarkov.xyz/blog/rustToolsGdb.html</a></p>
]]></description><pubDate>Thu, 25 Dec 2025 17:21:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=46385724</link><dc:creator>laladrik</dc:creator><comments>https://news.ycombinator.com/item?id=46385724</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46385724</guid></item><item><title><![CDATA[RustToolsGDB]]></title><description><![CDATA[
<p>Article URL: <a href="https://codeberg.org/laladrik/RustToolsGDB">https://codeberg.org/laladrik/RustToolsGDB</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46385723">https://news.ycombinator.com/item?id=46385723</a></p>
<p>Points: 1</p>
<p># Comments: 1</p>
]]></description><pubDate>Thu, 25 Dec 2025 17:21:17 +0000</pubDate><link>https://codeberg.org/laladrik/RustToolsGDB</link><dc:creator>laladrik</dc:creator><comments>https://news.ycombinator.com/item?id=46385723</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46385723</guid></item><item><title><![CDATA[New comment by laladrik in "Understanding your Linux graphics driver stack"]]></title><description><![CDATA[
<p>That's a good introduction.  There is a video which I'd say complements the article.  It's called "Getting pixels on screen on Linux: introduction to Kernel Mode Setting" [1]<p>1. <a href="https://www.youtube.com/watch?v=haes4_Xnc5Q&list=PLz9LbZJP-TZ0pG5t9TWma9KzetXmXeJ54" rel="nofollow">https://www.youtube.com/watch?v=haes4_Xnc5Q&list=PLz9LbZJP-T...</a></p>
]]></description><pubDate>Mon, 22 Dec 2025 14:19:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=46354303</link><dc:creator>laladrik</dc:creator><comments>https://news.ycombinator.com/item?id=46354303</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46354303</guid></item><item><title><![CDATA[New comment by laladrik in "Ask HN: What are you working on? (Dec 2025)"]]></title><description><![CDATA[
<p>Recently Khal [1] released JSON interface.  In short, Khal is a Linux CLI calendar application.  I'm working on a proof-of-concept GUI[2] for the interface.  I expect to implement typical views for a calendar application:  daily, weekly, monthly.<p>1. <a href="https://github.com/pimutils/khal" rel="nofollow">https://github.com/pimutils/khal</a><p>2. <a href="https://codeberg.org/laladrik/Semana" rel="nofollow">https://codeberg.org/laladrik/Semana</a></p>
]]></description><pubDate>Sun, 07 Dec 2025 22:48:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=46186103</link><dc:creator>laladrik</dc:creator><comments>https://news.ycombinator.com/item?id=46186103</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46186103</guid></item><item><title><![CDATA[New comment by laladrik in "Go is portable, until it isn't"]]></title><description><![CDATA[
<p>The conclusion of the article says that it's not the language problem either.  Under the title "So, is Go the problem?"  Or do you mean something else here?</p>
]]></description><pubDate>Sun, 07 Dec 2025 22:43:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=46186069</link><dc:creator>laladrik</dc:creator><comments>https://news.ycombinator.com/item?id=46186069</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46186069</guid></item><item><title><![CDATA[New comment by laladrik in "Why is Zig so cool?"]]></title><description><![CDATA[
<p>Yeah, that's a pity that D didn't gain the popularity.  It brought some features which were borrowed to mainstream languages.  However, the features didn't help D to become popular.  I have a hunch that templates from D were the inspiration for the comptime in Zig.  Also, Reading D is almost easy as reading Zig. I remember I couldn't get my head around async/await from Python 3.5.  I knew it was based on generators.  However, the stack switch was absolutely mysterious to me.  I understood it only from the implementation of fibers from the D's standard library.</p>
]]></description><pubDate>Mon, 10 Nov 2025 22:04:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=45881557</link><dc:creator>laladrik</dc:creator><comments>https://news.ycombinator.com/item?id=45881557</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45881557</guid></item><item><title><![CDATA[New comment by laladrik in "My First Complete Game"]]></title><description><![CDATA[
<p>Hello everyone,  I started programming because I wanted to make games.  However, I got a chance to bring the food to the table making on web sites.  A few months ago I came across a list of challenges for a programmer.  One of challenges was creating a clone of Space Invaders.  I created a clone of the game and wrote the article. In the article I wrote about the challenges related to gamedev which I faced.  With gamedev background I wouldn't have them, I guess.  However, for me as for a backend programmer, they were something.  I hope the article is good enough to inspire other programmers like me to complete their first games.</p>
]]></description><pubDate>Tue, 30 Sep 2025 20:09:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=45430596</link><dc:creator>laladrik</dc:creator><comments>https://news.ycombinator.com/item?id=45430596</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45430596</guid></item><item><title><![CDATA[My First Complete Game]]></title><description><![CDATA[
<p>Article URL: <a href="https://laladrik.xyz/blog/myFirstCompleteGame/">https://laladrik.xyz/blog/myFirstCompleteGame/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=45430595">https://news.ycombinator.com/item?id=45430595</a></p>
<p>Points: 6</p>
<p># Comments: 1</p>
]]></description><pubDate>Tue, 30 Sep 2025 20:09:23 +0000</pubDate><link>https://laladrik.xyz/blog/myFirstCompleteGame/</link><dc:creator>laladrik</dc:creator><comments>https://news.ycombinator.com/item?id=45430595</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45430595</guid></item><item><title><![CDATA[New comment by laladrik in "Enhanced document symbol menu for Zig"]]></title><description><![CDATA[
<p>Hello, I've been playing with Zig the last couple of months.  The navigation between document symbols in Neovim is a bit complicated the document has symbols with the same name.  I improved it adding the path to every symbol.  For example you have two structures:<p><pre><code>    const App = struct {
        fn init() @This() { return .{} }
    };

    const Connection = struct {
        fn init() @This() { return .{} }
    };
</code></pre>
You get the following items in the navigation list:<p><pre><code>    App::init
    Connection::init
</code></pre>
Essentially, it's a configuration of Telescope and Nvim-Treesitter.  You can take the file from here <a href="https://laladrik.xyz/zig_document_symbols.lua" rel="nofollow">https://laladrik.xyz/zig_document_symbols.lua</a>.  However, if you curious about the process of creating a custom Telescope menu and inspection of the source code with Tree-sitter, checkout the entire article.<p>Also, while I working on it, I found that LuaJIT 2.1 compares strings as fast as integers.  Eventually, I did a little research about it and published the results here <a href="https://laladrik.xyz/blog/luaStringComparison/" rel="nofollow">https://laladrik.xyz/blog/luaStringComparison/</a></p>
]]></description><pubDate>Tue, 22 Apr 2025 16:47:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=43764085</link><dc:creator>laladrik</dc:creator><comments>https://news.ycombinator.com/item?id=43764085</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43764085</guid></item><item><title><![CDATA[Enhanced document symbol menu for Zig]]></title><description><![CDATA[
<p>Article URL: <a href="https://laladrik.xyz/blog/enhancedDocumentSymbolMenuInNeovim/">https://laladrik.xyz/blog/enhancedDocumentSymbolMenuInNeovim/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=43764084">https://news.ycombinator.com/item?id=43764084</a></p>
<p>Points: 3</p>
<p># Comments: 1</p>
]]></description><pubDate>Tue, 22 Apr 2025 16:47:10 +0000</pubDate><link>https://laladrik.xyz/blog/enhancedDocumentSymbolMenuInNeovim/</link><dc:creator>laladrik</dc:creator><comments>https://news.ycombinator.com/item?id=43764084</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43764084</guid></item><item><title><![CDATA[New comment by laladrik in "Navtive FlameGraphViewer"]]></title><description><![CDATA[
<p>I fail to see the reference to be honest.  I remember the term from OpenGL, when I rendered something to a framebuffer (actually its attachmets) and then applied to the current framebuffer.  It helped me to do effects like night vision.  Does using offscreen rendering imply using OpenGL?<p>Does GPU rendering mean that I have to involve OpenGL/Vulkan?</p>
]]></description><pubDate>Thu, 09 Jan 2025 23:29:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=42650926</link><dc:creator>laladrik</dc:creator><comments>https://news.ycombinator.com/item?id=42650926</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42650926</guid></item><item><title><![CDATA[New comment by laladrik in "Navtive FlameGraphViewer"]]></title><description><![CDATA[
<p>A clear.  I hid it in my mind.  I haven't tried the approach with indices, because... well, I was lazy to do it.  However, I agree that this approach would be better, then the current one.<p>> You describe that attempt in detail.<p>I appreciate if you put a quote, because I fail to find the description of the attempt in detail.  In fact, instead of assuming that a vector is pinned I wrote this "I realized that the problem is related to the fact that vectors of children move in the memory if they don't have enough space to extend."<p>> The code you ended up with is still dangerous code, because your boxes are still not guaranteed to remain pinned in memory.<p>You are right, boxes are not pinned, but the data, which the point to, is pinned, isn't it?  My pointers point to that part of memory.</p>
]]></description><pubDate>Sat, 28 Dec 2024 15:00:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=42531467</link><dc:creator>laladrik</dc:creator><comments>https://news.ycombinator.com/item?id=42531467</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42531467</guid></item><item><title><![CDATA[New comment by laladrik in "Navtive FlameGraphViewer"]]></title><description><![CDATA[
<p>Ok, now I remember what was the deal with Hotspot. It makes it possible to work with a flamegraph of mine. However, it takes almost half a minute to load my perf.data. However! I totally recommend Hotspot over my hack in case when you need to have a comprehensive view of the data. In particular, I love to see the off-CPU load, which my FlameGraphViewer doesn't show.</p>
]]></description><pubDate>Sat, 28 Dec 2024 14:45:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=42531361</link><dc:creator>laladrik</dc:creator><comments>https://news.ycombinator.com/item?id=42531361</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42531361</guid></item></channel></rss>