<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: Jeaye</title><link>https://news.ycombinator.com/user?id=Jeaye</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Tue, 07 Apr 2026 12:03:46 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=Jeaye" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[Show HN: Glitchlings, Enemies for Your LLM]]></title><description><![CDATA[
<p>Article URL: <a href="https://github.com/osoleve/glitchlings">https://github.com/osoleve/glitchlings</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46903800">https://news.ycombinator.com/item?id=46903800</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Thu, 05 Feb 2026 19:20:49 +0000</pubDate><link>https://github.com/osoleve/glitchlings</link><dc:creator>Jeaye</dc:creator><comments>https://news.ycombinator.com/item?id=46903800</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46903800</guid></item><item><title><![CDATA[How to stick with your projects, even when they're janky [video]]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.youtube.com/watch?v=Alfq8RG80Ns">https://www.youtube.com/watch?v=Alfq8RG80Ns</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46593615">https://news.ycombinator.com/item?id=46593615</a></p>
<p>Points: 4</p>
<p># Comments: 0</p>
]]></description><pubDate>Mon, 12 Jan 2026 20:15:48 +0000</pubDate><link>https://www.youtube.com/watch?v=Alfq8RG80Ns</link><dc:creator>Jeaye</dc:creator><comments>https://news.ycombinator.com/item?id=46593615</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46593615</guid></item><item><title><![CDATA[New comment by Jeaye in "Jank Lang Hit Alpha"]]></title><description><![CDATA[
<p>As much as any C++ project would, yes. That includes either through the C ABI or through the various C++/Rust interop mechanisms.</p>
]]></description><pubDate>Sat, 03 Jan 2026 18:45:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=46480067</link><dc:creator>Jeaye</dc:creator><comments>https://news.ycombinator.com/item?id=46480067</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46480067</guid></item><item><title><![CDATA[New comment by Jeaye in "Jank Lang Hit Alpha"]]></title><description><![CDATA[
<p>jank is Clojure and will track upstream Clojure development. I'm working closely with the Clojure team and other dialect devs to ensure this remains the case. I am leading a cross-dialect clojure-test-suite to help ensure parity across all dialects: <a href="https://github.com/jank-lang/clojure-test-suite" rel="nofollow">https://github.com/jank-lang/clojure-test-suite</a> We have support or work ongoing for Clojure JVM, ClojureScript, Clojure CLR, babashka, Basilisp, and jank.<p>With that said, jank will do some trail blazing down other paths (see my other comments here about Carp), but they will be optional modes which people can enable which are specific to jank. Clojure compatibility will remain constant.</p>
]]></description><pubDate>Sat, 03 Jan 2026 18:44:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=46480058</link><dc:creator>Jeaye</dc:creator><comments>https://news.ycombinator.com/item?id=46480058</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46480058</guid></item><item><title><![CDATA[New comment by Jeaye in "Jank Lang Hit Alpha"]]></title><description><![CDATA[
<p>JIT compiling C++ is definitely the slowest thing we do. However, we're working on two different codegen modes.<p>1. C++<p>2. LLVM IR<p>The IR is much faster to compile, but its perf isn't nearly as good. This is meant to be a nice trade off, during iteration, so that you can use C++ codegen for your release artifact, but stick with IR when you're REPLing. The IR gen is still unstable right now, for the alpha, but we'll have both solidified this year.</p>
]]></description><pubDate>Sat, 03 Jan 2026 18:39:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=46480005</link><dc:creator>Jeaye</dc:creator><comments>https://news.ycombinator.com/item?id=46480005</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46480005</guid></item><item><title><![CDATA[New comment by Jeaye in "Jank Lang Hit Alpha"]]></title><description><![CDATA[
<p>Carp is great and I would love to include a mode of jank which is very much Carp-esque. If you're interested in working together on this, please let me know.</p>
]]></description><pubDate>Sat, 03 Jan 2026 03:12:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=46472439</link><dc:creator>Jeaye</dc:creator><comments>https://news.ycombinator.com/item?id=46472439</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46472439</guid></item><item><title><![CDATA[New comment by Jeaye in "Jank Lang Hit Alpha"]]></title><description><![CDATA[
<p>We have a working nREPL server, but it's not yet merged into the jank repo. <a href="https://github.com/kylc/try-jank" rel="nofollow">https://github.com/kylc/try-jank</a><p>There's a Clang bug getting in the way of the progress we want, so we'll need to work around. There's a lot I'm juggling, but this is high priority.<p>Thanks for the broken link report. That should be fixed now.</p>
]]></description><pubDate>Sat, 03 Jan 2026 03:11:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=46472430</link><dc:creator>Jeaye</dc:creator><comments>https://news.ycombinator.com/item?id=46472430</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46472430</guid></item><item><title><![CDATA[New comment by Jeaye in "Jank Lang Hit Alpha"]]></title><description><![CDATA[
<p>No full-lang static type system. jank has seamless C++ interop and all interop is statically typed, but as soon as things get back into Clojure land, it's all dynamically typed and hella polymorphic.<p>I will be exploring optional static typing modes for jank in the future, a la Carp. That will not be this year, though.</p>
]]></description><pubDate>Fri, 02 Jan 2026 22:53:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=46470512</link><dc:creator>Jeaye</dc:creator><comments>https://news.ycombinator.com/item?id=46470512</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46470512</guid></item><item><title><![CDATA[New comment by Jeaye in "Jank Lang Hit Alpha"]]></title><description><![CDATA[
<p>Hi! I'm happy to accept grammatical PRs to the book. You could also report issues via Slack or Github issue. I will not be accepting larger PRs to the book, to maintain a consistent voice.</p>
]]></description><pubDate>Fri, 02 Jan 2026 21:32:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=46469642</link><dc:creator>Jeaye</dc:creator><comments>https://news.ycombinator.com/item?id=46469642</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46469642</guid></item><item><title><![CDATA[New comment by Jeaye in "Jank Lang Hit Alpha"]]></title><description><![CDATA[
<p>Please link to <a href="https://book.jank-lang.org/" rel="nofollow">https://book.jank-lang.org/</a> for anything related to the jank alpha. I wasn't quite ready to announce the alpha, but I appreciate that folks are excited. :)<p>There's just a couple more compiler features I wanted to get merged, but everything should be in order for folks to follow the book and try jank out.</p>
]]></description><pubDate>Fri, 02 Jan 2026 20:27:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=46468990</link><dc:creator>Jeaye</dc:creator><comments>https://news.ycombinator.com/item?id=46468990</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46468990</guid></item><item><title><![CDATA[New comment by Jeaye in "A fast EDN (Extensible Data Notation) reader written in C11 with SIMD boost"]]></title><description><![CDATA[
<p>It looks like the key missing part which would be needed for a lexer is source information (bare minimum: byte offset and size). I don't think edn.c can be used as a lexer without that, since error reporting requires accurate source information.<p>As a side note, I'm curious how much AI was used in the creation of edn.c. These days, I like to get a measure of that for every library I use.</p>
]]></description><pubDate>Tue, 25 Nov 2025 19:39:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=46049797</link><dc:creator>Jeaye</dc:creator><comments>https://news.ycombinator.com/item?id=46049797</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46049797</guid></item><item><title><![CDATA[New comment by Jeaye in "A fast EDN (Extensible Data Notation) reader written in C11 with SIMD boost"]]></title><description><![CDATA[
<p>This is superb. Thank you for making it and licensing it MIT. I think this is a contender to replace the lexer within jank. I'll do some benchmarking next year and we'll see!</p>
]]></description><pubDate>Tue, 25 Nov 2025 02:31:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=46041774</link><dc:creator>Jeaye</dc:creator><comments>https://news.ycombinator.com/item?id=46041774</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46041774</guid></item><item><title><![CDATA[New comment by Jeaye in "Zig / C++ Interop"]]></title><description><![CDATA[
<p>Yeah, this isn't quite C++ interop on its own. It's C++ interop <i>via C</i>, which is an incredibly pertinent qualifier. Since we go through C, opaque pointers are needed for everything, we can't stack allocate C++ values, we need to write extern C wrappers for everything we want to do (like calling member fns), and we don't get any compile-time type/safety checking, due to the opaque pointers.<p>Direct C++ interop is doable, by embedding Clang into Zig and using its AST, but this is significantly more work and it needs to be done in the Zig compiler. As a Zig user, going through C is about as good as you can do, probably.</p>
]]></description><pubDate>Tue, 11 Nov 2025 18:18:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=45890866</link><dc:creator>Jeaye</dc:creator><comments>https://news.ycombinator.com/item?id=45890866</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45890866</guid></item><item><title><![CDATA[New comment by Jeaye in "Nearly 90% of Windows Games Now Run on Linux"]]></title><description><![CDATA[
<p>YES! Use the Proton version, not the native Linux version.</p>
]]></description><pubDate>Tue, 28 Oct 2025 23:48:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=45740847</link><dc:creator>Jeaye</dc:creator><comments>https://news.ycombinator.com/item?id=45740847</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45740847</guid></item><item><title><![CDATA[New comment by Jeaye in "Nearly 90% of Windows Games Now Run on Linux"]]></title><description><![CDATA[
<p>Rocket League works just fine for me, via Proton. I have over 4k hours in, each one of them done from Linux.<p>BakkesMod also works, thanks to <a href="https://github.com/CrumblyLiquid/BakkesLinux" rel="nofollow">https://github.com/CrumblyLiquid/BakkesLinux</a><p>Rocket League has a platinum rating on ProtonDB: <a href="https://www.protondb.com/app/252950" rel="nofollow">https://www.protondb.com/app/252950</a></p>
]]></description><pubDate>Tue, 28 Oct 2025 22:29:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=45740116</link><dc:creator>Jeaye</dc:creator><comments>https://news.ycombinator.com/item?id=45740116</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45740116</guid></item><item><title><![CDATA[The jank community has stepped up]]></title><description><![CDATA[
<p>Article URL: <a href="https://jank-lang.org/blog/2025-10-03-community/">https://jank-lang.org/blog/2025-10-03-community/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=45465501">https://news.ycombinator.com/item?id=45465501</a></p>
<p>Points: 40</p>
<p># Comments: 1</p>
]]></description><pubDate>Fri, 03 Oct 2025 17:36:49 +0000</pubDate><link>https://jank-lang.org/blog/2025-10-03-community/</link><dc:creator>Jeaye</dc:creator><comments>https://news.ycombinator.com/item?id=45465501</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45465501</guid></item><item><title><![CDATA[New comment by Jeaye in "jank is C++"]]></title><description><![CDATA[
<p>A GC is nowhere near the most difficult part of this. In 2014, there was no viable technology for JIT compiling C++, and very little technology for JIT compiling native code in general.</p>
]]></description><pubDate>Fri, 11 Jul 2025 23:11:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=44537731</link><dc:creator>Jeaye</dc:creator><comments>https://news.ycombinator.com/item?id=44537731</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44537731</guid></item><item><title><![CDATA[New comment by Jeaye in "jank is C++"]]></title><description><![CDATA[
<p>I started with reference counting, but the amount of garbage Clojure programs churn out ends up bogging everything down unless a GC is used. jank's GC will change, going forward, and I want jank to grow to support optional affine typing, but the Clojure base is likely always going to be garbage collected.</p>
]]></description><pubDate>Fri, 11 Jul 2025 21:32:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=44536965</link><dc:creator>Jeaye</dc:creator><comments>https://news.ycombinator.com/item?id=44536965</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44536965</guid></item><item><title><![CDATA[New comment by Jeaye in "Jank is C++"]]></title><description><![CDATA[
<p>> i mean it's as prone to error as any other thing that relies on string munging.<p>This is misleading. Having done a great deal of both (as jank also supports C++ codegen as an alternative to IR), if the input is a fully analyzed AST, generating IR is significantly more error prone than generating C++. Why? Well, C++ is statically typed and one can enable warnings and errors for all sorts of issues. LLVM IR has a verifier, but it doesn't check that much. Handling references, pointers, closures, ABI issues, and so many more things ends up being a huge effort for IR.<p>For example, want to access the `foo.bar` member of a struct? In IR, you'll need to access foo, which may require loading it if it's a reference. You'll need to calculate the offset to `bar`, using GEP. You'll need to then determine if you're returning a reference to `bar` or if a copy is happening. Referencing will require storing a pointer, whereas copying may involve a lot more code. If we're generating C++, though, we just take `foo` and add a `.bar`. The C++ compiler handles the rest and will tell us if we messed anything up.<p>If you're going to hand wave and say anything that's building strings is error prone and unsafe, regardless of how richly typed and thoroughly analyzed the input is, the stance feels much less genuine.</p>
]]></description><pubDate>Fri, 11 Jul 2025 20:25:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=44536478</link><dc:creator>Jeaye</dc:creator><comments>https://news.ycombinator.com/item?id=44536478</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44536478</guid></item><item><title><![CDATA[New comment by Jeaye in "jank is C++"]]></title><description><![CDATA[
<p>I've pondered this for a while and I have no idea how jank is a recursive acronym. What're you seeing that I'm not?</p>
]]></description><pubDate>Fri, 11 Jul 2025 19:36:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=44536092</link><dc:creator>Jeaye</dc:creator><comments>https://news.ycombinator.com/item?id=44536092</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44536092</guid></item></channel></rss>