<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: maattdd</title><link>https://news.ycombinator.com/user?id=maattdd</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Tue, 26 May 2026 19:05:42 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=maattdd" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by maattdd in "Toshifumi Suzuki, founder of Seven-Eleven Japan, has died"]]></title><description><![CDATA[
<p>> not because pizzerias in Berlin or Warsaw<p>Well kinda actually. In countries with good culinary, even basic konbini food can be better than more "serious" restaurant in bad culinary countries.</p>
]]></description><pubDate>Tue, 26 May 2026 08:52:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=48276979</link><dc:creator>maattdd</dc:creator><comments>https://news.ycombinator.com/item?id=48276979</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48276979</guid></item><item><title><![CDATA[New comment by maattdd in "Japan Team Successfully Test Engine for Mach 5 Aircraft, Eyeing 2HR Trip to US"]]></title><description><![CDATA[
<p>Your conclusion is really a false dichotomy. 
The square of something very very small (close to zero) is negligeable : thus subortibal hop (Concorde was flying at 18km altitute for example).</p>
]]></description><pubDate>Mon, 18 May 2026 08:38:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=48176883</link><dc:creator>maattdd</dc:creator><comments>https://news.ycombinator.com/item?id=48176883</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48176883</guid></item><item><title><![CDATA[New comment by maattdd in "PHP will get an AOT compiler from the Swoole team in 2027"]]></title><description><![CDATA[
<p>I don't know much of PHP, but reaching "Rust/Go" performance is not simply because they have AOT compiler, but because the semantic of the language itself allows efficient compilation.<p>Many attempts has been made for an AOT compiler for Python and Ruby, but they don't reach those performance because of this.</p>
]]></description><pubDate>Thu, 23 Apr 2026 07:39:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=47873132</link><dc:creator>maattdd</dc:creator><comments>https://news.ycombinator.com/item?id=47873132</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47873132</guid></item><item><title><![CDATA[New comment by maattdd in "LinkedIn uses 2.4 GB RAM across two tabs"]]></title><description><![CDATA[
<p>Again, this is not by definition. This is by deduction.</p>
]]></description><pubDate>Thu, 02 Apr 2026 08:21:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=47611502</link><dc:creator>maattdd</dc:creator><comments>https://news.ycombinator.com/item?id=47611502</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47611502</guid></item><item><title><![CDATA[New comment by maattdd in "LinkedIn uses 2.4 GB RAM across two tabs"]]></title><description><![CDATA[
<p>This is not what "by definition" means.</p>
]]></description><pubDate>Mon, 30 Mar 2026 13:45:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=47574269</link><dc:creator>maattdd</dc:creator><comments>https://news.ycombinator.com/item?id=47574269</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47574269</guid></item><item><title><![CDATA[New comment by maattdd in "I built a $5.99 alternative to CleanMyMac because I was tired of paying $40/yr"]]></title><description><![CDATA[
<p>What about <a href="https://github.com/tw93/mole" rel="nofollow">https://github.com/tw93/mole</a> ?</p>
]]></description><pubDate>Tue, 24 Mar 2026 13:40:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=47502449</link><dc:creator>maattdd</dc:creator><comments>https://news.ycombinator.com/item?id=47502449</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47502449</guid></item><item><title><![CDATA[New comment by maattdd in "The new Apple begins to emerge"]]></title><description><![CDATA[
<p><a href="https://www.cpu-monkey.com/en/compare_cpu-apple_a18-vs-apple_m2" rel="nofollow">https://www.cpu-monkey.com/en/compare_cpu-apple_a18-vs-apple...</a></p>
]]></description><pubDate>Mon, 09 Mar 2026 15:01:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=47310026</link><dc:creator>maattdd</dc:creator><comments>https://news.ycombinator.com/item?id=47310026</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47310026</guid></item><item><title><![CDATA[New comment by maattdd in "Bugs Apple loves"]]></title><description><![CDATA[
<p>I'm (and millions other people) are using macOS with a classic scroll wheel mouse perfectly fine. Are you sure there is not something messing with the trackpad at the same time ? (this looking erratically random?)</p>
]]></description><pubDate>Fri, 23 Jan 2026 08:13:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=46729864</link><dc:creator>maattdd</dc:creator><comments>https://news.ycombinator.com/item?id=46729864</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46729864</guid></item><item><title><![CDATA[New comment by maattdd in "10x PostgreSQL performance boost on AWS RDS via ML-driven tuning"]]></title><description><![CDATA[
<p>TLDR: DBtune identified and tuned key server parameters that seem to have had a large impact, including random_page_cost and max_wal_size</p>
]]></description><pubDate>Wed, 14 Jan 2026 14:34:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=46616484</link><dc:creator>maattdd</dc:creator><comments>https://news.ycombinator.com/item?id=46616484</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46616484</guid></item><item><title><![CDATA[New comment by maattdd in "Claude Code gets native LSP support"]]></title><description><![CDATA[
<p>Zed uses clangd, I don't think clangd support only 90% of C++ (and I don't think it avoid hard work).</p>
]]></description><pubDate>Tue, 23 Dec 2025 14:27:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=46365551</link><dc:creator>maattdd</dc:creator><comments>https://news.ycombinator.com/item?id=46365551</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46365551</guid></item><item><title><![CDATA[New comment by maattdd in "Incomplete list of mistakes in the design of CSS"]]></title><description><![CDATA[
<p><a href="https://developer.mozilla.org/en-US/docs/Web/API/CSS_Object_Model" rel="nofollow">https://developer.mozilla.org/en-US/docs/Web/API/CSS_Object_...</a></p>
]]></description><pubDate>Thu, 11 Dec 2025 09:32:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=46229365</link><dc:creator>maattdd</dc:creator><comments>https://news.ycombinator.com/item?id=46229365</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46229365</guid></item><item><title><![CDATA[New comment by maattdd in "In C++ modules globally unique module names seem to be unavoidable"]]></title><description><![CDATA[
<p>export template
extern still exists.</p>
]]></description><pubDate>Thu, 02 Oct 2025 18:17:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=45453346</link><dc:creator>maattdd</dc:creator><comments>https://news.ycombinator.com/item?id=45453346</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45453346</guid></item><item><title><![CDATA[New comment by maattdd in "A polyglot's guide to multiple-dispatch (2016)"]]></title><description><![CDATA[
<p>TIL that std::visit supports multiple variants. How new is that ?</p>
]]></description><pubDate>Thu, 11 Sep 2025 09:00:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=45209367</link><dc:creator>maattdd</dc:creator><comments>https://news.ycombinator.com/item?id=45209367</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45209367</guid></item><item><title><![CDATA[New comment by maattdd in "Writing your own C++ standard library part 2"]]></title><description><![CDATA[
<p><i>Obviously</i> you can delete than iterate. He means delete while iterating.</p>
]]></description><pubDate>Mon, 02 Jun 2025 08:17:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=44156675</link><dc:creator>maattdd</dc:creator><comments>https://news.ycombinator.com/item?id=44156675</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44156675</guid></item><item><title><![CDATA[New comment by maattdd in "Writing your own C++ standard library part 2"]]></title><description><![CDATA[
<p>Examples of better design than abseil in a pure C++20 implementation</p>
]]></description><pubDate>Mon, 02 Jun 2025 08:13:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=44156659</link><dc:creator>maattdd</dc:creator><comments>https://news.ycombinator.com/item?id=44156659</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44156659</guid></item><item><title><![CDATA[Show HN: A Discord/Slack bot to watch HN comments]]></title><description><![CDATA[
<p>Some years ago, I discovered a bot called Little Birdie to watch HN comments for keywords and post a link to Slack. Unfortunately, it has disappeared and I've found myself missing this.<p>So this bot is a re-implementation of it, but now also supporting Discord.<p>It's very easy to use:
 1. install the bot on your workspace/guild
 2. /keywords add rust,hn,foobar (for Discord) ; @newsbutler add rust,hn,foobar (for Slack)
 3. done<p>For technical stuff : it is implemented in Crystal + Postgres (hosted on Render+Neon). I will certainly opensource it when I clean the repo of all production secret.<p>I'm the only user currently, so it is certainly missing some basic optimizations to support HN crowd size. Please don't hug it to death.</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=43437111">https://news.ycombinator.com/item?id=43437111</a></p>
