<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: adontz</title><link>https://news.ycombinator.com/user?id=adontz</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sat, 25 Apr 2026 12:28:09 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=adontz" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by adontz in "DialUp95 – A 90s inspired nostalgia hit"]]></title><description><![CDATA[
<p>Very similar, thank you so much</p>
]]></description><pubDate>Wed, 25 Feb 2026 13:18:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=47151098</link><dc:creator>adontz</dc:creator><comments>https://news.ycombinator.com/item?id=47151098</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47151098</guid></item><item><title><![CDATA[New comment by adontz in "DialUp95 – A 90s inspired nostalgia hit"]]></title><description><![CDATA[
<p>Oh, nostalgia. I had a US Robotics 56K modem, which produced two bell-alike sounds during handshake. It was cool. I search for that specific sounds for years and cannot find.</p>
]]></description><pubDate>Sat, 21 Feb 2026 18:47:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=47103476</link><dc:creator>adontz</dc:creator><comments>https://news.ycombinator.com/item?id=47103476</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47103476</guid></item><item><title><![CDATA[New comment by adontz in "htmx: Server Sent Event (SSE) Extension"]]></title><description><![CDATA[
<p>HTMX can do much more than just innerHTML swap.<p><a href="https://htmx.org/attributes/hx-swap/" rel="nofollow">https://htmx.org/attributes/hx-swap/</a>
<a href="https://htmx.org/attributes/hx-swap-oob/" rel="nofollow">https://htmx.org/attributes/hx-swap-oob/</a>
<a href="https://htmx.org/attributes/hx-target/" rel="nofollow">https://htmx.org/attributes/hx-target/</a></p>
]]></description><pubDate>Sat, 31 Jan 2026 13:35:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=46836560</link><dc:creator>adontz</dc:creator><comments>https://news.ycombinator.com/item?id=46836560</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46836560</guid></item><item><title><![CDATA[New comment by adontz in "I dumped Windows 11 for Linux, and you should too"]]></title><description><![CDATA[
<p>I'm currently developing ASP.Net Core services and modern .Net is quite nice. Everyone around me uses absolutely free Visual Studio Community edition, so it would be weird to not use it.</p>
]]></description><pubDate>Sun, 11 Jan 2026 18:04:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=46577935</link><dc:creator>adontz</dc:creator><comments>https://news.ycombinator.com/item?id=46577935</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46577935</guid></item><item><title><![CDATA[New comment by adontz in "I dumped Windows 11 for Linux, and you should too"]]></title><description><![CDATA[
<p>These articles... I'm not sure who are the target audience, because I am definitely not and I don't know anyone who is.
Specific OS is not the important, anything with modern KDE is good enough to replace Windows 10/11.<p>But do I (and all my colleagues) need Microsoft Office (Word, Excel at least) and/or Drawing software (Adobe or something) and/or god forbid Visual Studio 2026, and some other corporate software to make a living? Inevitably yes.</p>
]]></description><pubDate>Sun, 11 Jan 2026 12:47:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=46575294</link><dc:creator>adontz</dc:creator><comments>https://news.ycombinator.com/item?id=46575294</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46575294</guid></item><item><title><![CDATA[New comment by adontz in "Google is down in Eastern Europe"]]></title><description><![CDATA[
<p><a href="https://news.ycombinator.com/item?id=45124458">https://news.ycombinator.com/item?id=45124458</a></p>
]]></description><pubDate>Thu, 04 Sep 2025 07:55:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=45124774</link><dc:creator>adontz</dc:creator><comments>https://news.ycombinator.com/item?id=45124774</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45124774</guid></item><item><title><![CDATA[New comment by adontz in "Is Google Down? - EU networking issue"]]></title><description><![CDATA[
<p>In particular the following are not accessible
ajax.googleapis.com
fonts.gstatic.com
gmail.com
google.com
www.googletagmanager.com
www.youtube.com</p>
]]></description><pubDate>Thu, 04 Sep 2025 07:50:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=45124734</link><dc:creator>adontz</dc:creator><comments>https://news.ycombinator.com/item?id=45124734</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45124734</guid></item><item><title><![CDATA[New comment by adontz in "Is Google Down? - EU networking issue"]]></title><description><![CDATA[
<p>Same in Georgia</p>
]]></description><pubDate>Thu, 04 Sep 2025 07:45:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=45124692</link><dc:creator>adontz</dc:creator><comments>https://news.ycombinator.com/item?id=45124692</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45124692</guid></item><item><title><![CDATA[New comment by adontz in "Nginx introduces native support for ACME protocol"]]></title><description><![CDATA[
<p>It's a Python package you can install with pip, never ever installed it with Snap</p>
]]></description><pubDate>Thu, 14 Aug 2025 12:00:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=44899368</link><dc:creator>adontz</dc:creator><comments>https://news.ycombinator.com/item?id=44899368</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44899368</guid></item><item><title><![CDATA[New comment by adontz in "Nginx introduces native support for ACME protocol"]]></title><description><![CDATA[
<p>certbot has an plugin for nginx, so I'm not sure why people think is was hard to use LetsEncrypt with nginx.</p>
]]></description><pubDate>Wed, 13 Aug 2025 16:31:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=44890604</link><dc:creator>adontz</dc:creator><comments>https://news.ycombinator.com/item?id=44890604</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44890604</guid></item><item><title><![CDATA[New comment by adontz in "SQL Injection as a Feature"]]></title><description><![CDATA[
<p>What people often don't realize is that in a big business system a user may have no permission to raw data of some table, but may have permission to report which includes aggregated data of the same table, so report permissions cannot be deducted from base CRUD permissions.<p>If such SIAAS<p><pre><code>    - Checks that query is SELECT query (can be tricky with CTE, requires proper SQL parser)
    - Allows editing said query by superuser only
    - Can be parametrized, including implicit $current_user_id$ parameter
    - Has it's own permissions and users can run the query if they have permissions
