<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: canto</title><link>https://news.ycombinator.com/user?id=canto</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sat, 07 Nov 2026 16:47:15 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=canto" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by canto in "Claude Code sends your email address to websites"]]></title><description><![CDATA[
<p>There was literally 3 meaningless comments before mine in this thread and no proof in the original issue and it still went viral.</p>
]]></description><pubDate>Fri, 06 Nov 2026 17:22:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=50395340</link><dc:creator>canto</dc:creator><comments>https://news.ycombinator.com/item?id=50395340</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50395340</guid></item><item><title><![CDATA[New comment by canto in "Ask HN: What your experience with the monthly "who wants to be hired" thread?"]]></title><description><![CDATA[
<p>How this got into the main page having 3 points in 3 minutes only? Hmmm...<p>You put your email online - you get spam. Easy.</p>
]]></description><pubDate>Wed, 04 Nov 2026 22:22:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=50372324</link><dc:creator>canto</dc:creator><comments>https://news.ycombinator.com/item?id=50372324</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50372324</guid></item><item><title><![CDATA[New comment by canto in "Shopify is moving from React Native back to Swift and Kotlin"]]></title><description><![CDATA[
<p>yeah, apologies, i shouldn't be doing that but it's just... doh</p>
]]></description><pubDate>Fri, 11 Sep 2026 10:03:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=49655935</link><dc:creator>canto</dc:creator><comments>https://news.ycombinator.com/item?id=49655935</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49655935</guid></item><item><title><![CDATA[New comment by canto in "Shopify is moving from React Native back to Swift and Kotlin"]]></title><description><![CDATA[
<p>and only 23% on iOS.
Now while those can initially seems significant, it's still a web app, doh, a web page, that loads non deterministic stuff.
Even in their tests, the page that loads native vs RN is simply... different.
Different things take different time to load, yeah, who would have though.
Not even mentioning that this "performance" is only app startup, lol.
Ah, sorry, my bad, 120fps when browsing items on the web.<p>Don't get me wrong I don't have anything against AI, I'm a heavy user myself, but refactoring everything just for the sake of it and bragging on HN with little to no tangible effects - that's a whole different story.</p>
]]></description><pubDate>Fri, 11 Sep 2026 10:02:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=49655916</link><dc:creator>canto</dc:creator><comments>https://news.ycombinator.com/item?id=49655916</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49655916</guid></item><item><title><![CDATA[New comment by canto in "Shopify is moving from React Native back to Swift and Kotlin"]]></title><description><![CDATA[
<p>So, instead of paying humans twice for the same thing, Shopify will pay corporations to burn the planet a little bit more, waste water and energy - to build the same thing twice. Just because. There's no tech reason to do it. "LLMS are better now". There's no low level optimisations, no blockers, no app shortcomings, it's a shopping app for Christ sake.
Instead of optimising, creating more with less, they will create the same with more.
Yeah, that's smart.
Super smart.</p>
]]></description><pubDate>Thu, 10 Sep 2026 17:48:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=49647663</link><dc:creator>canto</dc:creator><comments>https://news.ycombinator.com/item?id=49647663</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49647663</guid></item><item><title><![CDATA[New comment by canto in "We built our house for LAN parties (2024)"]]></title><description><![CDATA[
<p>Nice flex, lol.</p>
]]></description><pubDate>Tue, 08 Sep 2026 11:50:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=49609029</link><dc:creator>canto</dc:creator><comments>https://news.ycombinator.com/item?id=49609029</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49609029</guid></item><item><title><![CDATA[New comment by canto in "Show HN: CheapFoodMap – A map of good meals under $10"]]></title><description><![CDATA[
<p>One taco and one slice of pizza.<p>I mean, technically correct but...</p>
]]></description><pubDate>Thu, 30 Jul 2026 11:49:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=49108718</link><dc:creator>canto</dc:creator><comments>https://news.ycombinator.com/item?id=49108718</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49108718</guid></item><item><title><![CDATA[New comment by canto in "Resetting Xbox"]]></title><description><![CDATA[
<p>They're just all in mobile and fsck you Diablo and Fallout fans.
That's pretty much it.</p>
]]></description><pubDate>Mon, 06 Jul 2026 21:19:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=48810644</link><dc:creator>canto</dc:creator><comments>https://news.ycombinator.com/item?id=48810644</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48810644</guid></item><item><title><![CDATA[New comment by canto in "Zero-Downtime Deployments with Docker Compose – No Kubernetes Required"]]></title><description><![CDATA[
<p>Because plenty of people share your POV and kinda - a little bit - behave like there was no life before k8s, I will try to address your points.<p>>What happens if a container in the VM goes down or the app inside of it crashes, how do you recover?<p>Docker will restart container automatically. You don't have to do anything.
Docker-compose will restart after VM restart. You don't have to do anything.
If a VM goes down - I do have a HA (another VM at another provider) and DNS load balancing.<p>>Now you need some self-recovery mechanism via systemD or whatever, which will grow in complexity and fickleness over time. Congrats, you are now doing your own version of kubernetes.<p>While I don't like systemd, it does this automatically, while, it's not really used here.<p>> What happens when you need to upgrade/restart your VM? Ok, make a standby VM as backup that will mostly sit idle, or require a full-app redeploy any time you need to do anything to the first VM. Now you need to design a blue/green mechanism between them, and probably some networking layer work. Congrats, you are now doing your own version of kubernetes.<p>This has been pretty much answered already but, upgrades does not affect containers (unless docker engine upgrade).
Restarts - docker will handle these automatically - nothing to do here.<p>> What happens, if running in cloud, you have a regional outage or degradation? Stand up another VM in another region and manage the networking layer between them. Or, if running locally, your ISP has an outage because of a backhoe or something. Ok, we'll rent rack space in another data center as backup. Own all the mechanisms between cutting between those two now. Congrats, you are now doing your own version of kubernetes.<p>This actually handles way better w/o managed kubernetes, as it's usually a single region and your cluster and workloads would simply be completely down, while mine would work, because of provider redundancy.<p>> What happens if your app gets huge volume during peak times, and very little volume during non-peak, and you find yourself overprovisioning to the point your CFO/CTO freaks out about the bill? Well, we'll make our own dynamic scaling mechanism. Congrats, you are now doing your own version of kubernetes.<p>Kubernetes with autoscaling wins hands down here, but, it's not automatic, nor hassle free.
You are also assuming overprovisiong which is usually not the case for traffic spikes.<p>> What happens when your app traffic gets so large you start running into OS limitations, like file descriptor limits? Start trying some of the aforementioned solutions. Congrats, you are now doing your own version of kubernetes.<p>This also affects k8s, exactly the same way.<p>> What happens if you need service discovery, monitoring, or ensure network isolation between various services? Different VM's + your own hacked together service mesh, or wire something in the VM. Congrats, you are now doing your own version of kubernetes.<p>I do have service discovery and network isolation built into docker, thanks.<p>> What happens when you need to guarantee secret isolation between containers? Congrats, you are now doing your own version of kubernetes.<p>Believe it or not, it's the default with docker.<p>> Let's say you don't actually need any of this or think you never will. Fine! That's valid. But what you don't want, is to suddenly hit some scale and any of these things (I could list way more but I feel I am belaboring the point), migrating off these setups can become a year+ project, if not way longer. I know because I have had to do this twice now. I cannot possibly understate how painful it is.<p>All my workloads are containerized and I can just move them to a k8s cluster whenever I want, if needed.<p>2) the risk of the VM + container spiraling into complexity is perceived. as way more than going more complex at the start.<p>The risk of your k8s ecosystem spiraling into operators madness and argoapps over helmfiles all while trying to accommodate for ci/cd and costs offing the chart is - IMHO - way higher.</p>
]]></description><pubDate>Wed, 24 Jun 2026 22:06:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=48666175</link><dc:creator>canto</dc:creator><comments>https://news.ycombinator.com/item?id=48666175</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48666175</guid></item><item><title><![CDATA[New comment by canto in "Zero-Downtime Deployments with Docker Compose – No Kubernetes Required"]]></title><description><![CDATA[
<p>This or there's a lot of fresh blood ;-)</p>
]]></description><pubDate>Wed, 24 Jun 2026 21:39:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=48665946</link><dc:creator>canto</dc:creator><comments>https://news.ycombinator.com/item?id=48665946</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48665946</guid></item><item><title><![CDATA[New comment by canto in "Zero-Downtime Deployments with Docker Compose – No Kubernetes Required"]]></title><description><![CDATA[
<p>If all you have is a hammer, everything looks like a nail.</p>
]]></description><pubDate>Wed, 24 Jun 2026 21:36:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=48665917</link><dc:creator>canto</dc:creator><comments>https://news.ycombinator.com/item?id=48665917</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48665917</guid></item><item><title><![CDATA[New comment by canto in "Zero-Downtime Deployments with Docker Compose – No Kubernetes Required"]]></title><description><![CDATA[
<p>While I agree with you I'm not sure the rest of the world does.<p>Over the past decade, I'm seeing k8s used everywhere for everything, companies setting up clusters to run literally one simple app with couple of hundred requests per hour.</p>
]]></description><pubDate>Wed, 24 Jun 2026 21:08:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=48665663</link><dc:creator>canto</dc:creator><comments>https://news.ycombinator.com/item?id=48665663</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48665663</guid></item><item><title><![CDATA[Zero-Downtime Deployments with Docker Compose – No Kubernetes Required]]></title><description><![CDATA[
<p>Article URL: <a href="https://statusdude.com/blog/zero-downtime-docker-compose">https://statusdude.com/blog/zero-downtime-docker-compose</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48665130">https://news.ycombinator.com/item?id=48665130</a></p>
<p>Points: 90</p>
<p># Comments: 75</p>
]]></description><pubDate>Wed, 24 Jun 2026 20:20:33 +0000</pubDate><link>https://statusdude.com/blog/zero-downtime-docker-compose</link><dc:creator>canto</dc:creator><comments>https://news.ycombinator.com/item?id=48665130</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48665130</guid></item><item><title><![CDATA[New comment by canto in "Ask HN: What Are You Working On? (April 2026)"]]></title><description><![CDATA[
<p><a href="https://statusdude.com/" rel="nofollow">https://statusdude.com/</a><p>and a gift for my friend's birthday.</p>
]]></description><pubDate>Sun, 12 Apr 2026 20:44:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=47744262</link><dc:creator>canto</dc:creator><comments>https://news.ycombinator.com/item?id=47744262</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47744262</guid></item><item><title><![CDATA[New comment by canto in "LLM=True"]]></title><description><![CDATA[
<p>Not in my projects it seems. Perhaps you can share your best practices?
Moreover, avoiding these should be the default behaviour. Currently the default is to drain your pockets.<p>P.S
CLAUDE.md is sometimes useful but, it's a yet another token drain. Especially that it can grow exponentially.</p>
]]></description><pubDate>Wed, 25 Feb 2026 09:48:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=47149474</link><dc:creator>canto</dc:creator><comments>https://news.ycombinator.com/item?id=47149474</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47149474</guid></item><item><title><![CDATA[New comment by canto in "LLM=True"]]></title><description><![CDATA[
<p>q() {
    local output
    output=$("$@" 2>&1)
    local ec=$?
    echo "$output" | tail -5
    return $ec
}<p>There :)</p>
]]></description><pubDate>Wed, 25 Feb 2026 09:44:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=47149448</link><dc:creator>canto</dc:creator><comments>https://news.ycombinator.com/item?id=47149448</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47149448</guid></item><item><title><![CDATA[New comment by canto in "LLM=True"]]></title><description><![CDATA[
<p>This is merely scratching the surface.<p>LLMs (Claude Code in particular) will explicitly create token intensive steps, plans and responses - "just to be sure" - "need to check" - "verify no leftovers", will do git diff even tho not asked for, create python scripts for simple tasks, etc.
Absolutely no cache (except the memory which is meh) nor indexing whatsoever.<p>Pro plan for 20 bucks per month is essentially worthless and, because of this and we are entering new era - the era of $100+ monthly single subscription being something normal and natural.</p>
]]></description><pubDate>Wed, 25 Feb 2026 09:35:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=47149378</link><dc:creator>canto</dc:creator><comments>https://news.ycombinator.com/item?id=47149378</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47149378</guid></item><item><title><![CDATA[New comment by canto in "I'm helping my dog vibe code games"]]></title><description><![CDATA[
<p>I'm having a mixed feelings about this xD</p>
]]></description><pubDate>Wed, 25 Feb 2026 09:27:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=47149319</link><dc:creator>canto</dc:creator><comments>https://news.ycombinator.com/item?id=47149319</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47149319</guid></item><item><title><![CDATA[New comment by canto in "Show HN: StatusDude – Uptime monitoring internal services with K8s autodiscovery"]]></title><description><![CDATA[
<p>"A plugin/annotation system where users can teach the agent about custom resource types would scale better than hard-coding each one." - this is a fantastic observation and feedback! Many thanks!<p>"requiring N consecutive failures before marking down" - I do have the code for it, it's just hidden currently. StatusDude supports 2 types of worker/agents - cloud agents - that will re-verify from multiregion the service status and private agents - the ones we're talking about here - that I might just bring this option back as it makes more sense.<p>Correlating failures is a bit tricky as usually it requires some sort of manual dependency creation but, I guess for k8s ingress and similar I should be able to figure this out and at least send alerts with appropriate priorities and order.<p>As for the status page auto generation - currently it's based on namespace - I didn't wanted to bloat the user dashboard too much. Each monitor is tagged with cluster id, namespace and labels. Status Pages pickup monitors based on labels. Users are free to modify these and show exactly what they want :)</p>
]]></description><pubDate>Tue, 17 Feb 2026 15:19:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=47048418</link><dc:creator>canto</dc:creator><comments>https://news.ycombinator.com/item?id=47048418</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47048418</guid></item><item><title><![CDATA[Show HN: StatusDude – Uptime monitoring internal services with K8s autodiscovery]]></title><description><![CDATA[
<p>Hey HN, I'm Oskar. For the past few months I've been building StatusDude - an uptime monitoring tool with private agents that auto-detects your Kubernetes resources.
 I run a bunch of stuff across multiple orgs, different clusters, internal networks, self-hosted, GKE, EKS, etc. Monitoring all of it without Datadog money was getting tough, and most tools don't even support internal networks. So, here we are.
