<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: zserge</title><link>https://news.ycombinator.com/user?id=zserge</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Tue, 28 Apr 2026 19:32:53 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=zserge" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by zserge in "Ibuilt a tiny Unix‑like 'OS' with shell and filesystem for Arduino UNO (2KB RAM)"]]></title><description><![CDATA[
<p>Reminds me of a good old arduino shell, Bitlash - <a href="https://github.com/billroy/bitlash/wiki/commands" rel="nofollow">https://github.com/billroy/bitlash/wiki/commands</a></p>
]]></description><pubDate>Tue, 21 Apr 2026 20:22:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=47854059</link><dc:creator>zserge</dc:creator><comments>https://news.ycombinator.com/item?id=47854059</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47854059</guid></item><item><title><![CDATA[New comment by zserge in "VisiCalc Reconstructed"]]></title><description><![CDATA[
<p>A slightly larger implementation at the end of the post does that to some extent - <a href="https://github.com/zserge/kalk" rel="nofollow">https://github.com/zserge/kalk</a> (CSV import export, Excel-like "locking" of rows/columns like $A$1). If there's a need for such a project - I'm happy to add ODF or XLSX, more compatibility with Excel formulas etc. I'm not sure about Vi keybindings, I personally find spreadsheets easier to use in a non-modal manner.</p>
]]></description><pubDate>Fri, 20 Mar 2026 17:32:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=47457858</link><dc:creator>zserge</dc:creator><comments>https://news.ycombinator.com/item?id=47457858</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47457858</guid></item><item><title><![CDATA[New comment by zserge in "VisiCalc Reconstructed"]]></title><description><![CDATA[
<p>It's a common CPU vs RAM decision to make. Dependency graph consumes memory, while recalculating everything for a number of iterations could happen on stack one formula at a time in a loop. On 6502 it mattered. On modern CPUs, even with RAM crisis I'm sure for 99.9% of spreadsheets any options is good enough. Say, you have 10K rows and 100 columns - it's 1M calculations to make.</p>
]]></description><pubDate>Fri, 20 Mar 2026 17:29:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=47457801</link><dc:creator>zserge</dc:creator><comments>https://news.ycombinator.com/item?id=47457801</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47457801</guid></item><item><title><![CDATA[New comment by zserge in "Ask HN: Share your personal website"]]></title><description><![CDATA[
<p><a href="https://zserge.com" rel="nofollow">https://zserge.com</a> - little toy projects and stories on various software topics with minimalist aftertaste, not to be ever used in production or taken seriously</p>
]]></description><pubDate>Wed, 14 Jan 2026 19:55:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=46621976</link><dc:creator>zserge</dc:creator><comments>https://news.ycombinator.com/item?id=46621976</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46621976</guid></item><item><title><![CDATA[New comment by zserge in "Ask HN: What are you working on? (October 2025)"]]></title><description><![CDATA[
<p>A little computer vision library for embedded systems, by magnitudes smaller than OpenCV, but still practical enough to do feature tracking or cascade detections. Works well on ESP32 and cheap ARMs with low-resolution grayscale cameras.<p><a href="https://github.com/zserge/grayskull" rel="nofollow">https://github.com/zserge/grayskull</a></p>
]]></description><pubDate>Mon, 13 Oct 2025 07:50:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=45565839</link><dc:creator>zserge</dc:creator><comments>https://news.ycombinator.com/item?id=45565839</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45565839</guid></item><item><title><![CDATA[New comment by zserge in "Ziglings: Learn Zig by fixing broken programs"]]></title><description><![CDATA[
<p>I think that's how it all started: <a href="https://github.com/rust-lang/rustlings">https://github.com/rust-lang/rustlings</a></p>
]]></description><pubDate>Mon, 07 Jul 2025 13:32:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=44490226</link><dc:creator>zserge</dc:creator><comments>https://news.ycombinator.com/item?id=44490226</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44490226</guid></item><item><title><![CDATA[New comment by zserge in "Poor Man's Back End-as-a-Service (BaaS), Similar to Firebase/Supabase/Pocketbase"]]></title><description><![CDATA[
<p>You might be right, but the only place where regexps are applied in code is for validating resource text fields (which is optional). Those regexps are defined in read-only schemas by the developer (if needed). Schemas are immutable. There seems to be absolutely no connection between the data transmitted over the API (i.e. what user can inject) and regexps. I'm not dismissing the idea that there might be plenty of other possible vulnerabilities in other areas of this toy project.</p>
]]></description><pubDate>Thu, 03 Jul 2025 18:20:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=44457815</link><dc:creator>zserge</dc:creator><comments>https://news.ycombinator.com/item?id=44457815</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44457815</guid></item><item><title><![CDATA[New comment by zserge in "Poor Man's Back End-as-a-Service (BaaS), Similar to Firebase/Supabase/Pocketbase"]]></title><description><![CDATA[
<p>In hindsight, JSONL would have been much easier to deal with as a developer.
But I still don't regret picking CSV -- DB interface is pluggable (so one can use JSONL if needed), and I deliberately wanted to have different formats for data storage (models) and data transfer objects (DTOs) in the API layer, just like with real databases.
I agree, CSV is very limited and fragile, but it made data conversion/validation part more explicit.</p>
]]></description><pubDate>Thu, 03 Jul 2025 18:05:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=44457677</link><dc:creator>zserge</dc:creator><comments>https://news.ycombinator.com/item?id=44457677</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44457677</guid></item><item><title><![CDATA[New comment by zserge in "Poor Man's Back End-as-a-Service (BaaS), Similar to Firebase/Supabase/Pocketbase"]]></title><description><![CDATA[
<p>Like others have guessed, I limited myself to what Go stdlib offers. Since it's a personal/educational project -- I only wanted to play around with this sort of architecture (similar to k8s apiserver and various popular BaaSes). It was never meant to run outside of my localhost, so password security or choice of the database was never a concern -- whatever is in stdlib and is "good enough" would work.<p>I also tried to make it a bit more flexible: to use `bcrypt` one can provide their own `pennybase.HashPasswd` function. To use SQLite one can implement five methods of `pennybase.DB` interface. It's not perfect, but at the code size of 700 lines it should be possible to customise any part of it without much cognitive difficulties.</p>
]]></description><pubDate>Thu, 03 Jul 2025 17:38:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=44457415</link><dc:creator>zserge</dc:creator><comments>https://news.ycombinator.com/item?id=44457415</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44457415</guid></item><item><title><![CDATA[New comment by zserge in "Poor Man's Back End-as-a-Service (BaaS), Similar to Firebase/Supabase/Pocketbase"]]></title><description><![CDATA[
<p>To be fair, the project is linked to the blog post I recently wrote, so it's merely a tiny personal/educational project.<p>I tried to experiment with an API similar to what k8s api server offers: dynamic schemas for custom resources, generated uniform REST API with well-defined RBAC rules, watch/real-time notifications, customisation of business logic with admission hooks etc.<p>I also attempted to make it as small as possible. So yeah, I don't try to compete with Pocketbase and others, just trying to see what it takes to build a minimally viable backend with a similar architecture.<p>The choice of the "database" is dictated by the very same goals. I deliberately made it an interface, better databases exist and can be plugged in with little code changes. But for starters I went with what Go stdlib offers, and CSV is easy enough to debug.</p>
]]></description><pubDate>Thu, 03 Jul 2025 17:26:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=44457311</link><dc:creator>zserge</dc:creator><comments>https://news.ycombinator.com/item?id=44457311</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44457311</guid></item><item><title><![CDATA[New comment by zserge in "Microjs"]]></title><description><![CDATA[
<p>So that things like React could be distributed as a collection of hundreds of interconnected single-function tiny modules?</p>
]]></description><pubDate>Tue, 30 Jul 2024 15:51:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=41110399</link><dc:creator>zserge</dc:creator><comments>https://news.ycombinator.com/item?id=41110399</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41110399</guid></item><item><title><![CDATA[New comment by zserge in "Wrong Map of Europe"]]></title><description><![CDATA[
<p>So, it's only Liechtenstein and Monaco being the correctly mapped European countries?</p>
]]></description><pubDate>Thu, 13 Jun 2024 18:38:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=40673040</link><dc:creator>zserge</dc:creator><comments>https://news.ycombinator.com/item?id=40673040</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40673040</guid></item><item><title><![CDATA[New comment by zserge in "Smallest Typeface"]]></title><description><![CDATA[
<p>A while ago I created an even smaller typeface (2x3) but that is barely readable without memorising certain glyphs:<p><a href="https://zserge.com/posts/tiny-font/" rel="nofollow">https://zserge.com/posts/tiny-font/</a></p>
]]></description><pubDate>Fri, 29 Dec 2023 09:37:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=38803190</link><dc:creator>zserge</dc:creator><comments>https://news.ycombinator.com/item?id=38803190</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38803190</guid></item><item><title><![CDATA[New comment by zserge in "Show HN: I automated half of my typing"]]></title><description><![CDATA[
<p>I appreciate the fact that it contains shortcuts for such words as "endeavour" (EDV), "ecclesiastic" (EC), "notwithstanding" (NWG) or "vehemence" (VMC) being a dictionary of the "basic and most frequently used words". Also, the suggested abbreviation for "sex" is "SEX".</p>
]]></description><pubDate>Thu, 31 Aug 2023 13:00:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=37336485</link><dc:creator>zserge</dc:creator><comments>https://news.ycombinator.com/item?id=37336485</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37336485</guid></item><item><title><![CDATA[New comment by zserge in "I walked across Luxembourg"]]></title><description><![CDATA[
<p>I hike across Liechtenstein from time to time. A very light but picturesque set of trails for one day (30-50km). I usually start at the south border in a Switzerland town, cross the country up north and enter Austria.<p>On a much lighter category, someone "hiked" Monaco in a straight line: <a href="https://magamig.github.io/posts/crossing-an-entire-country-in-a-straight-line/" rel="nofollow noreferrer">https://magamig.github.io/posts/crossing-an-entire-country-i...</a></p>
]]></description><pubDate>Tue, 22 Aug 2023 07:09:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=37219598</link><dc:creator>zserge</dc:creator><comments>https://news.ycombinator.com/item?id=37219598</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37219598</guid></item><item><title><![CDATA[New comment by zserge in "Toki Pona: an attempted universal language with only ~120 words"]]></title><description><![CDATA[
<p>Would it be possible to train an LLM from scratch that would speak Toki Pona? 120 word dictionary over a reduced alphabet would mean a tiny number of possible tokens and theoretically a model could be smaller than the ones used in "tiny stories" experiment (where a simplified almost childish English has been used). Maybe even a local machine would be enough to train it. I wonder if there is a large enough dataset for Toki Pona or if there is a sensible way to synthesize one? I'm no expert in LLMs or Toki Pona, though.</p>
]]></description><pubDate>Mon, 14 Aug 2023 15:25:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=37122127</link><dc:creator>zserge</dc:creator><comments>https://news.ycombinator.com/item?id=37122127</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37122127</guid></item><item><title><![CDATA[New comment by zserge in "Ask HN: Could you share your personal blog here?"]]></title><description><![CDATA[
<p><a href="https://zserge.com" rel="nofollow noreferrer">https://zserge.com</a> -- minimal software, learning how things work by building them</p>
]]></description><pubDate>Tue, 04 Jul 2023 18:18:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=36590594</link><dc:creator>zserge</dc:creator><comments>https://news.ycombinator.com/item?id=36590594</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36590594</guid></item><item><title><![CDATA[New comment by zserge in "DIY Git in Python"]]></title><description><![CDATA[
<p>A similar toy git in Go (but probably smaller and more limited):  <a href="https://zserge.com/posts/git/" rel="nofollow">https://zserge.com/posts/git/</a></p>
]]></description><pubDate>Sat, 13 May 2023 23:07:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=35933683</link><dc:creator>zserge</dc:creator><comments>https://news.ycombinator.com/item?id=35933683</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=35933683</guid></item><item><title><![CDATA[New comment by zserge in "C Port of Ken Thompson's Space Travel"]]></title><description><![CDATA[
<p>There's also <a href="https://github.com/zserge/fenster">https://github.com/zserge/fenster</a> which is fairly minimal and comes with Go bindings out of the box.</p>
]]></description><pubDate>Sun, 05 Feb 2023 18:02:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=34667095</link><dc:creator>zserge</dc:creator><comments>https://news.ycombinator.com/item?id=34667095</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=34667095</guid></item><item><title><![CDATA[New comment by zserge in "Contiki – OS for networked, memory-constrained systems"]]></title><description><![CDATA[
<p>The wiki page says it all, but I'll highlight - Contiki has been written by Adam Dunkels, the one who invented Protothreads (coroutines using Duff's Device), uIP, lwIP and a TCP stack that fits into a single tweet - <a href="http://dunkels.com/adam/twip.html" rel="nofollow">http://dunkels.com/adam/twip.html</a></p>
]]></description><pubDate>Wed, 01 Feb 2023 10:49:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=34608879</link><dc:creator>zserge</dc:creator><comments>https://news.ycombinator.com/item?id=34608879</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=34608879</guid></item></channel></rss>