<p>Points: 5</p>
<p># Comments: 0</p>
]]></description><pubDate>Fri, 21 Mar 2025 15:51:40 +0000</pubDate><link>https://newsbutler.xyz/</link><dc:creator>maattdd</dc:creator><comments>https://news.ycombinator.com/item?id=43437111</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43437111</guid></item><item><title><![CDATA[New comment by maattdd in "Knowing CSS is mastery to front end development"]]></title><description><![CDATA[
<p>Most of CSS is indeed statically typed (property have statically typed valid values). It's not true anymore when you introduce custom properties and IACVT though.</p>
]]></description><pubDate>Sun, 02 Mar 2025 22:47:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=43236085</link><dc:creator>maattdd</dc:creator><comments>https://news.ycombinator.com/item?id=43236085</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43236085</guid></item><item><title><![CDATA[New comment by maattdd in "Ask HN: What are you working on? (February 2025)"]]></title><description><![CDATA[
<p>It is working with both Slack and Discord already.<p>I was not aware of f5bot, but I got inspired by another bot called Little Birdie which doesn't exist anymore and it's basically just a re-implementation of it.</p>
]]></description><pubDate>Thu, 27 Feb 2025 05:36:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=43191661</link><dc:creator>maattdd</dc:creator><comments>https://news.ycombinator.com/item?id=43191661</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43191661</guid></item><item><title><![CDATA[New comment by maattdd in "Ask HN: What are you working on? (February 2025)"]]></title><description><![CDATA[
<p>I've been updating my HN bot (watch comments for keywords and post to Slack/Discord) written in Crystal to use raw SQL instead of unmaintained ORM.<p>Turns out the whole app needs only ~ 10 SQL requests, and it's way funier to write modern SQL than fighting the ORM.<p>The new code looks like this :<p><pre><code>    db_message = Model.save_new_message!(@conf.db, DbButler::Hn, item, DbState::Processing)
</code></pre>
Than I have a Model module with all the interactions with the DB<p><pre><code>    def self.save_new_message!(db, butler, external_id, state) : Message
        sql = {{ read_file "./db/save_new_message.sql" }}
        db.query_one(sql, butler.to_s.downcase, external_id, state.to_s.downcase, as: Message)
   end
</code></pre>
(thanks to Crystal ability to read a file at compile time - I can write raw SQL in a file with syntax highlithing and maybe typesafe if I connect the DB to the editor)<p>The land page is not ready, but the bot has been working for me for months <a href="https://newsbutler.xyz/" rel="nofollow">https://newsbutler.xyz/</a></p>
]]></description><pubDate>Mon, 24 Feb 2025 15:40:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=43160786</link><dc:creator>maattdd</dc:creator><comments>https://news.ycombinator.com/item?id=43160786</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43160786</guid></item><item><title><![CDATA[New comment by maattdd in "Rust Is Eating JavaScript (2023)"]]></title><description><![CDATA[
<p>You can avoid this with custom allocator in C++ for example, you don't have to actually do memory work at synchronous time (aka in destructor)</p>
]]></description><pubDate>Sun, 16 Feb 2025 16:14:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=43069140</link><dc:creator>maattdd</dc:creator><comments>https://news.ycombinator.com/item?id=43069140</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43069140</guid></item></channel></rss>