<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: pbnjay</title><link>https://news.ycombinator.com/user?id=pbnjay</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Mon, 31 Aug 2026 12:04:50 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=pbnjay" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by pbnjay in "Hacking IKEA Furniture"]]></title><description><![CDATA[
<p>Re: the slight wobble, you should be able to find some inexpensive thin-sheet backing board at a hardware store. Use small ribbed tacking nails or glue around the edges to attach it at the back, and it should help stabilize and prevent racking.</p>
]]></description><pubDate>Sun, 30 Aug 2026 13:44:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=49498608</link><dc:creator>pbnjay</dc:creator><comments>https://news.ycombinator.com/item?id=49498608</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49498608</guid></item><item><title><![CDATA[New comment by pbnjay in "Put the Zipcode First"]]></title><description><![CDATA[
<p>Um a lot of US zip codes map to multiple cities. Some even to multiple states. If you build a picker for city/state this works fine but your premise is easily refuted if you look at the data!<p>Zip codes map to postal routes, not polygons</p>
]]></description><pubDate>Sat, 07 Mar 2026 23:53:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=47292722</link><dc:creator>pbnjay</dc:creator><comments>https://news.ycombinator.com/item?id=47292722</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47292722</guid></item><item><title><![CDATA[New comment by pbnjay in "OpenAI agrees with Dept. of War to deploy models in their classified network"]]></title><description><![CDATA[
<p>For anyone reading this later, I got my data export and deleted my account and got a pro-rated refund. So double whammy!</p>
]]></description><pubDate>Sun, 01 Mar 2026 07:03:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=47204379</link><dc:creator>pbnjay</dc:creator><comments>https://news.ycombinator.com/item?id=47204379</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47204379</guid></item><item><title><![CDATA[FYI ChatGPT Plus credit if you delete before term ends]]></title><description><![CDATA[
<p>I cancelled my subscription yesterday but it was going to last through March 11. Got my data export today so I just went ahead with deleting my account (figuring the next 10 days was a sunk cost).<p>I just got a pro-rated refund of $6.78 for the remainder of the term, so FYI if you want to stick it to them even more!</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47204377">https://news.ycombinator.com/item?id=47204377</a></p>
<p>Points: 3</p>
<p># Comments: 0</p>
]]></description><pubDate>Sun, 01 Mar 2026 07:02:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=47204377</link><dc:creator>pbnjay</dc:creator><comments>https://news.ycombinator.com/item?id=47204377</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47204377</guid></item><item><title><![CDATA[New comment by pbnjay in "OpenAI agrees with Dept. of War to deploy models in their classified network"]]></title><description><![CDATA[
<p>I had kept my Plus subscription just because I was lazy, and it was inexpensive and convenient… but this turn definitely helped me get off the fence. I am exporting and deleting my data now, and the cancellation is already done.</p>
]]></description><pubDate>Sat, 28 Feb 2026 04:51:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=47190595</link><dc:creator>pbnjay</dc:creator><comments>https://news.ycombinator.com/item?id=47190595</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47190595</guid></item><item><title><![CDATA[New comment by pbnjay in "The Hunt for Dark Breakfast"]]></title><description><![CDATA[
<p>I feel like excluding French toast is a serious faux pas here!<p>Breakfast burritos are also at least as important as quiche (as in, neither are as tasty without addins - just like omelettes).</p>
]]></description><pubDate>Fri, 27 Feb 2026 06:47:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=47177366</link><dc:creator>pbnjay</dc:creator><comments>https://news.ycombinator.com/item?id=47177366</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47177366</guid></item><item><title><![CDATA[New comment by pbnjay in "SQL Anti-Patterns"]]></title><description><![CDATA[
<p>FYI this is not true in the US. Zip codes identify postal routes not locations</p>
]]></description><pubDate>Sun, 19 Oct 2025 00:33:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=45631325</link><dc:creator>pbnjay</dc:creator><comments>https://news.ycombinator.com/item?id=45631325</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45631325</guid></item><item><title><![CDATA[New comment by pbnjay in "Ask HN: What are you working on? (September 2025)"]]></title><description><![CDATA[
<p>I’m building an ETL tool that “just works” and gets out of the way. I can write shell scripts and python to do this stuff but honestly I just want to drop my files/API results into a GUI tool and have it combine things for me. Landing page is at <a href="https://eetle.com" rel="nofollow">https://eetle.com</a></p>
]]></description><pubDate>Tue, 30 Sep 2025 02:25:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=45421296</link><dc:creator>pbnjay</dc:creator><comments>https://news.ycombinator.com/item?id=45421296</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45421296</guid></item><item><title><![CDATA[New comment by pbnjay in "Go 1.25 Release Notes"]]></title><description><![CDATA[
<p>Yes I was very excited to see the new json encoding changes land, can’t wait to try them out! The new omitempty and map key marshalling in particular will help clean up some of my ugly code.</p>
]]></description><pubDate>Wed, 13 Aug 2025 05:22:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=44884890</link><dc:creator>pbnjay</dc:creator><comments>https://news.ycombinator.com/item?id=44884890</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44884890</guid></item><item><title><![CDATA[New comment by pbnjay in "If you're remote, ramble"]]></title><description><![CDATA[
<p>Dropping the kids off at the pool is a euphemism for a bodily function that diuretics like coffee help with…</p>
]]></description><pubDate>Sun, 03 Aug 2025 22:14:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=44780297</link><dc:creator>pbnjay</dc:creator><comments>https://news.ycombinator.com/item?id=44780297</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44780297</guid></item><item><title><![CDATA[New comment by pbnjay in "Show HN: lambda-nat-proxy – Serverless proxy using Lambda and UDP NAT punching"]]></title><description><![CDATA[
<p>Probably gets pretty costly if you’re running a lot of data through it. Now if you could implement a Tailscale DERP server in a lambda that would be pretty amazing: <a href="https://tailscale.com/kb/1232/derp-servers" rel="nofollow">https://tailscale.com/kb/1232/derp-servers</a></p>
]]></description><pubDate>Sat, 21 Jun 2025 18:13:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=44339533</link><dc:creator>pbnjay</dc:creator><comments>https://news.ycombinator.com/item?id=44339533</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44339533</guid></item><item><title><![CDATA[New comment by pbnjay in "Chaos in the Cloudflare Lisbon Office"]]></title><description><![CDATA[
<p>Given the redundancy of multiple locations, I think even cutting power it would be difficult to cause an extended outage.</p>
]]></description><pubDate>Mon, 17 Mar 2025 16:01:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=43389915</link><dc:creator>pbnjay</dc:creator><comments>https://news.ycombinator.com/item?id=43389915</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43389915</guid></item><item><title><![CDATA[Tailscale Local API]]></title><description><![CDATA[
<p>Article URL: <a href="https://dorianmonnier.fr/posts/2024-12-26-tailscale-localapi/">https://dorianmonnier.fr/posts/2024-12-26-tailscale-localapi/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=42516189">https://news.ycombinator.com/item?id=42516189</a></p>
<p>Points: 3</p>
<p># Comments: 0</p>
]]></description><pubDate>Thu, 26 Dec 2024 16:48:54 +0000</pubDate><link>https://dorianmonnier.fr/posts/2024-12-26-tailscale-localapi/</link><dc:creator>pbnjay</dc:creator><comments>https://news.ycombinator.com/item?id=42516189</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42516189</guid></item><item><title><![CDATA[Show HN: Callosum – A smarter OpenAPI editor/client]]></title><description><![CDATA[
<p>A couple years ago I was really frustrated by Postman, it couldn't do basic JSON schema validation, and didn't interoperate well with the OpenAPI spec I had to use for serverless deployments. On top of that, they started requiring an account and cloud sync, and other things I just wasn't comfortable with.<p>So what's an engineer to do? Build yet another API Client of course! [0]
It's still fairly rough and crashes more often than I like, but it's basically at the point that I've switched most of my usage so I figured I would rip off the bandaid and do a Show HN.<p>Short list of some of the (IMHO) cool features that you can't do in Postman:<p>* Generate JSON Schema from request/response data.<p>* Generate request content template from JSON Schema.<p>* Reusable Schema components (Analyze->Extract Schemas menu)<p>* Basic field and JSON validation (so much more to do here!)<p>* Embeddable environment and encrypted variables [1] in the OpenAPI document.<p>* From scratch, run a MITM proxy and record API requests, then automatically generate an OpenAPI spec.<p>* Deep linking w/o a web server.<p>There's a short youtube playlist of some of these features, but I need to spend some time demoing the rest of them. What is most interesting to folks?<p>I would love to integrate better with the API doc generation tools but need to figure out how that would look. Speakeasy/Redocly/etc are some great projects and I don't want to reinvent the wheels there.<p>I would also seriously appreciate some tough love/feedback to make this even better. I'm sure someone smarter than me can pick apart the variable encryption (I broke rule #1 of cryptography and rolled my own, but I couldn't find a similar use case)<p>[0]: <a href="https://callosum.dev/posts/why-build-another-api-client.html" rel="nofollow">https://callosum.dev/posts/why-build-another-api-client.html</a><p>[1]: <a href="https://callosum.dev/docs/variable-encryption.html" rel="nofollow">https://callosum.dev/docs/variable-encryption.html</a></p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=42494502">https://news.ycombinator.com/item?id=42494502</a></p>
<p>Points: 5</p>
<p># Comments: 0</p>
]]></description><pubDate>Mon, 23 Dec 2024 14:15:49 +0000</pubDate><link>https://callosum.dev</link><dc:creator>pbnjay</dc:creator><comments>https://news.ycombinator.com/item?id=42494502</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42494502</guid></item><item><title><![CDATA[New comment by pbnjay in "Installed an open source garage door opener, and I'm loving it"]]></title><description><![CDATA[
<p>I have a variety of Shelly 1 devices in my house, one of which is on the oldschool Garage Door opener (with a reed switch for open/close tracking) - Very inexpensive, flexible for other applications, and works with HA etc.<p><a href="https://us.shelly.com/products/shelly-1-gen3" rel="nofollow">https://us.shelly.com/products/shelly-1-gen3</a></p>
]]></description><pubDate>Fri, 15 Nov 2024 22:09:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=42151770</link><dc:creator>pbnjay</dc:creator><comments>https://news.ycombinator.com/item?id=42151770</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42151770</guid></item><item><title><![CDATA[New comment by pbnjay in "Go and my realization about what I'll call the 'Promises' pattern"]]></title><description><![CDATA[
<p>Would be trivial to show the results live though, especially for atomic values:
<a href="https://go.dev/play/p/PRzzO_skWoJ" rel="nofollow">https://go.dev/play/p/PRzzO_skWoJ</a></p>
]]></description><pubDate>Mon, 30 Sep 2024 04:09:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=41693473</link><dc:creator>pbnjay</dc:creator><comments>https://news.ycombinator.com/item?id=41693473</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41693473</guid></item><item><title><![CDATA[New comment by pbnjay in "Go and my realization about what I'll call the 'Promises' pattern"]]></title><description><![CDATA[
<p>Isn't it even simpler in Go? No channels necessary, Each goroutine gets an index or slice, and writes the results to a shared array.<p>All you need is the goroutines to report when done via a WaitGroup.</p>
]]></description><pubDate>Mon, 30 Sep 2024 03:59:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=41693416</link><dc:creator>pbnjay</dc:creator><comments>https://news.ycombinator.com/item?id=41693416</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41693416</guid></item><item><title><![CDATA[New comment by pbnjay in "Ask HN: What are you working on (September 2024)?"]]></title><description><![CDATA[
<p>API tool to automate all the stuff Postman makes painful: <a href="https://callosum.dev" rel="nofollow">https://callosum.dev</a>
Spec generation from request logs, automatic schema generation and validation, test generation (eventually), totally offline, no accounts or cloud sync necessary!<p>Been taking longer than I hoped but should be released soon (next few days)</p>
]]></description><pubDate>Mon, 30 Sep 2024 01:17:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=41692488</link><dc:creator>pbnjay</dc:creator><comments>https://news.ycombinator.com/item?id=41692488</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41692488</guid></item><item><title><![CDATA[Ask HN: Permissively Licensed Terms of Service / Privacy Policies?]]></title><description><![CDATA[
<p>I'm hoping to launch my software app soon, but I was trying to throw together an initial Terms of Service and Privacy Policy. It's really hard to find very many that can be easily/safely adapted!<p>I started collecting a list of openly-licensed terms and figured I'd share it here and see if other folks have some I've missed and/or would find this valuable?<p>https://github.com/pbnjay/awesome-tos</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=41626437">https://news.ycombinator.com/item?id=41626437</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Mon, 23 Sep 2024 14:20:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=41626437</link><dc:creator>pbnjay</dc:creator><comments>https://news.ycombinator.com/item?id=41626437</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41626437</guid></item><item><title><![CDATA[New comment by pbnjay in "Solar will get too cheap to connect to the power grid"]]></title><description><![CDATA[
<p>Re: the grid connection backlog - much of the challenge of turning on new generation is simulating the increasingly complex ways the grid can fail due to all the interconnections. It’s a huge computational challenge and there’s really not much incentive to speed it up</p>
]]></description><pubDate>Wed, 04 Sep 2024 01:33:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=41441020</link><dc:creator>pbnjay</dc:creator><comments>https://news.ycombinator.com/item?id=41441020</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41441020</guid></item></channel></rss>