<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: phase_9</title><link>https://news.ycombinator.com/user?id=phase_9</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sun, 07 Jun 2026 20:29:38 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=phase_9" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by phase_9 in "LLMs are eroding my software engineering career and I don't know what to do"]]></title><description><![CDATA[
<p>The glory days are over. In the future, one software engineer will be able to support multiple product areas much like how one HR team can support 1,000's of employees.<p>LLMs have made domain knowledge and reasoning "cheap"; it doesn't matter if the output is lower quality - look around you for countless examples of where cheap wins and "cheap" continues to improve.<p>Good luck out there; we will all need it.</p>
]]></description><pubDate>Sun, 07 Jun 2026 13:08:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=48434453</link><dc:creator>phase_9</dc:creator><comments>https://news.ycombinator.com/item?id=48434453</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48434453</guid></item><item><title><![CDATA[New comment by phase_9 in "“Find Satoshi” PerplexCity puzzle solved"]]></title><description><![CDATA[
<p>The surplus stock was incinerated. Source: wished at mind candy in the early 2010s</p>
]]></description><pubDate>Wed, 30 Dec 2020 20:44:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=25585872</link><dc:creator>phase_9</dc:creator><comments>https://news.ycombinator.com/item?id=25585872</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=25585872</guid></item><item><title><![CDATA[Learn Redux by writing Middleware]]></title><description><![CDATA[
<p>Article URL: <a href="http://jonnyreeves.co.uk/2016/redux-middleware/">http://jonnyreeves.co.uk/2016/redux-middleware/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=11817794">https://news.ycombinator.com/item?id=11817794</a></p>
<p>Points: 6</p>
<p># Comments: 0</p>
]]></description><pubDate>Wed, 01 Jun 2016 20:19:53 +0000</pubDate><link>http://jonnyreeves.co.uk/2016/redux-middleware/</link><dc:creator>phase_9</dc:creator><comments>https://news.ycombinator.com/item?id=11817794</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=11817794</guid></item><item><title><![CDATA[Integration Testing with Golden Masters in Golang]]></title><description><![CDATA[
<p>Article URL: <a href="http://jonnyreeves.co.uk/2016/integration-testing-with-golden-masters">http://jonnyreeves.co.uk/2016/integration-testing-with-golden-masters</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=11529512">https://news.ycombinator.com/item?id=11529512</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Tue, 19 Apr 2016 19:30:27 +0000</pubDate><link>http://jonnyreeves.co.uk/2016/integration-testing-with-golden-masters</link><dc:creator>phase_9</dc:creator><comments>https://news.ycombinator.com/item?id=11529512</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=11529512</guid></item><item><title><![CDATA[Automatic Race Condition Detector in Actor Based Systems]]></title><description><![CDATA[
<p>Article URL: <a href="http://improbable.io/2016/03/04/automatic-race-condition-detector">http://improbable.io/2016/03/04/automatic-race-condition-detector</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=11230979">https://news.ycombinator.com/item?id=11230979</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Sat, 05 Mar 2016 20:38:53 +0000</pubDate><link>http://improbable.io/2016/03/04/automatic-race-condition-detector</link><dc:creator>phase_9</dc:creator><comments>https://news.ycombinator.com/item?id=11230979</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=11230979</guid></item><item><title><![CDATA[New comment by phase_9 in "React Makes You Sad?"]]></title><description><![CDATA[
<p>Hey plexicle - I also bumped into this one when I started with webpack; I've written the approach I use as a blog post, hope this helps:  <a href="http://jonnyreeves.co.uk/2016/simple-webpack-prod-and-dev-config" rel="nofollow">http://jonnyreeves.co.uk/2016/simple-webpack-prod-and-dev-co...</a></p>
]]></description><pubDate>Mon, 29 Feb 2016 21:19:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=11198612</link><dc:creator>phase_9</dc:creator><comments>https://news.ycombinator.com/item?id=11198612</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=11198612</guid></item><item><title><![CDATA[New comment by phase_9 in "TypeScript: New Compiler and Moving to GitHub"]]></title><description><![CDATA[
<p>Slightly off topic, but can anyone share a link to a large, well designed (open-source) codebase written in TypeScript?  Github incorrectly/mistakenly tags C projects at TypeScript thanks to the `.ts` files present (thanks for picking a unique TLA Microsoft ;)<p>[0] <a href="https://github.com/trending?l=typescript" rel="nofollow">https://github.com/trending?l=typescript</a></p>
]]></description><pubDate>Mon, 21 Jul 2014 19:20:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=8065498</link><dc:creator>phase_9</dc:creator><comments>https://news.ycombinator.com/item?id=8065498</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=8065498</guid></item><item><title><![CDATA[Multiline Strings in JavaScript through toString'ing functions]]></title><description><![CDATA[
<p>Article URL: <a href="https://github.com/sindresorhus/multiline">https://github.com/sindresorhus/multiline</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=7350257">https://news.ycombinator.com/item?id=7350257</a></p>
<p>Points: 4</p>
<p># Comments: 0</p>
]]></description><pubDate>Wed, 05 Mar 2014 22:00:51 +0000</pubDate><link>https://github.com/sindresorhus/multiline</link><dc:creator>phase_9</dc:creator><comments>https://news.ycombinator.com/item?id=7350257</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=7350257</guid></item><item><title><![CDATA[New comment by phase_9 in "Exploring an alternative to git-subtree"]]></title><description><![CDATA[
<p>I have anyways seen git submodules (and svn-externals before) to be a quick and dirty workaround for managing dependencies between modules.<p>I've been under the impression that using an artifact management tool such as Apache Ivy or Bower provides a more manageable and scalable solution, especially in projects with 20+ developers.<p>How does the solution proposed by the author compare? Does it compliment a managed artefact based solution?</p>
]]></description><pubDate>Sun, 23 Feb 2014 21:54:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=7287784</link><dc:creator>phase_9</dc:creator><comments>https://news.ycombinator.com/item?id=7287784</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=7287784</guid></item><item><title><![CDATA[New comment by phase_9 in "Args.js – Optional and Default parameters for JavaScript"]]></title><description><![CDATA[
<p>I've seen this style of library come up quite a few times whilst hacking away in JavaScript where developers try to introduce a sense of strict typing (I even wrote a similar one myself when I first moved over from ActionScript).  In the end I learned to stop worrying and love the <strike>bomb</strike> duck typing[0].<p>For me; one of the "joys" of coding JavaScript is the expressiveness that comes with a dynamic languages; should you throw an ArgumentError when your function that expects a number is invoked with a String?  Maybe - sure it can help catch problems early and effectively "stop-the-line" in your public API, but then again it will probably end up throwing the classic `TypeError: Object foo has no method 'bar'` for you anyway.<p>For "public" methods which form part of an API (especially when that API is going to be shared outside of my team) I try to make my functions handle failure early (before they delegate off to the "private" internal methods), even better if the public methods can repair any unexpected usage, ie:<p><pre><code>  function convertToHex(value) {
    var result;
    
    if (typeof value !== "number") {
      result = convertToHex(parseInt(value, 10));
    }
    else {
      result = "0x" + value.toString(16);
    }
    
    return result;
  }