A tiny async agent sits inside your network and phones home over HTTPS. No inbound ports, no VPN, no firewall rules. One container, one helm install, done. A single instance handles 10k+ monitors comfortably.
The agent pulls check definitions from the cloud, runs them locally, uploads raw results. All evaluation is server-side - the agent stays dead simple, and the cloud decides what's actually down vs. a blip.
For Kubernetes, it auto-discovers Ingresses, Services, and HTTPRoutes. Deploy something new, it just gets picked up. Monitors and status pages spin up automatically.
During the development process I found out I don't know how to use Celery properly. Went with ARQ instead - 50k+ jobs/min, no drama. After I modified it a bit, that is ;-)
Not a full observability platform - no incident management, no on-call. Just monitoring, status pages, and notifications. If you want straightforward uptime monitoring that works behind firewalls, give it a go and please leave feedback in the comments!
New signups currently get the Team plan unlocked for free, I want people to test the full thing. Happy to answer any questions about the architecture.<p><a href="https://statusdude.com" rel="nofollow">https://statusdude.com</a>
<a href="https://artifacthub.io/packages/helm/statusdude-agent/statusdude-agent" rel="nofollow">https://artifacthub.io/packages/helm/statusdude-agent/status...</a></p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47047753">https://news.ycombinator.com/item?id=47047753</a></p>
<p>Points: 1</p>
<p># Comments: 1</p>
]]></description><pubDate>Tue, 17 Feb 2026 14:20:34 +0000</pubDate><link>https://statusdude.com/</link><dc:creator>canto</dc:creator><comments>https://news.ycombinator.com/item?id=47047753</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47047753</guid></item></channel></rss>