<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: pjungwir</title><link>https://news.ycombinator.com/user?id=pjungwir</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Wed, 29 Apr 2026 08:11:26 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=pjungwir" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[Autonomous Software Maintenance Has Arrived]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.tembo.io/blog/autonomous-software-maintenance-has-arrived">https://www.tembo.io/blog/autonomous-software-maintenance-has-arrived</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=44155600">https://news.ycombinator.com/item?id=44155600</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Mon, 02 Jun 2025 03:25:26 +0000</pubDate><link>https://www.tembo.io/blog/autonomous-software-maintenance-has-arrived</link><dc:creator>pjungwir</dc:creator><comments>https://news.ycombinator.com/item?id=44155600</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44155600</guid></item><item><title><![CDATA[New comment by pjungwir in "Progressive JSON"]]></title><description><![CDATA[
<p>Does this scheme give a way to progressively load slices of an array? What I want is something like this:<p><pre><code>    ["foo", "bar", "$1"]
</code></pre>
And then we can consume this by resolving the Promise for $1 and splatting it into the array (sort of). The Promise might resolve to this:<p><pre><code>    ["baz", "gar", "$2"]
</code></pre>
And so on.<p>And then a higher level is just iterating the array, and doesn't have to think about the promise. Like a Python generator or Ruby enumerator. I see that Javascript does have async generators, so I guess you'd be using that.<p>The "sort of" is that you can stream the array contents without literally splatting. The caller doesn't have to reify the whole array, but they could.<p>EDIT: To this not-really-a-proposal I propose adding a new spread syntax, ["foo", "bar", "...$1"]. Then your progressive JSON layer can just deal with it. That would be awesome.</p>
]]></description><pubDate>Sun, 01 Jun 2025 12:26:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=44150370</link><dc:creator>pjungwir</dc:creator><comments>https://news.ycombinator.com/item?id=44150370</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44150370</guid></item><item><title><![CDATA[New comment by pjungwir in "Dear sir, you have built a compiler (2022)"]]></title><description><![CDATA[
<p>I've seen this a lot when someone wants to add "workflow automation" or "scripting" to their app. The most success I'd had is embedding either Lua or Javascript (preferably Lua) with objects/functions from the business domain available to the user's script. This is what games do too. I think it's a great way to dodge most of the work. For free you can support flow control, arbitrary boolean expressions, math, etc.</p>
]]></description><pubDate>Sat, 23 Nov 2024 04:26:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=42219207</link><dc:creator>pjungwir</dc:creator><comments>https://news.ycombinator.com/item?id=42219207</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42219207</guid></item><item><title><![CDATA[Solving bison shift/reduce conflicts in Postgres]]></title><description><![CDATA[
<p>Article URL: <a href="https://illuminatedcomputing.com/posts/2024/10/bison-shift-reduce-conflict/">https://illuminatedcomputing.com/posts/2024/10/bison-shift-reduce-conflict/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=41932536">https://news.ycombinator.com/item?id=41932536</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Thu, 24 Oct 2024 06:29:20 +0000</pubDate><link>https://illuminatedcomputing.com/posts/2024/10/bison-shift-reduce-conflict/</link><dc:creator>pjungwir</dc:creator><comments>https://news.ycombinator.com/item?id=41932536</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41932536</guid></item><item><title><![CDATA[New comment by pjungwir in "Show HN: Mermaid ASCII Diagrams"]]></title><description><![CDATA[
<p>I've used [mmdc](<a href="https://github.com/mermaid-js/mermaid-cli">https://github.com/mermaid-js/mermaid-cli</a>) to generate mermaid images from a Makefile. It looks like it is implemented with puppeteer, so perhaps it doesn't quite fit your request. But if you just want something you can use at the cli, it is great.</p>
]]></description><pubDate>Wed, 16 Oct 2024 07:52:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=41856633</link><dc:creator>pjungwir</dc:creator><comments>https://news.ycombinator.com/item?id=41856633</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41856633</guid></item><item><title><![CDATA[New comment by pjungwir in "Ask HN: Freelancer? Seeking freelancer? (August 2024)"]]></title><description><![CDATA[
<p>SEEKING WORK - Portland, OR or Remote<p>I'm a full-stack developer with 20+ years experience. My specialties are deep Postgres consulting, web development in Rails/Django, and devops with Kubernetes, AWS, Azure, Terraform, Ansible, etc. From time to time I've done projects in Javascript/Typescript (React, Vue, Angular, Node), Java, C#, C, Go, Rust, Elixir, Perl, etc.<p>I am reliable, easy to work with, quick to turn things around, and a good communicator. I can work solo or on a team, either as lead or a team member. I value client satisfaction as highly as technical excellence.<p>You can see some of my recent work here:<p><a href="https://illuminatedcomputing.com/portfolio" rel="nofollow">https://illuminatedcomputing.com/portfolio</a><p><a href="https://commitfest.postgresql.org/49/4308/" rel="nofollow">https://commitfest.postgresql.org/49/4308/</a> (Adding SQL:2011 application-time to Postgres)<p><a href="https://commitfest.postgresql.org/31/2112/" rel="nofollow">https://commitfest.postgresql.org/31/2112/</a> (Adding multiranges to Postgres)<p><a href="https://github.com/pjungwir/aggs_for_arrays">https://github.com/pjungwir/aggs_for_arrays</a><p><a href="https://github.com/pjungwir/aggs_for_vecs">https://github.com/pjungwir/aggs_for_vecs</a><p><a href="https://github.com/pjungwir/active_model_serializers_pg">https://github.com/pjungwir/active_model_serializers_pg</a><p>If you'd like to work together, I'd be happy to discuss your project!: pj@illuminatedcomputing.com</p>
]]></description><pubDate>Sat, 03 Aug 2024 05:17:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=41144820</link><dc:creator>pjungwir</dc:creator><comments>https://news.ycombinator.com/item?id=41144820</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41144820</guid></item><item><title><![CDATA[New comment by pjungwir in "Divers discover Roman mosaic"]]></title><description><![CDATA[
<p>Nero isn't from the the late Roman Empire either.</p>
]]></description><pubDate>Wed, 31 Jul 2024 13:53:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=41119184</link><dc:creator>pjungwir</dc:creator><comments>https://news.ycombinator.com/item?id=41119184</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41119184</guid></item><item><title><![CDATA[New comment by pjungwir in "Ruby methods are colorless"]]></title><description><![CDATA[
<p>Great article! I'm looking forward to reading the rest of the series.<p>I noticed a couple details that seem wrong:<p>- You are passing `context` to `log_then_get` and `get`, but you never use it. Perhaps that is left over from a previous version of the post?<p>- In the fiber example you do this inside each fiber:<p><pre><code>    responses << log_then_get(URI(url), Fiber.current)
</code></pre>
and this outside each fiber:<p><pre><code>    responses << get_http_fiber(...)
</code></pre>
Something is not right there. It raised a few questions for me:<p>- Doesn't this leave `responses` with 8 elements instead of 4?<p>- What does `Fiber.schedule` return anyway? At best it can only be something like a promise, right? It can't be the result of the block. I don't see the answer in the docs: <a href="https://ruby-doc.org/3.3.4/Fiber.html#method-c-schedule" rel="nofollow">https://ruby-doc.org/3.3.4/Fiber.html#method-c-schedule</a><p>- When each fiber internally appends to `responses`, it is asynchronous, so are there concurrency problems? Array is not thread-safe I believe. So with fibers is this safe? If so, how/why? (I assume the answer is "because we are using a single-threaded scheduler", but that would be interesting to put in the post.)</p>
]]></description><pubDate>Tue, 23 Jul 2024 20:38:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=41050544</link><dc:creator>pjungwir</dc:creator><comments>https://news.ycombinator.com/item?id=41050544</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41050544</guid></item><item><title><![CDATA[Debugging the Sprinkler System]]></title><description><![CDATA[
<p>Article URL: <a href="https://illuminatedcomputing.com/posts/2024/07/raspberry-pi-sprinklers/">https://illuminatedcomputing.com/posts/2024/07/raspberry-pi-sprinklers/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=40963905">https://news.ycombinator.com/item?id=40963905</a></p>
<p>Points: 3</p>
<p># Comments: 0</p>
]]></description><pubDate>Sun, 14 Jul 2024 23:08:43 +0000</pubDate><link>https://illuminatedcomputing.com/posts/2024/07/raspberry-pi-sprinklers/</link><dc:creator>pjungwir</dc:creator><comments>https://news.ycombinator.com/item?id=40963905</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40963905</guid></item><item><title><![CDATA[New comment by pjungwir in "Leaked admin access token to Python, PyPI, and PSF GitHub repos"]]></title><description><![CDATA[
<p>How did JFrog know this github token was so powerful, compared to all the other ones I'm sure their scanner detects? What caused a human to get involved?</p>
]]></description><pubDate>Sat, 13 Jul 2024 14:44:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=40954408</link><dc:creator>pjungwir</dc:creator><comments>https://news.ycombinator.com/item?id=40954408</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40954408</guid></item><item><title><![CDATA[New comment by pjungwir in "A reawakening of systems programming meetups"]]></title><description><![CDATA[
<p>If you add contact info to your profile, I will reach out. Or feel free to send me a note.</p>
]]></description><pubDate>Mon, 08 Jul 2024 16:51:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=40907031</link><dc:creator>pjungwir</dc:creator><comments>https://news.ycombinator.com/item?id=40907031</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40907031</guid></item><item><title><![CDATA[New comment by pjungwir in "A reawakening of systems programming meetups"]]></title><description><![CDATA[
<p>Calagator has been dead for years, and I don't understand why. Way before the pandemic: agreed. Most of what I see there now is business networking or people selling something.<p>But there are still things happening, e.g.:<p>- pdxpug (Postgres)<p>- Database Reading Group (DBRG) at PSU<p>- pdx.rb<p>- pdxruby Slack channel<p>- pdxstartups Slack channel<p>- Portland Papers We Love<p>- Portland Linux Users Group<p>- Linux Kernel meetup<p>- Rose City Techies<p>That's from just a little bit of research. But I miss when Calagator was full of cool stuff. What happened there I wonder?<p>I've tried hosting things in my home/back yard before. One was just to come hack on your projects together. Another was to work on open source contributions. I'd be up for trying something like that again. Something about systems/databases would be right up my alley. Maybe a reading group. If anyone sees this and is interested, send me an email.</p>
]]></description><pubDate>Mon, 08 Jul 2024 08:18:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=40903551</link><dc:creator>pjungwir</dc:creator><comments>https://news.ycombinator.com/item?id=40903551</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40903551</guid></item><item><title><![CDATA[New comment by pjungwir in "Code reviews do find bugs"]]></title><description><![CDATA[
<p>Indeed, if you read <i>The Goal</i> or <i>The Phoenix Project</i>, they call this "slack". There is a whole theory about why slack matters.</p>
]]></description><pubDate>Tue, 02 Jul 2024 14:38:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=40857147</link><dc:creator>pjungwir</dc:creator><comments>https://news.ycombinator.com/item?id=40857147</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40857147</guid></item><item><title><![CDATA[New comment by pjungwir in "Did Turing prove the undecidability of the halting problem?"]]></title><description><![CDATA[
<p>Oh this is very helpful!<p>When I read Turing's paper some years ago, this really confused me. The best sense I could make was that "circle-free" means "halts". But in popular explanations, writers often equate "halts" with "gives a result" and "doesn't halt" with "has a bug", i.e. an infinite loop. And Turing seems to connote just the opposite. The point is to print a real number, so if the program stops printing digits, something went wrong. (I guess many numbers would end in 0s forever.) From today's paper:<p>> a program is circular, when it produces only finitely many digits of the output digit sequence, and circle-free, when it has succeeded in giving us an infinite digit sequence for the output real number.<p>But I could never really believe my interpretation. It was just the best I could come up with, as an amateur reading the paper alone for fun. Later I read Petzold's book, and I'm not sure that really solved the trouble for me either.<p>I've only read a few pages so far, but I'm gathering it's not as simple as I wanted: "circle-free" is not merely equivalent to "halts" after all. I'm looking forward to seeing their more nuanced take.<p>EDIT: Btw, this reminds me of the best riddle I've ever invented myself. Q: What do you call a fully autonomous self-driving car that can operate with as much understanding as a person? A: N Gheavat Znpuvar. (I didn't say it was a <i>good</i> riddle.)</p>
]]></description><pubDate>Tue, 02 Jul 2024 14:33:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=40857089</link><dc:creator>pjungwir</dc:creator><comments>https://news.ycombinator.com/item?id=40857089</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40857089</guid></item><item><title><![CDATA[New comment by pjungwir in "Ask HN: What is the best code base you ever worked on?"]]></title><description><![CDATA[
<p>> Entire C++ servers with hundreds of lines of code can be built from scratch in a minute or two tops.<p>Hundreds, huh? Is this a typo? It makes me wonder if the whole comment is facetious. Or do C++ programmers just have very low expectations for build time?</p>
]]></description><pubDate>Fri, 28 Jun 2024 18:13:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=40823346</link><dc:creator>pjungwir</dc:creator><comments>https://news.ycombinator.com/item?id=40823346</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40823346</guid></item><item><title><![CDATA[New comment by pjungwir in "An Awk Implementation in C99"]]></title><description><![CDATA[
<p>I just finished reading Kernighan & Pike's <i>The Unix Programming Environment</i> this weekend, and it has a lot of awk. I read it more as a history book (it was published 40 years ago!), but the awk parts were a highlight, second only to the long penultimate chapter building your own calculator/programming language. It kind of made we want to learn more than just the basics I've been using for almost 25 years. But it also recalled Larry Wall's intro in Learning Perl, and how Perl started as a "better awk". That intro is really a direct response to K&P's book I think. So I don't know. I loved Perl in those days, and I agree about how not everything is doable as a shell pipeline. But a second edition makes me want to read it anyway. :-)</p>
]]></description><pubDate>Tue, 02 Apr 2024 00:10:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=39900948</link><dc:creator>pjungwir</dc:creator><comments>https://news.ycombinator.com/item?id=39900948</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39900948</guid></item><item><title><![CDATA[New comment by pjungwir in "Inside the Massive Alleged AT&T Data Breach"]]></title><description><![CDATA[
<p>> I've personally also used identity theft protection services since as far back as the 90's now, simply to know when actions such as credit enquiries appear against my name.<p>I've always thought companies offer those for ulterior motives, e.g. maybe they get a fee for giving the protection service future customers. Do others use them? Maybe I've been wrong here.</p>
]]></description><pubDate>Tue, 19 Mar 2024 21:01:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=39760176</link><dc:creator>pjungwir</dc:creator><comments>https://news.ycombinator.com/item?id=39760176</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39760176</guid></item><item><title><![CDATA[New comment by pjungwir in "Private company landing on the moon today"]]></title><description><![CDATA[
<p>NASA is covering this on twitch right now: <a href="https://www.twitch.tv/nasa" rel="nofollow">https://www.twitch.tv/nasa</a></p>
]]></description><pubDate>Thu, 22 Feb 2024 23:02:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=39474555</link><dc:creator>pjungwir</dc:creator><comments>https://news.ycombinator.com/item?id=39474555</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39474555</guid></item><item><title><![CDATA[New comment by pjungwir in "Forgetting the history of Unix is coding us into a corner"]]></title><description><![CDATA[
<p>I think it would be cool if stdout worked something like the clipboard, where you have different representations, and when an application copies something from the clipboard it selects the representation it wants. I'm not sure how to avoid making it terribly wasteful though, so that the producing application doesn't have to write in every format possible.</p>
]]></description><pubDate>Fri, 16 Feb 2024 15:11:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=39398062</link><dc:creator>pjungwir</dc:creator><comments>https://news.ycombinator.com/item?id=39398062</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39398062</guid></item><item><title><![CDATA[New comment by pjungwir in "Princess: Coding Like Royalty"]]></title><description><![CDATA[
<p>Not exactly what you asked for, but you should look up Chef (not the devops tool). It was part of an MIT Mystery Hunt one year. You could certainly write the recipes with a royal style.</p>
]]></description><pubDate>Thu, 08 Feb 2024 18:14:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=39305439</link><dc:creator>pjungwir</dc:creator><comments>https://news.ycombinator.com/item?id=39305439</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39305439</guid></item></channel></rss>