<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: nitely</title><link>https://news.ycombinator.com/user?id=nitely</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Mon, 31 Aug 2026 14:00:44 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=nitely" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[Fast Unicode (UTF-8) validation with autovectorization]]></title><description><![CDATA[
<p>Article URL: <a href="https://nitely.github.io/2026/08/30/fast-unicode-utf-8-validation.html">https://nitely.github.io/2026/08/30/fast-unicode-utf-8-validation.html</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=49495416">https://news.ycombinator.com/item?id=49495416</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Sun, 30 Aug 2026 03:24:01 +0000</pubDate><link>https://nitely.github.io/2026/08/30/fast-unicode-utf-8-validation.html</link><dc:creator>nitely</dc:creator><comments>https://news.ycombinator.com/item?id=49495416</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49495416</guid></item><item><title><![CDATA[New comment by nitely in "Finding all regex matches has always been O(n²)"]]></title><description><![CDATA[
<p>It's similar to RE2, but it lacks the on the fly DFA, ie: it's just the classic Thompson's NFA with some tweaks. It does not implement find all the same way, though.</p>
]]></description><pubDate>Tue, 24 Mar 2026 00:50:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=47497318</link><dc:creator>nitely</dc:creator><comments>https://news.ycombinator.com/item?id=47497318</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47497318</guid></item><item><title><![CDATA[New comment by nitely in "Finding all regex matches has always been O(n²)"]]></title><description><![CDATA[
<p>FWIW, nim-regex does achieve linear time in the rebar test[0], even if the regex includes capture groups. It's NFA based.<p>[0]: <a href="https://github.com/BurntSushi/rebar/pull/20#issuecomment-2562996491" rel="nofollow">https://github.com/BurntSushi/rebar/pull/20#issuecomment-256...</a></p>
]]></description><pubDate>Mon, 23 Mar 2026 23:22:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=47496480</link><dc:creator>nitely</dc:creator><comments>https://news.ycombinator.com/item?id=47496480</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47496480</guid></item><item><title><![CDATA[New comment by nitely in "A critical look at MCP"]]></title><description><![CDATA[
<p>Yes, and the client may do multiple requests, and if all take long to be processed you may end up with a lot of open connections at the same time (at least on http1), so there is a point to fast HTTP requests+SSE, instead of slow requests (and no SSE). Granted, if the server is HTTP2 the requests can share the same connection, but then it'd be similar to just using WS for this usage. Also, this allows to queue the work, and processed it either sequentially or concurrently.<p>By async I meant a process that may take longer than you are willing to do within the request/response cycle, not necessarily async IO.</p>
]]></description><pubDate>Sun, 11 May 2025 07:00:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=43951956</link><dc:creator>nitely</dc:creator><comments>https://news.ycombinator.com/item?id=43951956</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43951956</guid></item><item><title><![CDATA[New comment by nitely in "A critical look at MCP"]]></title><description><![CDATA[
<p>> What benefit is SSE providing here? Let the client decide when a session starts/ends by generating IDs and let the server maintain that session internally.<p>The response is generated asynchronously, instead of within the HTTP request/response cycle, and sent over SSE later. But emulating WS with HTTP requests+SSE seems very iffy, indeed.</p>
]]></description><pubDate>Sun, 11 May 2025 02:25:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=43950772</link><dc:creator>nitely</dc:creator><comments>https://news.ycombinator.com/item?id=43950772</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43950772</guid></item><item><title><![CDATA[New comment by nitely in "You might not need WebSockets"]]></title><description><![CDATA[
<p>not if you need bidirectional communication, for example a ping-pong of request/response. That is solved with WS, but hard to do with SSE+requests. The client requests may not even hit the same SSE server depending on your setup. There are workarounds obviously, but it complicates things.</p>
]]></description><pubDate>Sat, 12 Apr 2025 20:26:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=43667676</link><dc:creator>nitely</dc:creator><comments>https://news.ycombinator.com/item?id=43667676</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43667676</guid></item><item><title><![CDATA[HTTP/2 zero latency write coalescing]]></title><description><![CDATA[
<p>Article URL: <a href="https://nitely.github.io/2025/03/28/http-2-write-coalescing.html">https://nitely.github.io/2025/03/28/http-2-write-coalescing.html</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=43510376">https://news.ycombinator.com/item?id=43510376</a></p>
<p>Points: 8</p>
<p># Comments: 0</p>
]]></description><pubDate>Fri, 28 Mar 2025 22:12:51 +0000</pubDate><link>https://nitely.github.io/2025/03/28/http-2-write-coalescing.html</link><dc:creator>nitely</dc:creator><comments>https://news.ycombinator.com/item?id=43510376</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43510376</guid></item><item><title><![CDATA[New comment by nitely in "There isn't much point to HTTP/2 past the load balancer"]]></title><description><![CDATA[
<p>There is a gem that implements lightweight threads[0], and there is an HTTP/2 server that seems to abstract things out[1]. Your point probably still holds in the context of ruby + async + http/2; but then it's not http/2 fault, but rather ruby for not having a better concurrency story, like say golang.<p>[0]: <a href="https://github.com/socketry/async">https://github.com/socketry/async</a><p>[1]: <a href="https://github.com/socketry/falcon">https://github.com/socketry/falcon</a></p>
]]></description><pubDate>Fri, 28 Feb 2025 16:48:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=43207691</link><dc:creator>nitely</dc:creator><comments>https://news.ycombinator.com/item?id=43207691</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43207691</guid></item><item><title><![CDATA[New comment by nitely in "There isn't much point to HTTP/2 past the load balancer"]]></title><description><![CDATA[
<p>In reality you would build your application server on top of the HTTP/2 server, so you'd not have to deal with multiplexing, the server will hide that from you, so it's the same as an HTTP/1 server (ex: you pass some callback that gets called to handle the request). If you implement HTTP/2 from scratch, multiplexing is not even the most complex part... It's rather the sum of all parts: HPACK, flow-control, stream state, frames, settings, the large amount of validations, and so on.</p>
]]></description><pubDate>Fri, 28 Feb 2025 13:37:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=43205412</link><dc:creator>nitely</dc:creator><comments>https://news.ycombinator.com/item?id=43205412</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43205412</guid></item><item><title><![CDATA[New comment by nitely in "There isn't much point to HTTP/2 past the load balancer"]]></title><description><![CDATA[
<p>> I think ReadableStream/WritableStream APIs on browsers were supposed to change that, but I haven't followed the progress in the last few years.<p>There has been a lot of pushback against supporting full-duplex streams[0].<p>[0]: <a href="https://github.com/whatwg/fetch/issues/1254">https://github.com/whatwg/fetch/issues/1254</a></p>
]]></description><pubDate>Fri, 28 Feb 2025 12:52:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=43205061</link><dc:creator>nitely</dc:creator><comments>https://news.ycombinator.com/item?id=43205061</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43205061</guid></item><item><title><![CDATA[New comment by nitely in "There isn't much point to HTTP/2 past the load balancer"]]></title><description><![CDATA[
<p>> A h2 proxy usually wouldn't proxy through the http2 connection, it would instead accept h2, load-balance each request to a backend over a h2 (or h1) connection.<p>Each connection need to keep state of all processed requests (the HPACK dynamic headers table), so all request for a given connection need to be proxied through the same connection. Not sure I got what you meant, though.<p>Apart from that, I think the second sentence of my comment makes clear there is no smuggling as long as the connection before/past proxy is http2, and it's not downgraded to http1. That's all that I meant.</p>
]]></description><pubDate>Fri, 28 Feb 2025 01:02:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=43200444</link><dc:creator>nitely</dc:creator><comments>https://news.ycombinator.com/item?id=43200444</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43200444</guid></item><item><title><![CDATA[New comment by nitely in "There isn't much point to HTTP/2 past the load balancer"]]></title><description><![CDATA[
<p>In theory request smuggling is not possible with end-to-end HTTP/2. It's only possible if there is a downgrade to HTTP/1 at some point.</p>
]]></description><pubDate>Thu, 27 Feb 2025 21:20:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=43198634</link><dc:creator>nitely</dc:creator><comments>https://news.ycombinator.com/item?id=43198634</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43198634</guid></item><item><title><![CDATA[HTTP/2 in-depth server design]]></title><description><![CDATA[
<p>Article URL: <a href="https://nitely.github.io/2024/10/24/http-2-in-depth-server-client-design.html">https://nitely.github.io/2024/10/24/http-2-in-depth-server-client-design.html</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=43041521">https://news.ycombinator.com/item?id=43041521</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Thu, 13 Feb 2025 21:21:18 +0000</pubDate><link>https://nitely.github.io/2024/10/24/http-2-in-depth-server-client-design.html</link><dc:creator>nitely</dc:creator><comments>https://news.ycombinator.com/item?id=43041521</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43041521</guid></item><item><title><![CDATA[New comment by nitely in "Writing secure Go code"]]></title><description><![CDATA[
<p>They are going to add boilerplate free error handling sooner or later. There are many proposals for "Go 2" already.</p>
]]></description><pubDate>Tue, 05 Nov 2024 10:07:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=42050200</link><dc:creator>nitely</dc:creator><comments>https://news.ycombinator.com/item?id=42050200</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42050200</guid></item><item><title><![CDATA[HTTP/2 in-depth server design]]></title><description><![CDATA[
<p>Article URL: <a href="https://nitely.github.io/2024/10/24/http-2-in-depth-server-client-design.html">https://nitely.github.io/2024/10/24/http-2-in-depth-server-client-design.html</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=41940987">https://news.ycombinator.com/item?id=41940987</a></p>
<p>Points: 4</p>
<p># Comments: 0</p>
]]></description><pubDate>Thu, 24 Oct 2024 23:52:43 +0000</pubDate><link>https://nitely.github.io/2024/10/24/http-2-in-depth-server-client-design.html</link><dc:creator>nitely</dc:creator><comments>https://news.ycombinator.com/item?id=41940987</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41940987</guid></item><item><title><![CDATA[New comment by nitely in "Mitmproxy 11: Full HTTP/3 Support"]]></title><description><![CDATA[
<p>Something not mentioned: web-browsers limit the number of connections per domain to 6. With +http/2 they will use a single connection for multiple concurrent requests.</p>
]]></description><pubDate>Sat, 05 Oct 2024 04:52:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=41747811</link><dc:creator>nitely</dc:creator><comments>https://news.ycombinator.com/item?id=41747811</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41747811</guid></item><item><title><![CDATA[New comment by nitely in "Recent Performance Improvements in Function Calls in CPython"]]></title><description><![CDATA[
<p>If those libraries are doing something at import time, then it could take any amount of time, TBF.</p>
]]></description><pubDate>Fri, 09 Aug 2024 13:49:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=41201827</link><dc:creator>nitely</dc:creator><comments>https://news.ycombinator.com/item?id=41201827</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41201827</guid></item><item><title><![CDATA[New comment by nitely in "A bunch of programming advice I'd give to myself 15 years ago"]]></title><description><![CDATA[
<p>I'll second this. There are a lot of good managers that care more about the product than some team metrics. Same for coworkers that care about improving. Don't let one bad manager define how you'll do things in your next job.</p>
]]></description><pubDate>Sun, 30 Jun 2024 11:26:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=40836596</link><dc:creator>nitely</dc:creator><comments>https://news.ycombinator.com/item?id=40836596</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40836596</guid></item><item><title><![CDATA[New comment by nitely in "Regular expression matching can be simple and fast (2007)"]]></title><description><![CDATA[
<p>Look-arounds can be implemented in quadratic time for unbounded expressions (i.e: containing +, *), and linear time for bounded expressions quite easily. And I suspect they can be implemented in (super)linear time in general by matching them in parallel to the NFA.</p>
]]></description><pubDate>Tue, 21 May 2024 18:16:18 +0000</pubDate><link>https://news.ycombinator.com/item?id=40431848</link><dc:creator>nitely</dc:creator><comments>https://news.ycombinator.com/item?id=40431848</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40431848</guid></item><item><title><![CDATA[New comment by nitely in "Becoming a dungeon master for an interview"]]></title><description><![CDATA[
<p>Explaining the reasoning while solving the code puzzle is the most important part, though. Just being able to solve them without speaking a word has never been enough. Unless you are talking about automated coding tests (but that also has never been enough).</p>
]]></description><pubDate>Sat, 10 Feb 2024 23:22:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=39331218</link><dc:creator>nitely</dc:creator><comments>https://news.ycombinator.com/item?id=39331218</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39331218</guid></item></channel></rss>