<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: majke</title><link>https://news.ycombinator.com/user?id=majke</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sun, 12 Apr 2026 16:38:48 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=majke" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by majke in "We've raised $17M to build what comes after Git"]]></title><description><![CDATA[
<p>I’m also contemplating a lego sorting machine.</p>
]]></description><pubDate>Fri, 10 Apr 2026 06:29:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=47714340</link><dc:creator>majke</dc:creator><comments>https://news.ycombinator.com/item?id=47714340</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47714340</guid></item><item><title><![CDATA[New comment by majke in "Defer available in gcc and clang"]]></title><description><![CDATA[
<p>Not necessarily. In classic C we often build complex state machines to handle errors - especially when there are many things that need to be initialized (malloced) one after another and each might fail. Think the infamous "goto error".<p>I think defer{} can simplify these flows sometimes, so it can indeed be useful for good old style C.</p>
]]></description><pubDate>Fri, 20 Feb 2026 07:10:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=47084714</link><dc:creator>majke</dc:creator><comments>https://news.ycombinator.com/item?id=47084714</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47084714</guid></item><item><title><![CDATA[New comment by majke in "AVX-512: First Impressions on Performance and Programmability"]]></title><description><![CDATA[
<p>Ispc looks interesting. Does it work with amd? They hint on gpu’s , i guess mostly intel ones?</p>
]]></description><pubDate>Mon, 19 Jan 2026 08:15:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=46676220</link><dc:creator>majke</dc:creator><comments>https://news.ycombinator.com/item?id=46676220</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46676220</guid></item><item><title><![CDATA[New comment by majke in "North Dakota law lists fake critical minerals based on coal lawyers' names"]]></title><description><![CDATA[
<p>So... does it mean that nobody reads the law? Is it good or bad? What is the takeaway?</p>
]]></description><pubDate>Sun, 04 Jan 2026 21:29:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=46492468</link><dc:creator>majke</dc:creator><comments>https://news.ycombinator.com/item?id=46492468</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46492468</guid></item><item><title><![CDATA[New comment by majke in "2002: Last.fm and Audioscrobbler Herald the Social Web"]]></title><description><![CDATA[
<p>Richard Jones is still alive and kicking <a href="https://x.com/metabrew" rel="nofollow">https://x.com/metabrew</a></p>
]]></description><pubDate>Sun, 14 Dec 2025 21:13:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=46266975</link><dc:creator>majke</dc:creator><comments>https://news.ycombinator.com/item?id=46266975</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46266975</guid></item><item><title><![CDATA[New comment by majke in "VPN location claims don't match real traffic exits"]]></title><description><![CDATA[
<p>Back in 2022 I published a doc on how the egress IPs work at Cloudflare:<p><a href="https://blog.cloudflare.com/cloudflare-servers-dont-own-ips-anymore/" rel="nofollow">https://blog.cloudflare.com/cloudflare-servers-dont-own-ips-...</a><p>In summary, the location at which an IP egresses Cloudflare network has nothing to do with the geo-ip mapping of that IP. In some cases the decision on where to egress is optimised for "location closest to the user", but this is also not always true.<p>And then there is the Internet. Often some country (say Iran) egresses from a totally different place (like Frankfurt) due to geopolitics and just location of cables.</p>
]]></description><pubDate>Sun, 14 Dec 2025 08:58:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=46261755</link><dc:creator>majke</dc:creator><comments>https://news.ycombinator.com/item?id=46261755</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46261755</guid></item><item><title><![CDATA[New comment by majke in "Pop Goes the Population Count?"]]></title><description><![CDATA[
<p>Hey! Popcount used to be my favorite instruction. Now I think I prefer LOP3 though :)</p>
]]></description><pubDate>Thu, 11 Dec 2025 17:56:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=46234683</link><dc:creator>majke</dc:creator><comments>https://news.ycombinator.com/item?id=46234683</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46234683</guid></item><item><title><![CDATA[New comment by majke in "Ask HN: Scheduling stateful nodes when MMAP makes memory accounting a lie"]]></title><description><![CDATA[
<p>> Coordinator sees Node A has significantly fewer rows (logical count) than the cluster average. It flags Node A as "underutilized."<p>Ok, so you are dealing with a classic - you measure A, but what matters is B. For "load" balancing a decent metric is, well, response time (and jitter).<p>For data partitioning - I guess number of rows is not the right metric? Change it to number*avg_size or something?<p>If you can't measure the thing directly, then take a look at stuff like "PID controller". This can be approach as a typical controller loop problem, although in 99% doing PID for software systems is an overkill.</p>
]]></description><pubDate>Mon, 24 Nov 2025 19:36:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=46038251</link><dc:creator>majke</dc:creator><comments>https://news.ycombinator.com/item?id=46038251</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46038251</guid></item><item><title><![CDATA[New comment by majke in "Questions for Cloudflare"]]></title><description><![CDATA[
<p>Questions for "questions for cloudflare" owner</p>
]]></description><pubDate>Wed, 19 Nov 2025 17:04:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=45981963</link><dc:creator>majke</dc:creator><comments>https://news.ycombinator.com/item?id=45981963</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45981963</guid></item><item><title><![CDATA[New comment by majke in "How to escape the Linux networking stack"]]></title><description><![CDATA[
<p>> > faster - less context switches and copies<p>This is very much newbie way of thinking. How do you know? Did you profile it?<p>It turns out there is surprisingly little dumb zero-copy potential at CF. Most of the stuff is TLS, so stuff needs to go through userspace anyway (kTLS exists, but I failed to actually use it, and what about QUIC).<p>Most of the cpu is burned on dumb things, like application logic. Turns out data copying and encryption and compression are actually pretty fast.  I'm not saying these areas aren't ripe for optimization - but the majority of the cost was historically in much more obvious areas.</p>
]]></description><pubDate>Tue, 18 Nov 2025 08:03:07 +0000</pubDate><link>https://news.ycombinator.com/item?id=45962541</link><dc:creator>majke</dc:creator><comments>https://news.ycombinator.com/item?id=45962541</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45962541</guid></item><item><title><![CDATA[New comment by majke in "How to escape the Linux networking stack"]]></title><description><![CDATA[
<p>This happened before my watch, but I always was rooting for Linux. Linux is winning on many aspects. Consider the featureset of iptables (CF uses loads of stuff, from "comment" to "tproxy"), bpf for metrics is a killer (ebpf_exporter), bpf for DDoS (XDP), Tcp fast open, UDP segmentation stuff, kTLS (arguably half-working). Then there is non-networking things like Docker, virtio ecosystem (vhost), seccomp, namespaces (net namespace for testing network apps is awesome). And the list goes on. Not to mention hiring is easier for Linux admins.</p>
]]></description><pubDate>Tue, 18 Nov 2025 07:59:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=45962503</link><dc:creator>majke</dc:creator><comments>https://news.ycombinator.com/item?id=45962503</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45962503</guid></item><item><title><![CDATA[New comment by majke in "SocketAddrV6 is not roundtrip serializable"]]></title><description><![CDATA[
<p>Falsehoods programmers think about addresses:<p>- parsing addresses is well defined (try parsing ::1%3)<p>- since 127.0.0.2 is on loopback, ::2 surely also would be<p>- interface number on Linux is unique<p>- unix domain socket names are zero-terminated (abstract are not)<p>- sin6_flowinfo matters (it doens;t unless you opt-in with setsockopt)<p>- sin6_scope_id matters (it doesn't unless on site-local range)<p>(I wonder if scope_id would work on ipv4-mapped-IPv6, but if I remember right I checked and it didn't)<p>- In ipv4, scope_id doesnt exist (true but it can be achieved by binding to interface)<p>and so on...<p>Years ago I tried to document all the quirks I knew about 
<a href="https://idea.popcount.org/2019-12-06-addressing/" rel="nofollow">https://idea.popcount.org/2019-12-06-addressing/</a></p>
]]></description><pubDate>Tue, 04 Nov 2025 23:39:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=45817198</link><dc:creator>majke</dc:creator><comments>https://news.ycombinator.com/item?id=45817198</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45817198</guid></item><item><title><![CDATA[New comment by majke in "Bloom filters are good for search that does not scale"]]></title><description><![CDATA[
<p>Bing uses bloom filters for the most-recent index:<p><a href="https://dl.acm.org/doi/pdf/10.1145/3077136.3080789" rel="nofollow">https://dl.acm.org/doi/pdf/10.1145/3077136.3080789</a><p><a href="https://bitfunnel.org/strangeloop/" rel="nofollow">https://bitfunnel.org/strangeloop/</a></p>
]]></description><pubDate>Tue, 04 Nov 2025 11:20:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=45809710</link><dc:creator>majke</dc:creator><comments>https://news.ycombinator.com/item?id=45809710</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45809710</guid></item><item><title><![CDATA[New comment by majke in "Oxy is Cloudflare's Rust-based next generation proxy framework (2023)"]]></title><description><![CDATA[
<p>There should be a political party for people who use opcode mnemonics as their nicknames or domain names.</p>
]]></description><pubDate>Mon, 03 Nov 2025 07:45:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=45796747</link><dc:creator>majke</dc:creator><comments>https://news.ycombinator.com/item?id=45796747</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45796747</guid></item><item><title><![CDATA[New comment by majke in "Raspberry Pi Pico Bit-Bangs 100 Mbit/S Ethernet"]]></title><description><![CDATA[
<p>I'm confused. Why is there gnuradio on the screen? The RPI seems to have power (micro usb), TX (two wires to the ethernet port on the laptop), and ... what is the third thing?</p>
]]></description><pubDate>Thu, 30 Oct 2025 12:18:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=45759205</link><dc:creator>majke</dc:creator><comments>https://news.ycombinator.com/item?id=45759205</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45759205</guid></item><item><title><![CDATA[New comment by majke in "An overengineered solution to `sort | uniq -c` with 25x throughput (hist)"]]></title><description><![CDATA[
<p>I thought my mmuniq holds the crown!<p><a href="https://blog.cloudflare.com/when-bloom-filters-dont-bloom/" rel="nofollow">https://blog.cloudflare.com/when-bloom-filters-dont-bloom/</a><p><a href="https://github.com/majek/mmuniq" rel="nofollow">https://github.com/majek/mmuniq</a></p>
]]></description><pubDate>Mon, 27 Oct 2025 08:33:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=45718576</link><dc:creator>majke</dc:creator><comments>https://news.ycombinator.com/item?id=45718576</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45718576</guid></item><item><title><![CDATA[New comment by majke in "Alibaba Cloud says it cut Nvidia AI GPU use by 82% with new pooling system"]]></title><description><![CDATA[
<p>better link <a href="https://www.tomshardware.com/tech-industry/semiconductors/alibaba-says-new-pooling-system-cut-nvidia-gpu-use-by-82-percent" rel="nofollow">https://www.tomshardware.com/tech-industry/semiconductors/al...</a><p>paper 
<a href="https://dl.acm.org/doi/10.1145/3731569.3764815" rel="nofollow">https://dl.acm.org/doi/10.1145/3731569.3764815</a></p>
]]></description><pubDate>Mon, 20 Oct 2025 13:02:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=45643416</link><dc:creator>majke</dc:creator><comments>https://news.ycombinator.com/item?id=45643416</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45643416</guid></item><item><title><![CDATA[New comment by majke in "Your data model is your destiny"]]></title><description><![CDATA[
<p>In simplest scenarios software is not aware of the IP space. Like you bind to 0.0.0.0:443 and move on.<p>In more sophisticated configs adding / removing IP's or TLS certs requires restarting server, configuring applications. This gets out of hand quickly. Like what if your server has primary IP removed, because the IP space is recycled.<p>At CF all these things were just a row in database, and systems were created to project it down to http server config, network card setting, BGP configurations, etc. All this is fully automated.<p>So an action like "adding an IP block" is super simple. This is unique. AFAIK everyone else in the industry, back in 2012, was treating IP's and TLS more like hardware. Like a disk. You install it once and it stays there for the lifetime of the server.</p>
]]></description><pubDate>Fri, 17 Oct 2025 10:18:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=45615006</link><dc:creator>majke</dc:creator><comments>https://news.ycombinator.com/item?id=45615006</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45615006</guid></item><item><title><![CDATA[New comment by majke in "Your data model is your destiny"]]></title><description><![CDATA[
<p>I totally agree. Early days Cloudflare was a great example of this. We treated IP addresses as data, not as configuration. New subnet? INSERT INTO and we're done. Blocked IP? DELETE FROM, and tadam. This was a huge differentiator from other CDN's and allowed us extreme flexibility. The real magic and complexity was with automatic generating and managing HTTPS certs (days before SNI).</p>
]]></description><pubDate>Fri, 17 Oct 2025 06:53:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=45613974</link><dc:creator>majke</dc:creator><comments>https://news.ycombinator.com/item?id=45613974</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45613974</guid></item><item><title><![CDATA[New comment by majke in "Why did containers happen?"]]></title><description><![CDATA[
<p>Most of the responses here are knee-jerk.<p>I liked the article. It's close to my adverntures with containers. I think the invention of docker is indeed mostly packaging: Dockerfile (functional) is pretty neat, docker hub (addressing a container) is awesome, and the ENTRYPOINT in Dockerfile is great, it distinguishes Docker from .deb.<p>But indeed, beyond Dockerfile things are bleak. Docker compose never rose to my expectations. To get serious things you need load blancer, storage, addressing, and these are beyond traditional containers scope.</p>
]]></description><pubDate>Wed, 15 Oct 2025 10:07:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=45590212</link><dc:creator>majke</dc:creator><comments>https://news.ycombinator.com/item?id=45590212</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45590212</guid></item></channel></rss>