<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: jpillora</title><link>https://news.ycombinator.com/user?id=jpillora</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Wed, 28 Oct 2026 19:51:37 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=jpillora" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by jpillora in "Ask HN: Does anyone else feel like nothing matters anymore?"]]></title><description><![CDATA[
<p>This is the answer - software engineering and your job has changed - find the new mastery in it</p>
]]></description><pubDate>Wed, 19 Aug 2026 07:44:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=49358295</link><dc:creator>jpillora</dc:creator><comments>https://news.ycombinator.com/item?id=49358295</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49358295</guid></item><item><title><![CDATA[New comment by jpillora in "Good Tools Are Invisible"]]></title><description><![CDATA[
<p>This is also true from the inverse. Making every tool visible may <i>feel</i> good to some users. They sit in their F16 cockpit, and they like having all those buttons, and knowing what they do.<p>But this does not scale. You can fit 100 buttons in front of you. You can learn each one and the best situations to use each. But can you fit 1000 buttons in front of you? No.
Different humans have different complexity thresholds. Some humans can deal with 10 buttons, and some 250 buttons! But no human can deal with 2000 buttons. There exists a hard limit on tool complexity.<p>If you want your tool to be useful, then as you increase the number of different humans that sit in your cockpit, you naturally must lower the number of buttons in front of them. The tools must tend towards invisibility.</p>
]]></description><pubDate>Fri, 10 Jul 2026 23:29:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=48866690</link><dc:creator>jpillora</dc:creator><comments>https://news.ycombinator.com/item?id=48866690</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48866690</guid></item><item><title><![CDATA[New comment by jpillora in "OpenGitOps"]]></title><description><![CDATA[
<p>The problem with git ops only manifests after it’s become a standard within an org:<p>With 1 git ops pipeline, it’s fine, it’s the human merge gate, it’s doing its job protecting downstream<p>With multiple git ops pipelines however, they start to get in the way of progress - especially when they need to be joined in series<p>The better approach is to build API-first then optionally, add an API client into your git pipeline</p>
]]></description><pubDate>Sun, 04 Jan 2026 23:11:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=46493374</link><dc:creator>jpillora</dc:creator><comments>https://news.ycombinator.com/item?id=46493374</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46493374</guid></item><item><title><![CDATA[Why AI Can't Write Good Software]]></title><description><![CDATA[
<p>Article URL: <a href="https://blog.jpillora.com/p/why-ai-cant-write-good-software">https://blog.jpillora.com/p/why-ai-cant-write-good-software</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=45811225">https://news.ycombinator.com/item?id=45811225</a></p>
<p>Points: 1</p>
<p># Comments: 1</p>
]]></description><pubDate>Tue, 04 Nov 2025 14:10:35 +0000</pubDate><link>https://blog.jpillora.com/p/why-ai-cant-write-good-software</link><dc:creator>jpillora</dc:creator><comments>https://news.ycombinator.com/item?id=45811225</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45811225</guid></item><item><title><![CDATA[New comment by jpillora in "Go beyond Goroutines: introducing the Reactive paradigm"]]></title><description><![CDATA[
<p>This is not the Go way. This abstraction appears to come for free, but it does not.</p>
]]></description><pubDate>Tue, 28 Oct 2025 00:16:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=45727933</link><dc:creator>jpillora</dc:creator><comments>https://news.ycombinator.com/item?id=45727933</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45727933</guid></item><item><title><![CDATA[New comment by jpillora in "Simpler Backoff"]]></title><description><![CDATA[
<p>Simple backoff ftw <a href="https://github.com/jpillora/backoff">https://github.com/jpillora/backoff</a></p>
]]></description><pubDate>Sat, 31 May 2025 08:09:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=44142770</link><dc:creator>jpillora</dc:creator><comments>https://news.ycombinator.com/item?id=44142770</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44142770</guid></item><item><title><![CDATA[An Ode to Mastery]]></title><description><![CDATA[
<p>Article URL: <a href="https://blog.jpillora.com/p/an-ode-to-mastery">https://blog.jpillora.com/p/an-ode-to-mastery</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=43762905">https://news.ycombinator.com/item?id=43762905</a></p>
<p>Points: 5</p>
<p># Comments: 0</p>
]]></description><pubDate>Tue, 22 Apr 2025 14:50:35 +0000</pubDate><link>https://blog.jpillora.com/p/an-ode-to-mastery</link><dc:creator>jpillora</dc:creator><comments>https://news.ycombinator.com/item?id=43762905</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43762905</guid></item><item><title><![CDATA[New comment by jpillora in "WASM will replace containers"]]></title><description><![CDATA[
<p>They're different things, solving different problems:<p>- Containers are wrappers for binaries. Any binary can be contained, and when run, it gets a constrained (fake) view of the kernel.<p>- WASM defines a portable binary format. WASM is intermediate-representation, in the same vein as Java byte-code.<p>You could reasonably put WASM binaries inside containers</p>
]]></description><pubDate>Wed, 12 Feb 2025 04:42:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=43021962</link><dc:creator>jpillora</dc:creator><comments>https://news.ycombinator.com/item?id=43021962</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43021962</guid></item><item><title><![CDATA[New comment by jpillora in "Go should sometimes be a no-go"]]></title><description><![CDATA[
<p>If you’re a Java dev, and you try to force Java-isms into Go, you’re gonna have a bad time.<p>The Go philosophy <a href="http://go-proverbs.github.io/" rel="nofollow">http://go-proverbs.github.io/</a> pays off less in the short term, within a single file, or a single stdlib function, or with syntactic sugar to code golf 3 lines into 1 - it pays off in the long term, across time and people - and this makes all the difference</p>
]]></description><pubDate>Sat, 14 Dec 2024 10:20:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=42416043</link><dc:creator>jpillora</dc:creator><comments>https://news.ycombinator.com/item?id=42416043</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42416043</guid></item><item><title><![CDATA[New comment by jpillora in "Mdx – Execute Your Markdown Code Blocks, Now in Go"]]></title><description><![CDATA[
<p>See also <a href="https://github.com/jpillora/md-tmpl">https://github.com/jpillora/md-tmpl</a></p>
]]></description><pubDate>Sat, 26 Oct 2024 10:34:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=41953918</link><dc:creator>jpillora</dc:creator><comments>https://news.ycombinator.com/item?id=41953918</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41953918</guid></item><item><title><![CDATA[New comment by jpillora in "An Animated QR Code of Bad Apple"]]></title><description><![CDATA[
<p>Please make a live demo version of this using only JavaScript and HTML :D</p>
]]></description><pubDate>Sat, 18 May 2024 00:50:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=40395619</link><dc:creator>jpillora</dc:creator><comments>https://news.ycombinator.com/item?id=40395619</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40395619</guid></item><item><title><![CDATA[New comment by jpillora in "Why I hate your Single Page App (2016)"]]></title><description><![CDATA[
<p>RIP Stefan</p>
]]></description><pubDate>Sun, 21 Apr 2024 23:29:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=40110108</link><dc:creator>jpillora</dc:creator><comments>https://news.ycombinator.com/item?id=40110108</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40110108</guid></item><item><title><![CDATA[New comment by jpillora in "Chisel: A fast TCP/UDP tunnel over HTTP"]]></title><description><![CDATA[
<p>You’re right, that’d be a better test - and I think the gap between chisel and crowbar would grow even more. Chisel is effectively doing ssh tunnelling, with extra layers. Performance is lost in packet wrapping/unwrapping, reduced MTU but it shouldn’t result in more round trips</p>
]]></description><pubDate>Sat, 06 Apr 2024 22:48:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=39956379</link><dc:creator>jpillora</dc:creator><comments>https://news.ycombinator.com/item?id=39956379</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39956379</guid></item><item><title><![CDATA[New comment by jpillora in "Chisel: A fast TCP/UDP tunnel over HTTP"]]></title><description><![CDATA[
<p>Correct, it’s equivalent to ssh tunneling except there’s some HTTP/websocket wrappers around it</p>
]]></description><pubDate>Sat, 06 Apr 2024 22:40:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=39956318</link><dc:creator>jpillora</dc:creator><comments>https://news.ycombinator.com/item?id=39956318</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39956318</guid></item><item><title><![CDATA[New comment by jpillora in "Chisel: A fast TCP/UDP tunnel over HTTP"]]></title><description><![CDATA[
<p>That’s exactly what it is, see releases</p>
]]></description><pubDate>Sat, 06 Apr 2024 22:39:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=39956313</link><dc:creator>jpillora</dc:creator><comments>https://news.ycombinator.com/item?id=39956313</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39956313</guid></item><item><title><![CDATA[New comment by jpillora in "Chisel: A fast TCP/UDP tunnel over HTTP"]]></title><description><![CDATA[
<p>Tailscale is a virtual network  device (works on L3, tun not tap device) whereas chisel just listens on ports (works on L4)</p>
]]></description><pubDate>Sat, 06 Apr 2024 22:39:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=39956307</link><dc:creator>jpillora</dc:creator><comments>https://news.ycombinator.com/item?id=39956307</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39956307</guid></item><item><title><![CDATA[New comment by jpillora in "Chisel: A fast TCP/UDP tunnel over HTTP"]]></title><description><![CDATA[
<p>I was tempted to play the cat and mouse AV detection game though decided against it. It’s open source and with effort, one can make it avoid detection, but I’ll leave that up the reader</p>
]]></description><pubDate>Sat, 06 Apr 2024 22:34:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=39956284</link><dc:creator>jpillora</dc:creator><comments>https://news.ycombinator.com/item?id=39956284</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39956284</guid></item><item><title><![CDATA[New comment by jpillora in "Chisel: A fast TCP/UDP tunnel over HTTP"]]></title><description><![CDATA[
<p>Hey all, I’m the author of chisel. Feel free to send any questions my way</p>
]]></description><pubDate>Sat, 06 Apr 2024 22:33:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=39956273</link><dc:creator>jpillora</dc:creator><comments>https://news.ycombinator.com/item?id=39956273</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39956273</guid></item><item><title><![CDATA[New comment by jpillora in "Show HN: Obsidian Canvas – An infinite space for your ideas"]]></title><description><![CDATA[
<p>Relevant <a href="https://securitycryptographywhatever.buzzsprout.com/1822302/11510254-soc2-with-sarah-harvey" rel="nofollow">https://securitycryptographywhatever.buzzsprout.com/1822302/...</a></p>
]]></description><pubDate>Wed, 21 Dec 2022 08:46:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=34078176</link><dc:creator>jpillora</dc:creator><comments>https://news.ycombinator.com/item?id=34078176</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=34078176</guid></item><item><title><![CDATA[New comment by jpillora in "Run your ghost blog on Raspberry Pi for free"]]></title><description><![CDATA[
<p>Port forwarding is fairly simple. All routers should support it. Forward port 443 to local-rpi-ip-address:443. Setup caddy/traefik. Create A record to public ip. Enable tls. Enable file hosting. Done: you now have TLS static website without any 3rd parties.<p>That said, cloudflare is super handy for dns, and for proxying specific domains, where you don't want to expose your public ip.</p>
]]></description><pubDate>Mon, 10 May 2021 01:27:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=27101696</link><dc:creator>jpillora</dc:creator><comments>https://news.ycombinator.com/item?id=27101696</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=27101696</guid></item></channel></rss>