</code></pre>
Also, with regards to default argument values, I've always felt the "native" JavaScript approach was fairly compact and descriptive when required:<p><pre><code>  function doFoo(bar) {
    bar = (bar !== undefined) ? bar : "default_value";
  }

</code></pre>
[0] <a href="http://en.wikipedia.org/wiki/Duck_typing" rel="nofollow">http://en.wikipedia.org/wiki/Duck_typing</a></p>
]]></description><pubDate>Mon, 13 Jan 2014 14:57:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=7050868</link><dc:creator>phase_9</dc:creator><comments>https://news.ycombinator.com/item?id=7050868</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=7050868</guid></item><item><title><![CDATA[New comment by phase_9 in "How I got a root shell in my NAS, 0day inside"]]></title><description><![CDATA[
<p>The DNS320 has been my home server for just over a year (replacing a LinkStation).  You can install Fonz FunPlug in about 5 minutes and get a solid, mirrored server for about £20.<p><a href="http://nas-tweaks.net/devices/d-link-dns-320/" rel="nofollow">http://nas-tweaks.net/devices/d-link-dns-320/</a></p>
]]></description><pubDate>Sun, 15 Sep 2013 19:17:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=6389964</link><dc:creator>phase_9</dc:creator><comments>https://news.ycombinator.com/item?id=6389964</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=6389964</guid></item><item><title><![CDATA[New comment by phase_9 in "Anders Hejlsberg and Lars Bak: TypeScript, JavaScript, and Dart"]]></title><description><![CDATA[
<p>ECMAScript 4 was implemented in ActionScript 3[1]; a very nice language to work with IMHO.  The members of the ECMAScript steering group launched into a public fracas on their respective blogs[2] which eventually ended in the draft being canned, despite the fact both ActionScript and Silverlight were already based on the standard... shame.<p>[1] <a href="http://en.wikipedia.org/wiki/ActionScript#ActionScript_3.0" rel="nofollow">http://en.wikipedia.org/wiki/ActionScript#ActionScript_3.0</a><p>[2] <a href="http://blogs.msdn.com/b/ie/archive/2007/10/30/ecmascript-3-and-beyond.aspx#5788577" rel="nofollow">http://blogs.msdn.com/b/ie/archive/2007/10/30/ecmascript-3-a...</a></p>
]]></description><pubDate>Fri, 22 Mar 2013 20:31:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=5425493</link><dc:creator>phase_9</dc:creator><comments>https://news.ycombinator.com/item?id=5425493</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=5425493</guid></item><item><title><![CDATA[New comment by phase_9 in "My review of the Surface Pro"]]></title><description><![CDATA[
<p>Shame I can no longer hear anything thanks to the roar of my laptop's fans!<p>Text only link for TFA: <a href="http://www.google.com/gwt/x?u=http%3A%2F%2Ftiamat.tsotech.com%2Fsurface-pro-tip" rel="nofollow">http://www.google.com/gwt/x?u=http%3A%2F%2Ftiamat.tsotech.co...</a></p>
]]></description><pubDate>Sun, 10 Feb 2013 08:25:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=5195808</link><dc:creator>phase_9</dc:creator><comments>https://news.ycombinator.com/item?id=5195808</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=5195808</guid></item><item><title><![CDATA[Green Sock JavaScript Animation Platform vs CSS3 Transitions.]]></title><description><![CDATA[
<p>Article URL: <a href="http://www.greensock.com/transitions/">http://www.greensock.com/transitions/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=4976991">https://news.ycombinator.com/item?id=4976991</a></p>
<p>Points: 2</p>
<p># Comments: 1</p>
]]></description><pubDate>Fri, 28 Dec 2012 08:31:10 +0000</pubDate><link>http://www.greensock.com/transitions/</link><dc:creator>phase_9</dc:creator><comments>https://news.ycombinator.com/item?id=4976991</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=4976991</guid></item><item><title><![CDATA[New comment by phase_9 in "Show HN: jQuery-Mustache Plugin"]]></title><description><![CDATA[
<p>This is a small jQuery plugin that I have been maintaining for a few months now. It provides a bit of sugar when using both jQuery and Mustache templates.</p>
]]></description><pubDate>Sun, 25 Nov 2012 21:56:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=4829420</link><dc:creator>phase_9</dc:creator><comments>https://news.ycombinator.com/item?id=4829420</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=4829420</guid></item><item><title><![CDATA[Show HN: jQuery-Mustache Plugin]]></title><description><![CDATA[
<p>Article URL: <a href="https://github.com/jonnyreeves/jquery-Mustache">https://github.com/jonnyreeves/jquery-Mustache</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=4829418">https://news.ycombinator.com/item?id=4829418</a></p>
<p>Points: 2</p>
<p># Comments: 1</p>
]]></description><pubDate>Sun, 25 Nov 2012 21:55:27 +0000</pubDate><link>https://github.com/jonnyreeves/jquery-Mustache</link><dc:creator>phase_9</dc:creator><comments>https://news.ycombinator.com/item?id=4829418</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=4829418</guid></item><item><title><![CDATA[New comment by phase_9 in "Google Nexus 4: Nearly flawless"]]></title><description><![CDATA[
<p>True, but I find the lack of Micro-SD Card Slot to be particularly galling, especially as it's becoming an increasingly popular trend with Android handset manufacturers looking to add a hefty markup between otherwise identical models.  Just ends up hurting us consumers who want to carry their music collections around with them :(</p>
]]></description><pubDate>Fri, 02 Nov 2012 16:59:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=4733592</link><dc:creator>phase_9</dc:creator><comments>https://news.ycombinator.com/item?id=4733592</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=4733592</guid></item><item><title><![CDATA[New comment by phase_9 in "Rsvp.js"]]></title><description><![CDATA[
<p>Yet another promises library (:  It's great that people are writing and sharing code, but it feels like people are trying to re-invent the wheel when stable, mature and well tested libraries[0] already exist for these problems.<p>[0] <a href="https://github.com/cujojs/when" rel="nofollow">https://github.com/cujojs/when</a></p>
]]></description><pubDate>Tue, 16 Oct 2012 20:17:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=4661620</link><dc:creator>phase_9</dc:creator><comments>https://news.ycombinator.com/item?id=4661620</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=4661620</guid></item><item><title><![CDATA[FastGlacier - A Windows Client for Amazon Glacier]]></title><description><![CDATA[
<p>Article URL: <a href="http://fastglacier.com/">http://fastglacier.com/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=4620238">https://news.ycombinator.com/item?id=4620238</a></p>
<p>Points: 3</p>
<p># Comments: 0</p>
]]></description><pubDate>Sat, 06 Oct 2012 10:36:04 +0000</pubDate><link>http://fastglacier.com/</link><dc:creator>phase_9</dc:creator><comments>https://news.ycombinator.com/item?id=4620238</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=4620238</guid></item><item><title><![CDATA[New comment by phase_9 in "Flowplayer 5.0.0"]]></title><description><![CDATA[
<p>Anecdotal, I know, but I found VideoJS to be a bit of a mess.  From a code point of view, the player instance would not destroy correctly resulting in a memory leak for single-page web apps and IMHO the CSS was a pain to work with.</p>
]]></description><pubDate>Sat, 29 Sep 2012 14:48:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=4589703</link><dc:creator>phase_9</dc:creator><comments>https://news.ycombinator.com/item?id=4589703</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=4589703</guid></item></channel></rss>