<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: mnahkies</title><link>https://news.ycombinator.com/user?id=mnahkies</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Tue, 07 Apr 2026 12:03:08 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=mnahkies" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by mnahkies in "E2E encrypted messaging on Instagram will no longer be supported after 8 May"]]></title><description><![CDATA[
<p>I don't disagree, but I think there is a distinction between "everything is e2ee, but specific conversations may be MiTM without detection" and "nothing is e2ee and can be retrospectively inspected at will" that goes a little beyond security theatre - makes it more analogous to old fashioned wiretaps in my mind.<p>Obviously it involves trust that it isn't actually "we say it's e2ee but actually we also MiTM every conversation"</p>
]]></description><pubDate>Fri, 13 Mar 2026 18:54:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=47368165</link><dc:creator>mnahkies</dc:creator><comments>https://news.ycombinator.com/item?id=47368165</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47368165</guid></item><item><title><![CDATA[New comment by mnahkies in "Contextual commits – An open standard for capturing the why in Git history"]]></title><description><![CDATA[
<p>I like to follow conventional commit style, and some repos I work on have CI checks for it. It's been fixed now, but for a long time the validator we were using would reject commits that included long urls in the body (for exceeding the width limit).<p>It was enraging - I'm trying to provide references to explain the motivation of my changes, all my prose is nicely formated, but the bulleted list of references I've provided is rejecting my commit.<p>I generally think it's in the category of a social problem not a technical problem - communicate the expectations but don't dogmatically enforce them</p>
]]></description><pubDate>Thu, 12 Mar 2026 21:42:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=47357583</link><dc:creator>mnahkies</dc:creator><comments>https://news.ycombinator.com/item?id=47357583</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47357583</guid></item><item><title><![CDATA[New comment by mnahkies in "My Homelab Setup"]]></title><description><![CDATA[
<p>Personally I'm using haproxy for this purpose, with Lego to generate wildcard SSL certs using DNS validation on a public domain, then running coredns configured in the tailnet DNS resolvers to serve A records for internal names on a subdomain of the public one.<p>I've found this to work quite well, and the SSL whilst somewhat meaningless from a security pov since the traffic was already encrypted by wire guard, makes the web browser happy so still worthwhile.</p>
]]></description><pubDate>Sun, 08 Mar 2026 18:31:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=47299733</link><dc:creator>mnahkies</dc:creator><comments>https://news.ycombinator.com/item?id=47299733</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47299733</guid></item><item><title><![CDATA[New comment by mnahkies in "The bare minimum for syncing Git repos"]]></title><description><![CDATA[
<p>> I used to throw every scrap of code onto GitHub in the vague hope of “sharing knowledge”<p>I looked at a random repo today, and used some of its (MIT licensed) code as a starting point.<p>It was an expo plugin for managing android key stores, I didn't need most of what it did, and I went a different direction in the remaining bits - but it still helped me do that quickly. That won't show up in any stats the author can see, but I appreciate their contribution</p>
]]></description><pubDate>Sat, 21 Feb 2026 19:59:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=47104093</link><dc:creator>mnahkies</dc:creator><comments>https://news.ycombinator.com/item?id=47104093</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47104093</guid></item><item><title><![CDATA[New comment by mnahkies in "Infrastructure decisions I endorse or regret after 4 years at a startup (2024)"]]></title><description><![CDATA[
<p>We've only raised a handful of support cases with GCP the past 5 years, but we happened to raise one this week and they've put us onto a preview feature that solves the problem we were facing - I'm suddenly wondering if we should be trying our luck with support more often instead of figuring it out ourselves.</p>
]]></description><pubDate>Fri, 20 Feb 2026 19:06:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=47092373</link><dc:creator>mnahkies</dc:creator><comments>https://news.ycombinator.com/item?id=47092373</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47092373</guid></item><item><title><![CDATA[New comment by mnahkies in "Tailscale Peer Relays is now generally available"]]></title><description><![CDATA[
<p>Heh, that's my PR. Initially I thought it would be a trivial change, but then I realized I hadn't considered how it should interact with MDM / device posture functionality - these aren't features I'm personally using with the Android client, but are understandably important to enterprises.<p>I still hope to get back to that and try to get it to a state where it can be merged, but I need to figure out how to test the MDM parts of it properly, and ideally get a bit of guidance from the tailscale team on how it should work/is my implementation on the right track (think I had some open questions around the UI as well)</p>
]]></description><pubDate>Thu, 19 Feb 2026 07:46:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=47071048</link><dc:creator>mnahkies</dc:creator><comments>https://news.ycombinator.com/item?id=47071048</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47071048</guid></item><item><title><![CDATA[New comment by mnahkies in "Flashpoint Archive – Over 200k web games and animations preserved"]]></title><description><![CDATA[
<p>I think the interface breaking on newer screens is a key point - AOE2 definite edition looks great on a 4k screen now, but when I tried one of the other variants beforehand the UI didn't scale properly and so all the elements were tiny to the point of being unplayable without adjusting the resolution</p>
]]></description><pubDate>Sun, 15 Feb 2026 10:03:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=47022511</link><dc:creator>mnahkies</dc:creator><comments>https://news.ycombinator.com/item?id=47022511</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47022511</guid></item><item><title><![CDATA[New comment by mnahkies in "Building Your Own Efficient uint128 in C++"]]></title><description><![CDATA[
<p>I had a similar idea as a teenager - calculate md5 hash and store that plus a hint/offset to then brute force the original content. I had dial up and wanted a more practical way to get large files.<p>Anyway I emailed the Winrar developers about my idea and they politely explained why they didn't think it was feasible (appreciate they even took the time to respond!)</p>
]]></description><pubDate>Mon, 02 Feb 2026 14:51:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=46856675</link><dc:creator>mnahkies</dc:creator><comments>https://news.ycombinator.com/item?id=46856675</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46856675</guid></item><item><title><![CDATA[New comment by mnahkies in "Show HN: Apate API mocking/prototyping server and Rust unit test library"]]></title><description><![CDATA[
<p>The licence terms / variation on MIT is interesting - unless this file is part of some standard I'm unaware of I'd expect it still shows as plain MIT for most automated SBOM collection/licence checks which feels problematic.<p>(<a href="https://github.com/rustrum/apate/blob/main/LICENSE-TERMS" rel="nofollow">https://github.com/rustrum/apate/blob/main/LICENSE-TERMS</a>)</p>
]]></description><pubDate>Mon, 02 Feb 2026 11:48:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=46854918</link><dc:creator>mnahkies</dc:creator><comments>https://news.ycombinator.com/item?id=46854918</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46854918</guid></item><item><title><![CDATA[New comment by mnahkies in "The WiFi only works when it's raining (2024)"]]></title><description><![CDATA[
<p>One of the more annoying things I've found moving country is the unavailability of keyboards / laptops with the layout I grew up with. I find it especially annoying as the country I'm from uses a US layout which I naively assumed would be easily available everywhere (and it is available but not without a long delivery and a premium price)<p>Side note: helping my French housemate with his uni assignments was an experience, none of the symbols were where I expected them to be</p>
]]></description><pubDate>Fri, 30 Jan 2026 13:45:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=46824302</link><dc:creator>mnahkies</dc:creator><comments>https://news.ycombinator.com/item?id=46824302</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46824302</guid></item><item><title><![CDATA[New comment by mnahkies in "I built a 2x faster lexer, then discovered I/O was the real bottleneck"]]></title><description><![CDATA[
<p>Something that struck me earlier this week was when profiling certain workloads, I'd really like a flame graph that included wall time waiting on IO, be it a database call, filesystem or other RPC.<p>For example, our integration test suite on a particular service has become quite slow, but it's not particularly clear where the time is going. I suspect a decent amount of time is being spent talking to postgres, but I'd like a low touch way to profile this</p>
]]></description><pubDate>Sun, 25 Jan 2026 11:51:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=46753261</link><dc:creator>mnahkies</dc:creator><comments>https://news.ycombinator.com/item?id=46753261</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46753261</guid></item><item><title><![CDATA[New comment by mnahkies in "6-Day and IP Address Certificates Are Generally Available"]]></title><description><![CDATA[
<p>I use a fairly niche provider (<a href="https://go-acme.github.io/lego/dns/zonomi/index.html" rel="nofollow">https://go-acme.github.io/lego/dns/zonomi/index.html</a>) and it's supported - I'd go further and say they support most providers</p>
]]></description><pubDate>Fri, 16 Jan 2026 21:09:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=46652244</link><dc:creator>mnahkies</dc:creator><comments>https://news.ycombinator.com/item?id=46652244</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46652244</guid></item><item><title><![CDATA[New comment by mnahkies in "Engineering dogmas it's time to retire"]]></title><description><![CDATA[
<p>I was going to make the same observation - typically this will be defined in your secure development policy or similar, and be part of your ISMS controls for whatever frameworks you're aligning to.<p>It's possible this is more relevant in B2B contexts than B2C</p>
]]></description><pubDate>Mon, 22 Dec 2025 10:41:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=46353012</link><dc:creator>mnahkies</dc:creator><comments>https://news.ycombinator.com/item?id=46353012</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46353012</guid></item><item><title><![CDATA[New comment by mnahkies in "Logging sucks"]]></title><description><![CDATA[
<p>I felt unsure whether to include that particular comment, but landed on including because I think it's a real danger. I've got no problem with people using AI and do use it for some things myself.<p>However I don't think you should outsource understanding to LLMs, and also think that shifting the effort from the writer to the reader is a poor strategy (and disrespectful to the reader)<p>edit: in case it's unclear I'm not accusing the author of having outsourced their understanding to AI, but I think it's a real risk that people can fall into, the value is in the thinking people put into things not the mechanics of typing it out</p>
]]></description><pubDate>Sun, 21 Dec 2025 23:00:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=46349520</link><dc:creator>mnahkies</dc:creator><comments>https://news.ycombinator.com/item?id=46349520</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46349520</guid></item><item><title><![CDATA[New comment by mnahkies in "Logging sucks"]]></title><description><![CDATA[
<p>We do have both a span id and trace id - but I personally find this more cumbersome over filtering on a user id. YMMV if you're interested in a single trace then you'd filter for that, but I find you often also care what happened "around" a trace</p>
]]></description><pubDate>Sun, 21 Dec 2025 20:17:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=46348016</link><dc:creator>mnahkies</dc:creator><comments>https://news.ycombinator.com/item?id=46348016</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46348016</guid></item><item><title><![CDATA[New comment by mnahkies in "Logging sucks"]]></title><description><![CDATA[
<p>That was difficult to read, smelt very AI assisted though the message was worthwhile, it could've been shorter and more to the point.<p>A few things I've been thinking about recently:<p>- we have authentication everywhere in our stack, so I've started including the user id on every log line. This makes getting a holistic view of what a user experienced much easier.<p>- logging an error as a separate log line to the request log is a pain. You can filter for the trace, but it makes it hard to surface "show me all the logs for 5xx requests and the error associated" - it's doable, but it's more difficult than filtering on the status code of the request log<p>- it's not enough to just start including that context, you have to educate your coworkers that it's now present. I've seen people making life hard for themselves because they didn't realize we'd added this context</p>
]]></description><pubDate>Sun, 21 Dec 2025 19:56:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=46347815</link><dc:creator>mnahkies</dc:creator><comments>https://news.ycombinator.com/item?id=46347815</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46347815</guid></item><item><title><![CDATA[New comment by mnahkies in "The pitfalls of partitioning Postgres yourself"]]></title><description><![CDATA[
<p>I'd consider myself pretty familiar with postgres partitioning, and even worked with systems that emulated partitioning through complex dynamic SQL through stored procs before it was supported natively.<p>But TIL, I didn't realize you could do multiple levels of partitioning in modern postgres, found this old blog post that touches on it <a href="https://joaodlf.com/postgresql-10-partitions-of-partitions.html" rel="nofollow">https://joaodlf.com/postgresql-10-partitions-of-partitions.h...</a><p>Something that stresses me is the number of partitions - we have some weekly partitions that have a long retention period, and whilst it hasn't become a problem yet, it feels like a ticking time bomb as the years go on.<p>Would a multi level partitioning scheme of say year -> week be a feasible way to side step the issues of growing partition counts?</p>
]]></description><pubDate>Fri, 19 Dec 2025 23:24:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=46332158</link><dc:creator>mnahkies</dc:creator><comments>https://news.ycombinator.com/item?id=46332158</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46332158</guid></item><item><title><![CDATA[New comment by mnahkies in "I got hacked: My Hetzner server started mining Monero"]]></title><description><![CDATA[
<p>My understanding of the issue is that even if you don't use server components, you're still vulnerable.<p><i>Unless</i> you're running a static html export - eg: not running the nextjs server, but serving through nginx or similar</p>
]]></description><pubDate>Thu, 18 Dec 2025 07:39:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=46309928</link><dc:creator>mnahkies</dc:creator><comments>https://news.ycombinator.com/item?id=46309928</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46309928</guid></item><item><title><![CDATA[New comment by mnahkies in "Put SSH keys in .git to make repos USB-portable"]]></title><description><![CDATA[
<p>I've moved to storing my keys in my password manager, using it as an ssh agent. Means clicking authorize a bit, but also means I'm running a command I'm expecting to use a key then being prompted to authorize (and if it ever prompts unexpectedly I can stop and ask why)<p>Hardware keys would be better, but I think this is a decent balance or security vs convenience for my needs ATM.</p>
]]></description><pubDate>Wed, 17 Dec 2025 20:31:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=46305098</link><dc:creator>mnahkies</dc:creator><comments>https://news.ycombinator.com/item?id=46305098</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46305098</guid></item><item><title><![CDATA[New comment by mnahkies in "Poor Johnny still won't encrypt"]]></title><description><![CDATA[
<p>I'd hate this, slack is an extension of my memory and it being long lived and searchable can be a super power - you don't have to remember all the details of everything, just enough of the who, what, when to find the rest.</p>
]]></description><pubDate>Sat, 13 Dec 2025 19:09:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=46257033</link><dc:creator>mnahkies</dc:creator><comments>https://news.ycombinator.com/item?id=46257033</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46257033</guid></item></channel></rss>