<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: vkoskiv</title><link>https://news.ycombinator.com/user?id=vkoskiv</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Fri, 17 Apr 2026 04:55:26 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=vkoskiv" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by vkoskiv in "Ask HN: What Are You Working On? (March 2026)"]]></title><description><![CDATA[
<p>Nice! My keyboard code is still very bare bones, so I interact with my system using debug commands assigned to individual keys.<p>Since we're both working on a similar project, I think it could be fun to talk about OS development and share our findings (and weird bugs!)
I have this same username just about everywhere, so do reach out if you're interested! Best of luck with your project either way :]</p>
]]></description><pubDate>Wed, 11 Mar 2026 18:15:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=47339147</link><dc:creator>vkoskiv</dc:creator><comments>https://news.ycombinator.com/item?id=47339147</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47339147</guid></item><item><title><![CDATA[New comment by vkoskiv in "Ask HN: What Are You Working On? (March 2026)"]]></title><description><![CDATA[
<p>My hobby x86 kernel. I'm targeting my 80486DX2-66 PC with 32MB of RAM. This project has had a few false starts over the years, where I lacked the prerequisite knowledge to be able to properly debug things. So while the initial commit is from 2020, most of the progress is from the ~180 or so commits I've done in the last month since I picked it up again in early February. A month ago it booted from a floppy and printed some debug info to the screen showing it set up GDT, IDT and some static page tables. Now I have basic virtual memory with kmalloc()/kfree(), task switching, user mode and a few syscalls, and just this past weekend I got my floppy driver to a state where it can now (semi-)reliably detect and read data off floppy disks. I already have a userspace prototype of an ext2 parser I wrote for this in 2024, so all I need to do now is to bring that code in to the kernel and I should have filesystem support!<p>It's been a ton of fun to work on. Every subsystem is still flaky so I run into the wackiest bugs imaginable. I'm really grateful for the resources[1] and incredible tooling[2] that enable me to work out my frequent mistakes. I can hardly fathom how Torvalds did this with just his PC running Minix!<p>No idea how long I'll keep working on it. I think I'd be pretty happy if I got a real-world, non-trivial program running on top of it, but in the meantime it is serving as a good distraction from life worries at least :]<p>[1]: Intel 80386 Reference Manual, Linux man pages, wiki.osdev.org, various datasheets and the occasional query to ChatGPT free tier.<p>[2]: QEMU+gdb, Bochs, GCC 9 & binutils</p>
]]></description><pubDate>Tue, 10 Mar 2026 16:32:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=47325511</link><dc:creator>vkoskiv</dc:creator><comments>https://news.ycombinator.com/item?id=47325511</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47325511</guid></item><item><title><![CDATA[New comment by vkoskiv in "My first contribution to Linux"]]></title><description><![CDATA[
<p>I just checked this, and it seems like GitHub is a bit weird about tracking these. It didn't show up on my profile at all until I just now forked[0] torvalds/linux on GitHub. Now it shows up on my profile on May 9th (author date), but the link to the commit is broken, because repository authors page it points to filters on the <i>commit</i> date, not the author date.<p>Broken link points here and shows no commits: <a href="https://github.com/torvalds/linux/commits?author=vkoskiv&since=2025-05-08&until=2025-05-09" rel="nofollow">https://github.com/torvalds/linux/commits?author=vkoskiv&sin...</a><p>If I correct the date range to include the maintainer commit date (May 15th), the commit shows up: <a href="https://github.com/torvalds/linux/commits?author=vkoskiv&since=2025-05-08&until=2025-05-15" rel="nofollow">https://github.com/torvalds/linux/commits?author=vkoskiv&sin...</a><p>Also strange that if I only filter on author[1], nothing shows up. Though I suspect that dataset might only be updated periodically.<p>[0]: <a href="https://docs.github.com/en/account-and-profile/reference/profile-contributions-reference#contribution-criteria-for-commits" rel="nofollow">https://docs.github.com/en/account-and-profile/reference/pro...</a><p>[1]: <a href="https://github.com/torvalds/linux/commits?author=vkoskiv" rel="nofollow">https://github.com/torvalds/linux/commits?author=vkoskiv</a></p>
]]></description><pubDate>Mon, 20 Oct 2025 14:55:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=45644651</link><dc:creator>vkoskiv</dc:creator><comments>https://news.ycombinator.com/item?id=45644651</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45644651</guid></item><item><title><![CDATA[New comment by vkoskiv in "My first contribution to Linux"]]></title><description><![CDATA[
<p>I wanted to hold off on that upgrade until I found a source of reliable, high-quality PATA SSDs. Haven't looked into that yet, suggestions welcome!</p>
]]></description><pubDate>Fri, 10 Oct 2025 01:01:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=45534556</link><dc:creator>vkoskiv</dc:creator><comments>https://news.ycombinator.com/item?id=45534556</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45534556</guid></item><item><title><![CDATA[New comment by vkoskiv in "My first contribution to Linux"]]></title><description><![CDATA[
<p>The joke gets even better when you consider that the subsystem maintainer that reviewed my patch is also Finnish :]</p>
]]></description><pubDate>Fri, 10 Oct 2025 00:47:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=45534497</link><dc:creator>vkoskiv</dc:creator><comments>https://news.ycombinator.com/item?id=45534497</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45534497</guid></item><item><title><![CDATA[New comment by vkoskiv in "My first contribution to Linux"]]></title><description><![CDATA[
<p>Thanks! I haven't, but I probably should, since you're the second person asking about it. The site is built with Zola[0], and it's using the Radion[1] theme, with small modifications.<p>[0]: <a href="https://www.getzola.org/" rel="nofollow">https://www.getzola.org/</a>
[1]: <a href="https://github.com/micahkepe/radion" rel="nofollow">https://github.com/micahkepe/radion</a></p>
]]></description><pubDate>Thu, 09 Oct 2025 18:19:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=45531220</link><dc:creator>vkoskiv</dc:creator><comments>https://news.ycombinator.com/item?id=45531220</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45531220</guid></item><item><title><![CDATA[New comment by vkoskiv in "My first contribution to Linux"]]></title><description><![CDATA[
<p>Kiitos!</p>
]]></description><pubDate>Thu, 09 Oct 2025 18:15:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=45531173</link><dc:creator>vkoskiv</dc:creator><comments>https://news.ycombinator.com/item?id=45531173</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45531173</guid></item><item><title><![CDATA[New comment by vkoskiv in "My first contribution to Linux"]]></title><description><![CDATA[
<p>Thank you! It is indeed!</p>
]]></description><pubDate>Mon, 06 Oct 2025 16:54:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=45493373</link><dc:creator>vkoskiv</dc:creator><comments>https://news.ycombinator.com/item?id=45493373</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45493373</guid></item><item><title><![CDATA[My first contribution to Linux]]></title><description><![CDATA[
<p>Article URL: <a href="https://vkoskiv.com/first-linux-patch/">https://vkoskiv.com/first-linux-patch/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=45490652">https://news.ycombinator.com/item?id=45490652</a></p>
<p>Points: 701</p>
<p># Comments: 88</p>
]]></description><pubDate>Mon, 06 Oct 2025 12:31:32 +0000</pubDate><link>https://vkoskiv.com/first-linux-patch/</link><dc:creator>vkoskiv</dc:creator><comments>https://news.ycombinator.com/item?id=45490652</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45490652</guid></item><item><title><![CDATA[New comment by vkoskiv in "Memory Efficiency in iOS: Reducing footprint and beyond"]]></title><description><![CDATA[
<p>> For many apps the main source of memory usage isn't stack or heap memory consumed during runtime, it's the loading of the binary itself into memory.<p>Does iOS not do demand paging?</p>
]]></description><pubDate>Tue, 22 Jul 2025 10:10:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=44645108</link><dc:creator>vkoskiv</dc:creator><comments>https://news.ycombinator.com/item?id=44645108</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44645108</guid></item><item><title><![CDATA[New comment by vkoskiv in "Making C and Python Talk to Each Other"]]></title><description><![CDATA[
<p>I did a lot of this for my raytracer, c-ray [1]. Originally it was just a self-contained C program, but I got tired of writing buggy and limited asset import/export code, so eventually I put together a minimal public C API [2] that I then wrapped with CPython bindings [3] and some additional python code [4] to expose a more 'pythonic' API. It's all still a WIP, but it has already allowed me to write a Blender plugin [5], so now I can play around with my renderer directly in Blender, and test with more complex scenes others have made.<p>Fun project, and it's really cool to see my little renderer in the interactive viewport in Blender, but I have also learned that I don't particularly enjoy working with non-trivial amounts of Python code.<p>[1] <a href="https://github.com/vkoskiv/c-ray">https://github.com/vkoskiv/c-ray</a>
[2] <a href="https://github.com/vkoskiv/c-ray/blob/51a742b2ee4d0b570975cd99205708bbae58097c/include/c-ray/c-ray.h">https://github.com/vkoskiv/c-ray/blob/51a742b2ee4d0b570975cd...</a>
[3] <a href="https://github.com/vkoskiv/c-ray/tree/51a742b2ee4d0b570975cd99205708bbae58097c/bindings/python">https://github.com/vkoskiv/c-ray/tree/51a742b2ee4d0b570975cd...</a>
[4] <a href="https://github.com/vkoskiv/c-ray/tree/51a742b2ee4d0b570975cd99205708bbae58097c/bindings/python/lib">https://github.com/vkoskiv/c-ray/tree/51a742b2ee4d0b570975cd...</a>
[5] <a href="https://github.com/vkoskiv/c-ray/tree/51a742b2ee4d0b570975cd99205708bbae58097c/integrations/blender">https://github.com/vkoskiv/c-ray/tree/51a742b2ee4d0b570975cd...</a></p>
]]></description><pubDate>Fri, 30 May 2025 16:44:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=44137938</link><dc:creator>vkoskiv</dc:creator><comments>https://news.ycombinator.com/item?id=44137938</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44137938</guid></item><item><title><![CDATA[New comment by vkoskiv in "Xerox Alto Source Code (2014)"]]></title><description><![CDATA[
<p>Somewhat related, curiousmarc has an absolutely brilliant video series from 2016 documenting the restoration of an Alto II:<p><a href="https://www.youtube.com/playlist?list=PL-_93BVApb58I3ZV67LW3S_JEMFnDrQDj" rel="nofollow">https://www.youtube.com/playlist?list=PL-_93BVApb58I3ZV67LW3...</a></p>
]]></description><pubDate>Fri, 31 Jan 2025 13:25:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=42887402</link><dc:creator>vkoskiv</dc:creator><comments>https://news.ycombinator.com/item?id=42887402</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42887402</guid></item><item><title><![CDATA[New comment by vkoskiv in "ELKS: Linux for 16-bit Intel Processors"]]></title><description><![CDATA[
<p>I recently added dual screen support to the ELKS console-direct driver, so if your system has both MDA and CGA cards, you enable CONFIG_CONSOLE_DUAL in your kernel config and select runlevel 5 in /bootopts, it will allocate 4 ttys, with one of them on the MDA display. You can see this setup running on my hardware in this pic in the README:<p><a href="https://raw.githubusercontent.com/ghaerr/elks/refs/heads/master/Screenshots/ELKS_Matrix.jpg" rel="nofollow">https://raw.githubusercontent.com/ghaerr/elks/refs/heads/mas...</a><p>I could use some help testing it on EGA and VGA hardware, as I don’t have any 8 bit cards for those in my collection.</p>
]]></description><pubDate>Sun, 05 Jan 2025 01:50:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=42599084</link><dc:creator>vkoskiv</dc:creator><comments>https://news.ycombinator.com/item?id=42599084</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42599084</guid></item><item><title><![CDATA[New comment by vkoskiv in "Show HN: SHAllenge – Compete to get the lowest hash"]]></title><description><![CDATA[
<p>Wasn't expecting to stay in the top 100 for this long!<p>Initial C implementation got me to ~70 for a short time, then very sloppy racy pthreads one kept me at the tail end for a bit longer, but my again very sloppy cuda program running on my GTX1070 has me at 35 at the time of writing.<p>Rough calculation shows it to be doing 28.6MHashes/sec, and I suspect I could do a lot better than that if I knew anything about cuda programming.<p>I didn't read enough to know how to pick good values for blocks/threads per block, so I just benchmarked all the combinations of powers of two to arrive at the best result.<p>Really fun challenge!<p>Would be fun to see the total amount of valid submissions, and maybe the number of leading zeroes of a hash for those of us that need a moment to figure it out from hex in their head :]</p>
]]></description><pubDate>Thu, 20 Jun 2024 18:40:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=40741806</link><dc:creator>vkoskiv</dc:creator><comments>https://news.ycombinator.com/item?id=40741806</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40741806</guid></item><item><title><![CDATA[New comment by vkoskiv in "Libtree: Ldd as a tree saying why a library is found or not"]]></title><description><![CDATA[
<p>In case anyone else is wondering what the colors mean (I couldn't find this in the manpage/README):<p>Magenta: In exclude list (only shown with -v[v[v]])<p>Blue: Seen before (so you can spot which dependencies appear multiple times)</p>
]]></description><pubDate>Mon, 10 Jun 2024 09:05:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=40631576</link><dc:creator>vkoskiv</dc:creator><comments>https://news.ycombinator.com/item?id=40631576</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40631576</guid></item><item><title><![CDATA[New comment by vkoskiv in "I'm forking Ladybird and stepping down as SerenityOS BDFL"]]></title><description><![CDATA[
<p>It's popular because anyone can create their own community with just a few clicks, and it's all paid for by friendly venture capitalists :]</p>
]]></description><pubDate>Tue, 04 Jun 2024 08:08:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=40571898</link><dc:creator>vkoskiv</dc:creator><comments>https://news.ycombinator.com/item?id=40571898</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40571898</guid></item><item><title><![CDATA[New comment by vkoskiv in "Assembly"]]></title><description><![CDATA[
<p>Heh, my program that just copies the current instruction to +1 wasn't allowed on the board, fair enough I guess :D</p>
]]></description><pubDate>Mon, 13 May 2024 07:38:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=40340672</link><dc:creator>vkoskiv</dc:creator><comments>https://news.ycombinator.com/item?id=40340672</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40340672</guid></item><item><title><![CDATA[New comment by vkoskiv in "NPM package is-even has over 140k weekly downloads"]]></title><description><![CDATA[
<p>Am I missing something here, why is a package even needed needed for this? Can you not evaluate `some_int % 2` in Javascript to check for this directly?</p>
]]></description><pubDate>Mon, 13 May 2024 07:01:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=40340462</link><dc:creator>vkoskiv</dc:creator><comments>https://news.ycombinator.com/item?id=40340462</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40340462</guid></item><item><title><![CDATA[New comment by vkoskiv in "PicoMEM by FreddyV – All in One 8-Bit ISA Expansion Card"]]></title><description><![CDATA[
<p>A similar project for PCMCIA[1] is being developed by yyzkevin. Really exciting IMO, not yet available, but I submitted a response to their google sheet, hoping to get one of these when the preorders start.<p>[1] <a href="https://www.youtube.com/watch?v=YoJ12leojwo" rel="nofollow">https://www.youtube.com/watch?v=YoJ12leojwo</a></p>
]]></description><pubDate>Mon, 13 May 2024 06:49:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=40340410</link><dc:creator>vkoskiv</dc:creator><comments>https://news.ycombinator.com/item?id=40340410</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40340410</guid></item><item><title><![CDATA[New comment by vkoskiv in "Unsigned Commits"]]></title><description><![CDATA[
<p>My GPG signatures are stored in the git commits themselves, and have nothing to do with GitHub. Anyone can validate them with git-verify-commit(1). They are there to communicate "if you trust my GPG key, you can be certain I made these commits". There is no argument to be made that the signature makes any claim about past or future commits, either.<p>What a confusing article.</p>
]]></description><pubDate>Thu, 25 Jan 2024 14:04:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=39129647</link><dc:creator>vkoskiv</dc:creator><comments>https://news.ycombinator.com/item?id=39129647</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39129647</guid></item></channel></rss>