<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: joewalnes</title><link>https://news.ycombinator.com/user?id=joewalnes</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sun, 11 Oct 2026 02:57:00 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=joewalnes" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by joewalnes in "OpenSCAD the Programmers Solid 3D CAD Modeller"]]></title><description><![CDATA[
<p>Wrote a tutorial:<p><a href="https://github.com/joewalnes/toybrick" rel="nofollow">https://github.com/joewalnes/toybrick</a><p>LLMs are excellent at building OpenSCAD models. The tutorial (written in the before-times) will help understanding of the key concepts of OpenSCAD: primitives, transformations, and constructive solid geometry.</p>
]]></description><pubDate>Sat, 10 Oct 2026 17:55:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=50035386</link><dc:creator>joewalnes</dc:creator><comments>https://news.ycombinator.com/item?id=50035386</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50035386</guid></item><item><title><![CDATA[New comment by joewalnes in "No Man Is an Island"]]></title><description><![CDATA[
<p>What about the Isle of Man?</p>
]]></description><pubDate>Sat, 10 Oct 2026 00:59:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=50028415</link><dc:creator>joewalnes</dc:creator><comments>https://news.ycombinator.com/item?id=50028415</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50028415</guid></item><item><title><![CDATA[New comment by joewalnes in "OpenSCAD: The Programmer's Solid 3D CAD Modeller"]]></title><description><![CDATA[
<p>Love OpenSCAD! Here’s a little library for generating “toy brick” compatible models for a 3D printer.<p>Also written to be a follow along example to help understand how to think about writing OpenSCAD programs.<p><a href="https://github.com/joewalnes/toybrick">https://github.com/joewalnes/toybrick</a></p>
]]></description><pubDate>Sun, 15 Sep 2024 02:41:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=41544793</link><dc:creator>joewalnes</dc:creator><comments>https://news.ycombinator.com/item?id=41544793</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41544793</guid></item><item><title><![CDATA[New comment by joewalnes in "Remembering Bob Lee"]]></title><description><![CDATA[
<p>Bob was crazy. In the best way.<p>In the early 2000s, I first encountered Bob through the Java open source community. He had a knack of being able to go deep on a tough problem and emerge with a wonderfully elegant solution. This was a time when software was getting increasingly complex, and so did the knowledge required to understand it, yet Bob consistently bucked the trend and made things seems simple. He would tackle problems that scared others. He was crazy. Crazy Bob.<p>At one point we had a rivalry working on two open source projects competing to solve the same problem. When we first met face to face, I was nervous there may be confrontation, yet he was friendly, full of energy, and excited that we shared the passion for the same problem. We brainstormed many ideas and both went away feeling great! His crazy energy amplified my own and passion for software.<p>Shortly after, I joined Google because of Bob. Over the years since, he and I did our best to recruit each other for nearly every company either of us worked at - we just never got the timing right, yet I was always hopeful we'd figure it out eventually.<p>Even in CxO roles, whenever Bob and I met we'd geek out on all sorts of tech problems, ranging from API design, to embedded C firmware tricks, to financial protocols, to graph network theory, to hardware development. He loved tech, and his eyes lit up whenever we found a shared passion.<p>Bob was one of those few people who was incredibly smart, could see the problem in different ways, energize everyone around them, and make you want to be a better you.<p>Crazy Bob. You'll be missed.</p>
]]></description><pubDate>Thu, 06 Apr 2023 04:06:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=35464001</link><dc:creator>joewalnes</dc:creator><comments>https://news.ycombinator.com/item?id=35464001</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=35464001</guid></item><item><title><![CDATA[Work on SQLite4 has concluded]]></title><description><![CDATA[
<p>Article URL: <a href="https://sqlite.org/src4/info/c0b7f14c0976ed5e">https://sqlite.org/src4/info/c0b7f14c0976ed5e</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=15648280">https://news.ycombinator.com/item?id=15648280</a></p>
<p>Points: 378</p>
<p># Comments: 157</p>
]]></description><pubDate>Tue, 07 Nov 2017 22:28:09 +0000</pubDate><link>https://sqlite.org/src4/info/c0b7f14c0976ed5e</link><dc:creator>joewalnes</dc:creator><comments>https://news.ycombinator.com/item?id=15648280</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=15648280</guid></item><item><title><![CDATA[New comment by joewalnes in "Analysis of the Facebook app for iOS"]]></title><description><![CDATA[
<p>JUnit ships with this method:<p><pre><code>  void _dont_implement_Matcher___instead_extend_BaseMatcher_()
</code></pre>
I know this because I wrote it.<p>If you're interested in why: <a href="https://www.reddit.com/r/programming/comments/nlt5x/i_believe_this_is_exactly_how_not_to_design_a/c3awk2i/" rel="nofollow">https://www.reddit.com/r/programming/comments/nlt5x/i_believ...</a></p>
]]></description><pubDate>Tue, 11 Apr 2017 13:37:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=14087583</link><dc:creator>joewalnes</dc:creator><comments>https://news.ycombinator.com/item?id=14087583</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=14087583</guid></item><item><title><![CDATA[New comment by joewalnes in "Announcing AWS Athena: Query S3 with SQL"]]></title><description><![CDATA[
<p>Details: <a href="https://aws.amazon.com/athena/faqs/" rel="nofollow">https://aws.amazon.com/athena/faqs/</a></p>
]]></description><pubDate>Wed, 30 Nov 2016 17:14:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=13072513</link><dc:creator>joewalnes</dc:creator><comments>https://news.ycombinator.com/item?id=13072513</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=13072513</guid></item><item><title><![CDATA[A Sprinkling of 2016 Tech Predictions]]></title><description><![CDATA[
<p>Article URL: <a href="https://medium.com/@joewalnes/a-sprinkling-of-2016-tech-predictions-b1f2445fb3b2">https://medium.com/@joewalnes/a-sprinkling-of-2016-tech-predictions-b1f2445fb3b2</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=10976857">https://news.ycombinator.com/item?id=10976857</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Tue, 26 Jan 2016 22:48:34 +0000</pubDate><link>https://medium.com/@joewalnes/a-sprinkling-of-2016-tech-predictions-b1f2445fb3b2</link><dc:creator>joewalnes</dc:creator><comments>https://news.ycombinator.com/item?id=10976857</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=10976857</guid></item><item><title><![CDATA[The ongoing scourge that is SQL injection and Azure’s new SQL Threat Detection]]></title><description><![CDATA[
<p>Article URL: <a href="http://www.troyhunt.com/2015/12/the-ongoing-scourge-that-is-sql.html">http://www.troyhunt.com/2015/12/the-ongoing-scourge-that-is-sql.html</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=10662067">https://news.ycombinator.com/item?id=10662067</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Wed, 02 Dec 2015 10:19:22 +0000</pubDate><link>http://www.troyhunt.com/2015/12/the-ongoing-scourge-that-is-sql.html</link><dc:creator>joewalnes</dc:creator><comments>https://news.ycombinator.com/item?id=10662067</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=10662067</guid></item><item><title><![CDATA[ShopLocket (acquired by PCH) is closing down]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.shoplocket.com/">https://www.shoplocket.com/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=9542032">https://news.ycombinator.com/item?id=9542032</a></p>
<p>Points: 3</p>
<p># Comments: 0</p>
]]></description><pubDate>Wed, 13 May 2015 21:16:21 +0000</pubDate><link>https://www.shoplocket.com/</link><dc:creator>joewalnes</dc:creator><comments>https://news.ycombinator.com/item?id=9542032</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=9542032</guid></item><item><title><![CDATA[Vulnerabilities in Microsoft font drivers could allow remote code execution]]></title><description><![CDATA[
<p>Article URL: <a href="https://technet.microsoft.com/en-us/library/security/ms15-044.aspx">https://technet.microsoft.com/en-us/library/security/ms15-044.aspx</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=9534591">https://news.ycombinator.com/item?id=9534591</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Tue, 12 May 2015 20:22:56 +0000</pubDate><link>https://technet.microsoft.com/en-us/library/security/ms15-044.aspx</link><dc:creator>joewalnes</dc:creator><comments>https://news.ycombinator.com/item?id=9534591</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=9534591</guid></item><item><title><![CDATA[New comment by joewalnes in "Problems with Go Get"]]></title><description><![CDATA[
<p>A very tiny shell script:
<a href="https://github.com/joewalnes/go-getter" rel="nofollow">https://github.com/joewalnes/go-getter</a><p>Like go get, but you specify exact versions, including transitive dependencies. One GOPATH per project. And most importantly, you don't have to use go get to install the tool in the first place.</p>
]]></description><pubDate>Fri, 08 May 2015 01:28:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=9509517</link><dc:creator>joewalnes</dc:creator><comments>https://news.ycombinator.com/item?id=9509517</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=9509517</guid></item><item><title><![CDATA[New comment by joewalnes in "Reproducible Builds in Go"]]></title><description><![CDATA[
<p>Dave thanks for doing this. Not just for building the tool but for a very well thought out and convincing presentation.<p>I'm completely with you. My own solution has similar ideals (per project versioned deps) though a different solution. <a href="https://github.com/joewalnes/go-getter/blob/master/README.md" rel="nofollow">https://github.com/joewalnes/go-getter/blob/master/README.md</a>. Honestly I'm just glad others are finally talking about the elephant in the room.</p>
]]></description><pubDate>Wed, 29 Apr 2015 12:50:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=9457872</link><dc:creator>joewalnes</dc:creator><comments>https://news.ycombinator.com/item?id=9457872</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=9457872</guid></item><item><title><![CDATA[New comment by joewalnes in "Show HN: Smooth open-source Tetris clone with a few surprises"]]></title><description><![CDATA[
<p>Very slick! Love seeing Python built games like this. Well done, sir.</p>
]]></description><pubDate>Thu, 23 Apr 2015 01:47:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=9424581</link><dc:creator>joewalnes</dc:creator><comments>https://news.ycombinator.com/item?id=9424581</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=9424581</guid></item><item><title><![CDATA[Linux 4.0]]></title><description><![CDATA[
<p>Article URL: <a href="https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=39a8804455fb23f09157341d3ba7db6d7ae6ee76">https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=39a8804455fb23f09157341d3ba7db6d7ae6ee76</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=9365317">https://news.ycombinator.com/item?id=9365317</a></p>
<p>Points: 390</p>
<p># Comments: 79</p>
]]></description><pubDate>Mon, 13 Apr 2015 00:36:56 +0000</pubDate><link>https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=39a8804455fb23f09157341d3ba7db6d7ae6ee76</link><dc:creator>joewalnes</dc:creator><comments>https://news.ycombinator.com/item?id=9365317</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=9365317</guid></item><item><title><![CDATA[New comment by joewalnes in "Jodd – The Unbearable Lightness of Java"]]></title><description><![CDATA[
<p>Words cannot describe...</p>
]]></description><pubDate>Sat, 28 Mar 2015 03:01:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=9280323</link><dc:creator>joewalnes</dc:creator><comments>https://news.ycombinator.com/item?id=9280323</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=9280323</guid></item><item><title><![CDATA[New comment by joewalnes in "Bidding farewell to Google Code"]]></title><description><![CDATA[
<p>This is a slightly modified snippet extracted from something I wrote last year predicting the Google Code shutdown. <a href="https://medium.com/@joewalnes/some-2015-tech-predictions-1e78ff31cbfd" rel="nofollow">https://medium.com/@joewalnes/some-2015-tech-predictions-1e7...</a><p>------------<p>It's not about Mercurial vs Git.<p>When Google Code added Mercurial support, Mercurial and Git were roughly equal in popularity. Git was more functional, but Mercurial was a lot simpler to use. In fact, almost everyone I spoke to at the time preferred Mercurial and honestly I thought it was going to be the winner. Project hosting sites that had typically used centralized source control systems like CVS or SVN scrambled to add Git and Mercurial support (including Google Code).<p>Then GitHub happened. They realized that the it's not just the source control system that should be decentralized but every aspect of the project. Projects could be forked with a single click, pull requests created and tracked, network graphs explored. It created an organic and discoverable open-source ecosystem, the likes of which we never saw on Google Code, SourceForge, etc. Anyone could explore ideas in existing projects without having to gain committer access. It was magical.<p>GitHub may have just as easily decided to bet on Mercurial instead. I believe if that would have happened, Mercurial would be the most widely used system today. BitBucket did something similar for Mercurial and did pretty well, but GitHub always had the lead.<p><i></i> It was the project hosting sites that lead the source control systems, not the other way round <i></i><p>So, back to Google Code. It could have been something huge and it could have made Mercurial the winner, but Google Code never grokked the importance of "social coding". Even though the source code was decentralized, the projects themselves were still centralized. Decentralized project concepts such as forking, network graphs, pull requests, etc - this was all from the new world of GitHub.<p>Over the past two years we've seen Google release new open-source projects on GitHub, then existing projects starting to migrate. Recently, Go started migration too — this is no casual move because it affects the import paths used in a vast amount of user created Go code which will build breakages. Yeah, the writing is on the wall for Google Code.<p>When SourceForge fell out of favor it was sold. It’s now filled with ads, especially deceiving ones on project downloads page which try to trick users into downloading some malware infested turd burner. In fact, for a while SourceForge were actively modifying genuine project releases to include spyware. Cocks.<p>Google didn't do a SourceForge. If there's anything we’ve learned from Google over the years is that they’re not afraid of shutting down projects that don’t work out. By the way, I really respect Google for this — killing products takes guts.<p>Google Code — I salute you. You did well, you made the open source world a better place, and above all you stepped aside when you knew the time was right.</p>
]]></description><pubDate>Thu, 12 Mar 2015 17:15:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=9192229</link><dc:creator>joewalnes</dc:creator><comments>https://news.ycombinator.com/item?id=9192229</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=9192229</guid></item><item><title><![CDATA[Shell one liner: tail -f to your web-browser]]></title><description><![CDATA[
<p>Article URL: <a href="https://medium.com/@joewalnes/tail-f-to-the-web-browser-b933d9056cc">https://medium.com/@joewalnes/tail-f-to-the-web-browser-b933d9056cc</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=9141351">https://news.ycombinator.com/item?id=9141351</a></p>
<p>Points: 10</p>
<p># Comments: 0</p>
]]></description><pubDate>Tue, 03 Mar 2015 22:53:07 +0000</pubDate><link>https://medium.com/@joewalnes/tail-f-to-the-web-browser-b933d9056cc</link><dc:creator>joewalnes</dc:creator><comments>https://news.ycombinator.com/item?id=9141351</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=9141351</guid></item><item><title><![CDATA[New comment by joewalnes in "Codehaus, birthplace of many Java OSS projects coming to an end"]]></title><description><![CDATA[
<p>Codehaus was the birthplace of many Java open-source projects last decade.<p>Enterprise Java was becoming mainstream, but the open-source community saw that it had much more potential than the tools provided by Sun.<p>Codehaus provides project hosting (source control, issue tracking, websites, continuous builds, downloads, mailing lists, IRC, etc). This was back before GitHub existed and the only other option was SourceForge (which was terrible).<p>But above all, Codehaus provided community. The developers across projects all hung out together, on mailing lists, IRC and the occasional global meetup. Respect and friendship. It was there that many gripes and problems were discussed and new projects were born.<p>If you've ever benefitted from Groovy, Jetty, Grails, Gradle, XDoclet, XStream, jMock, EasyMock, QDox, Drools, Esper, Mule, PicoContainer, Jackson, Janino, JBehave, Stomp (and hundreds others), this was thanks to the Codehaus community.<p>Many of the projects and people have gone on to do great things. Companies have been formed. New communities created. 
Many projects died, some thrived. Codehaus is no longer the hotness it once was, but it provided the foundation that many of us have benefitted greatly form, and it's no doubt one of the giants that the Java open-source community is standing on the shoulders of.<p>Codehaus is now shutting down: <a href="http://codehaus.org" rel="nofollow">http://codehaus.org</a>
Please join me in raising your glasses to the people and projects. Codehaus, we salute you. So long, and thanks for all the fish.</p>
]]></description><pubDate>Fri, 27 Feb 2015 13:22:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=9118663</link><dc:creator>joewalnes</dc:creator><comments>https://news.ycombinator.com/item?id=9118663</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=9118663</guid></item><item><title><![CDATA[Codehaus, birthplace of many Java OSS projects coming to an end]]></title><description><![CDATA[
<p>Article URL: <a href="http://www.codehaus.org">http://www.codehaus.org</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=9118661">https://news.ycombinator.com/item?id=9118661</a></p>
<p>Points: 10</p>
<p># Comments: 3</p>
]]></description><pubDate>Fri, 27 Feb 2015 13:21:33 +0000</pubDate><link>http://www.codehaus.org</link><dc:creator>joewalnes</dc:creator><comments>https://news.ycombinator.com/item?id=9118661</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=9118661</guid></item></channel></rss>