<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: jneen</title><link>https://news.ycombinator.com/user?id=jneen</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Thu, 30 Apr 2026 23:14:34 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=jneen" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[How to Make Programming Terrible for Everyone]]></title><description><![CDATA[
<p>Article URL: <a href="https://jneen.ca/posts/2026-03-27-how-to-make-programming-terrible-for-everyone/">https://jneen.ca/posts/2026-03-27-how-to-make-programming-terrible-for-everyone/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47547913">https://news.ycombinator.com/item?id=47547913</a></p>
<p>Points: 7</p>
<p># Comments: 0</p>
]]></description><pubDate>Fri, 27 Mar 2026 20:35:26 +0000</pubDate><link>https://jneen.ca/posts/2026-03-27-how-to-make-programming-terrible-for-everyone/</link><dc:creator>jneen</dc:creator><comments>https://news.ycombinator.com/item?id=47547913</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47547913</guid></item><item><title><![CDATA[New comment by jneen in "AI and the Ship of Theseus"]]></title><description><![CDATA[
<p>I mean, it has to be asked... was the source of chardet not in the training set...?</p>
]]></description><pubDate>Fri, 06 Mar 2026 08:53:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=47272613</link><dc:creator>jneen</dc:creator><comments>https://news.ycombinator.com/item?id=47272613</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47272613</guid></item><item><title><![CDATA[New comment by jneen in "Is America's jobs market nearing a cliff?"]]></title><description><![CDATA[
<p>I've had my job offshored in the past, in case a personal anecdote is relevant here.</p>
]]></description><pubDate>Mon, 01 Dec 2025 06:03:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=46104036</link><dc:creator>jneen</dc:creator><comments>https://news.ycombinator.com/item?id=46104036</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46104036</guid></item><item><title><![CDATA[New comment by jneen in "Tulip – An untyped functional language"]]></title><description><![CDATA[
<p>Yeah, it's basically a toolkit for building jitted languages.  Basically the easiest way to get a tracing jit these days.  So it'll be a self-hosting jit similar to pypy or pixie.</p>
]]></description><pubDate>Sat, 28 Mar 2015 05:06:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=9280577</link><dc:creator>jneen</dc:creator><comments>https://news.ycombinator.com/item?id=9280577</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=9280577</guid></item><item><title><![CDATA[New comment by jneen in "Tulip – An untyped functional language"]]></title><description><![CDATA[
<p>Yeah, it was a difficult decision to remove types - I'd gotten myself into a corner trying to tack on dependent types, and it just wasn't happening.  My bet is that unlike most of the un{i,}typed languages out there (most of which I'd categorize as lisps and smalltalks), tulip provides tagging and destructuring that allows the programmer to maintain some level of control over the polymorphism.  Tulip will panic at runtime for non-total functions, but ideally you'll have the tools necessary to keep the panic as close to the problem as possible.</p>
]]></description><pubDate>Sat, 28 Mar 2015 02:41:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=9280277</link><dc:creator>jneen</dc:creator><comments>https://news.ycombinator.com/item?id=9280277</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=9280277</guid></item><item><title><![CDATA[New comment by jneen in "Tulip – An untyped functional language"]]></title><description><![CDATA[
<p>um, it's a flower</p>
]]></description><pubDate>Sat, 28 Mar 2015 02:33:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=9280251</link><dc:creator>jneen</dc:creator><comments>https://news.ycombinator.com/item?id=9280251</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=9280251</guid></item><item><title><![CDATA[New comment by jneen in "Tulip – An untyped functional language"]]></title><description><![CDATA[
<p>Exactly!  This is what the @method / @impl system is for - it's about equivalent to clojure's defprotocol.  Future plans include named protocols consisting of multiple methods, and protocol-based matching.</p>
]]></description><pubDate>Sat, 28 Mar 2015 00:18:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=9279886</link><dc:creator>jneen</dc:creator><comments>https://news.ycombinator.com/item?id=9279886</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=9279886</guid></item><item><title><![CDATA[New comment by jneen in "Tulip – An untyped functional language"]]></title><description><![CDATA[
<p>Argh, thanks for the cache link.  I'm still on heroku free-tier :\</p>
]]></description><pubDate>Fri, 27 Mar 2015 20:36:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=9278827</link><dc:creator>jneen</dc:creator><comments>https://news.ycombinator.com/item?id=9278827</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=9278827</guid></item><item><title><![CDATA[New comment by jneen in "Tulip – An untyped functional language"]]></title><description><![CDATA[
<p>Yep, it's my opinion, and that's why I put it into the design.  Lots of language design comes from opinions.  I hope it's borne out.  FWIW it's the same approach Rust has taken, where macros have to end with a ! to make them visually distinct.</p>
]]></description><pubDate>Fri, 27 Mar 2015 20:36:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=9278821</link><dc:creator>jneen</dc:creator><comments>https://news.ycombinator.com/item?id=9278821</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=9278821</guid></item><item><title><![CDATA[New comment by jneen in "Tulip – An untyped functional language"]]></title><description><![CDATA[
<p>Yep!  It focuses more on dynamic type-checks than on static typing though, so I put it in the category of "untyped functional" - more like clojure and erlang than haskell or ml.</p>
]]></description><pubDate>Fri, 27 Mar 2015 20:34:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=9278812</link><dc:creator>jneen</dc:creator><comments>https://news.ycombinator.com/item?id=9278812</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=9278812</guid></item><item><title><![CDATA[New comment by jneen in "Tulip – An untyped functional language"]]></title><description><![CDATA[
<p>It was a decision I made, partly because I realized they were right, and partly because I think tulips are pretty.<p><pre><code>     ) (
    (  _)
      |/</code></pre></p>
]]></description><pubDate>Fri, 27 Mar 2015 20:33:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=9278805</link><dc:creator>jneen</dc:creator><comments>https://news.ycombinator.com/item?id=9278805</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=9278805</guid></item><item><title><![CDATA[Tulip – An untyped functional language]]></title><description><![CDATA[
<p>Article URL: <a href="http://www.jneen.net/posts/2015-03-01-tulip-language">http://www.jneen.net/posts/2015-03-01-tulip-language</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=9277572">https://news.ycombinator.com/item?id=9277572</a></p>
<p>Points: 77</p>
<p># Comments: 58</p>
]]></description><pubDate>Fri, 27 Mar 2015 17:09:24 +0000</pubDate><link>http://www.jneen.net/posts/2015-03-01-tulip-language</link><dc:creator>jneen</dc:creator><comments>https://news.ycombinator.com/item?id=9277572</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=9277572</guid></item><item><title><![CDATA[New comment by jneen in "A female computer science major at Stanford: “Floored” by the sexism"]]></title><description><![CDATA[
<p>See, I actually know it has to do with gender because I used to have a beard.  I got treated very differently back then.</p>
]]></description><pubDate>Wed, 18 Feb 2015 01:25:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=9066462</link><dc:creator>jneen</dc:creator><comments>https://news.ycombinator.com/item?id=9066462</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=9066462</guid></item><item><title><![CDATA[New comment by jneen in "A female computer science major at Stanford: “Floored” by the sexism"]]></title><description><![CDATA[
<p>As someone who has tried to document and report shitty behavior, it's important to keep in mind how risky that is.<p>Here are a few patterns I've observed:<p>pattern (a)
MAN: <i>does shitty thing</i>;
WOMAN: hey please stop;
WOMAN's performance review: "has conflicts with MAN"<p>pattern (b)
MAN: <i>does shitty thing</i>;
WOMAN: <i>reports shitty thing</i>;
MANAGER: oh MAN is a nice guy, why don't you try working it out yourself<p>pattern (c)
MAN: <i>does shitty thing</i>;
WOMAN: <i>does nothing because she actually reports to MAN</i></p>
]]></description><pubDate>Tue, 17 Feb 2015 21:05:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=9064973</link><dc:creator>jneen</dc:creator><comments>https://news.ycombinator.com/item?id=9064973</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=9064973</guid></item><item><title><![CDATA[New comment by jneen in "A female computer science major at Stanford: “Floored” by the sexism"]]></title><description><![CDATA[
<p>I have heard most of these things, and it sucks. This is hella real.</p>
]]></description><pubDate>Tue, 17 Feb 2015 20:55:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=9064901</link><dc:creator>jneen</dc:creator><comments>https://news.ycombinator.com/item?id=9064901</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=9064901</guid></item><item><title><![CDATA[New comment by jneen in "Abusing Contributors is not OK"]]></title><description><![CDATA[
<p>If he is, it's pretty tame compared to the treatment of those who criticize him, and those who claim to support those who criticize him.</p>
]]></description><pubDate>Thu, 22 Jan 2015 21:54:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=8932010</link><dc:creator>jneen</dc:creator><comments>https://news.ycombinator.com/item?id=8932010</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=8932010</guid></item><item><title><![CDATA[New comment by jneen in "Show HN: Untrusted, a JavaScript adventure game you play by modifying its source"]]></title><description><![CDATA[
<p>Content note: plays sound.<p>Did the quick ^W at work :|</p>
]]></description><pubDate>Mon, 07 Apr 2014 17:41:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=7548011</link><dc:creator>jneen</dc:creator><comments>https://news.ycombinator.com/item?id=7548011</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=7548011</guid></item><item><title><![CDATA[New comment by jneen in "Neovim"]]></title><description><![CDATA[
<p>This is essentially where I'm going with ix.  Vim with an awesome haskell-like language underneath whose syntax is optimized for doing powerful stuff in command mode.<p>A prototype is at <a href="https://github.com/jayferd/ixl-prototype" rel="nofollow">https://github.com/jayferd/ixl-prototype</a></p>
]]></description><pubDate>Fri, 21 Feb 2014 20:36:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=7279240</link><dc:creator>jneen</dc:creator><comments>https://news.ycombinator.com/item?id=7279240</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=7279240</guid></item><item><title><![CDATA[New comment by jneen in "The worst thing about CoffeeScript"]]></title><description><![CDATA[
<p>I don't know if this can be solved without a syntax change.  As long as there is variable binding and variable mutation are conflated in the syntax, there's really no good way for the compiler to distinguish between the two.  It's an unfortunate design decision that we may be stuck with if we want back-compat.<p>LiveScript is interesting, but seems to have Too Many Features for my tastes.</p>
]]></description><pubDate>Sun, 26 Jan 2014 00:06:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=7123120</link><dc:creator>jneen</dc:creator><comments>https://news.ycombinator.com/item?id=7123120</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=7123120</guid></item><item><title><![CDATA[Paul Graham and the Manic Pixie Dream Hacker]]></title><description><![CDATA[
<p>Article URL: <a href="https://medium.com/p/ba8349e64e60">https://medium.com/p/ba8349e64e60</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=6991831">https://news.ycombinator.com/item?id=6991831</a></p>
<p>Points: 3</p>
<p># Comments: 1</p>
]]></description><pubDate>Tue, 31 Dec 2013 18:04:44 +0000</pubDate><link>https://medium.com/p/ba8349e64e60</link><dc:creator>jneen</dc:creator><comments>https://news.ycombinator.com/item?id=6991831</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=6991831</guid></item></channel></rss>