</code></pre>
It's safe enough. I've seen and applied such "Edit raw SQL in HTML form" many times. It's super flexible, especially combined with some CSV-to-HTML, CSV-to-PDF, or CSV-to-XLS rendering engine.</p>
]]></description><pubDate>Wed, 23 Jul 2025 11:35:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=44658017</link><dc:creator>adontz</dc:creator><comments>https://news.ycombinator.com/item?id=44658017</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44658017</guid></item><item><title><![CDATA[New comment by adontz in "Plain – a web framework for building products with Python"]]></title><description><![CDATA[
<p>I've successfully replaced django.contrib.auth multiple times. It it not easy, but it is not too hard either. Honestly, everything else they do could be a regular Django app. Looks to me like forking a big project became a marketing move rather than technology necessity.</p>
]]></description><pubDate>Sat, 29 Mar 2025 11:01:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=43514468</link><dc:creator>adontz</dc:creator><comments>https://news.ycombinator.com/item?id=43514468</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43514468</guid></item><item><title><![CDATA[New comment by adontz in "I built a website where you can pop confettis for no reason"]]></title><description><![CDATA[
<p>Thank you. I really needed that in my life today.</p>
]]></description><pubDate>Thu, 30 Jan 2025 11:07:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=42876718</link><dc:creator>adontz</dc:creator><comments>https://news.ycombinator.com/item?id=42876718</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42876718</guid></item><item><title><![CDATA[New comment by adontz in "Ask HN: Who wants to be hired? (December 2024)"]]></title><description><![CDATA[
<p>Location: Georgia<p>Remote: Yes<p>Willing to Relocate: Yes<p>Technologies: .Net, Ansible, AWS (DynamoDB, EC2, ElasiCache, Lambda, Organizations, RDS, etc.), Azure, C, C++ (Qt), C# (WPF), Jira, Go, Linux, Python (Django), TailwindCSS, Terraform, reverse engineering formats and protocols, cryptocurrencies<p>LinkedIn: <a href="https://www.linkedin.com/in/adontz/" rel="nofollow">https://www.linkedin.com/in/adontz/</a><p>Email: roman@adontz.com<p>I am an Engineer with experience in backend software development, desktop software development, embedded development, electronics, and infrastructure management. I like to know things.<p>In recent years I was head of DevOps department in a bank and CTO is an early stage startup. Love open source.</p>
]]></description><pubDate>Tue, 03 Dec 2024 17:04:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=42308420</link><dc:creator>adontz</dc:creator><comments>https://news.ycombinator.com/item?id=42308420</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42308420</guid></item><item><title><![CDATA[New comment by adontz in "[dead]"]]></title><description><![CDATA[
<p>A bit of a first-hand witness context<p>The Georgian Dream party rigged the elections, stole at least 20% of the votes, securing a constitutional majority.<p>During the election campaign, the Georgian Dream party promised its voters EU membership.<p>The party approved the composition of the parliament and government with a gross violation of the law.<p>The party presented an average football player without a higher education as a candidate for the country's president. This same person could not become the president of the football federation due to the lack of a higher education.<p>The self-appointed prime minister announced that the question of EU membership will not be considered until 2028.<p>Unorganized protests began simultaneously in five cities. Police dispersed people with a mixture of cold water and pepper spray. Dozens of protesters were hospitalized with chemical burns to their skin.</p>
]]></description><pubDate>Fri, 29 Nov 2024 07:17:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=42271646</link><dc:creator>adontz</dc:creator><comments>https://news.ycombinator.com/item?id=42271646</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42271646</guid></item><item><title><![CDATA[New comment by adontz in "Hyrum’s Law in Golang"]]></title><description><![CDATA[
<p>Nobody teaches people to use them. There is no analog to "catch most specific exceptions" culture in other languages.</p>
]]></description><pubDate>Thu, 21 Nov 2024 09:47:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=42202617</link><dc:creator>adontz</dc:creator><comments>https://news.ycombinator.com/item?id=42202617</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42202617</guid></item><item><title><![CDATA[New comment by adontz in "Hyrum's Law in Golang"]]></title><description><![CDATA[
<p>Nope, exceptions in Python are not the same. There are a lot of standard exceptions<p><a href="https://docs.python.org/3/library/exceptions.html#concrete-exceptions" rel="nofollow">https://docs.python.org/3/library/exceptions.html#concrete-e...</a><p>and standard about exception type hierarchy<p><a href="https://github.com/psycopg/psycopg/blob/d38cf7798b0c602ff43dac9f20bbab96237a9c38/psycopg/psycopg/errors.py">https://github.com/psycopg/psycopg/blob/d38cf7798b0c602ff43d...</a><p><a href="https://peps.python.org/pep-0249/#exceptions" rel="nofollow">https://peps.python.org/pep-0249/#exceptions</a><p>Also in most languages "catch Exception:" (or similar expression) is considered a bad style. People are taught to catch specific exceptions. Nothing like that happens in Go.</p>
]]></description><pubDate>Thu, 21 Nov 2024 09:46:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=42202610</link><dc:creator>adontz</dc:creator><comments>https://news.ycombinator.com/item?id=42202610</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42202610</guid></item><item><title><![CDATA[New comment by adontz in "Hyrum's Law in Golang"]]></title><description><![CDATA[
<p>Honestly, this is so much worse than "catch". It's what a "catch" would look like in "C".</p>
]]></description><pubDate>Thu, 21 Nov 2024 08:30:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=42202261</link><dc:creator>adontz</dc:creator><comments>https://news.ycombinator.com/item?id=42202261</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42202261</guid></item><item><title><![CDATA[New comment by adontz in "Hyrum's Law in Golang"]]></title><description><![CDATA[
<p>This is a good example of "stringly typed" software. Golang designers did not want exceptions (still have them with panic/recover), but untyped errors are evil. On the other hand, how would one process typed errors without pattern matching? Because "catch" in most languages is a [rudimentary] pattern matching.<p><a href="https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/statements/exception-handling-statements#a-when-exception-filter" rel="nofollow">https://learn.microsoft.com/en-us/dotnet/csharp/language-ref...</a></p>
]]></description><pubDate>Thu, 21 Nov 2024 08:28:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=42202248</link><dc:creator>adontz</dc:creator><comments>https://news.ycombinator.com/item?id=42202248</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42202248</guid></item><item><title><![CDATA[New comment by adontz in "Hyrum’s Law in Golang"]]></title><description><![CDATA[
<p><a href="https://www.joelonsoftware.com/2000/05/24/strategy-letter-ii-chicken-and-egg-problems/" rel="nofollow">https://www.joelonsoftware.com/2000/05/24/strategy-letter-ii...</a><p>Jon Ross, who wrote the original version of SimCity for Windows 3.x, told me that he accidentally left a bug in SimCity where he read memory that he had just freed. Yep. It worked fine on Windows 3.x, because the memory never went anywhere. Here’s the amazing part: On beta versions of Windows 95, SimCity wasn’t working in testing. Microsoft tracked down the bug and added specific code to Windows 95 that looks for SimCity. If it finds SimCity running, it runs the memory allocator in a special mode that doesn’t free memory right away. That’s the kind of obsession with backward compatibility that made people willing to upgrade to Windows 95.</p>
]]></description><pubDate>Thu, 21 Nov 2024 08:23:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=42202221</link><dc:creator>adontz</dc:creator><comments>https://news.ycombinator.com/item?id=42202221</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42202221</guid></item></channel></rss>