<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: jeberle</title><link>https://news.ycombinator.com/user?id=jeberle</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Wed, 15 Apr 2026 20:57:24 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=jeberle" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by jeberle in "Bring Back Idiomatic Design (2023)"]]></title><description><![CDATA[
<p>Before that, page-mode terminals used <Return> to move to first field on a subsequent line (like a line-based <Tab>) and sent the page only on <Enter> or <Fn-key>. This made for quick navigation w/ zero ambiguity.</p>
]]></description><pubDate>Sun, 12 Apr 2026 18:01:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=47742519</link><dc:creator>jeberle</dc:creator><comments>https://news.ycombinator.com/item?id=47742519</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47742519</guid></item><item><title><![CDATA[New comment by jeberle in "Hammerspoon"]]></title><description><![CDATA[
<p>I use it similarly, but I add spots for side x side as well as left, center, right. I only use Hammerspoon for this and a couple tiny things, but it's completely worth it for this alone. Use math to specify window sizes & location. Insanity.<p><pre><code>  local mode = hs.screen.primaryScreen():currentMode()
  local mods = {"ctrl", "alt", "cmd"}  -- mash those keys
  
  -- regular app windows
  do
    local w   = 1094  -- no clip on GitHub, HN
    local h   = 1122  -- tallish
    local x_1 =    0                               -- left edge
    local x_2 = math.max(0, (mode.w - w - w) / 2)  -- left middle
    local x_3 =             (mode.w - w) / 2       -- middle
    local x_4 = math.min(mode.w - w, x_2 + w + 1)  -- right middle
    local x_5 =          mode.w - w                -- right edge
    local y   =   23  -- top of screen below menu bar
  
    hs.hotkey.bind(mods, "2", function() move_win(  0, y, mode.w, mode.h) end)  -- max
  
    hs.hotkey.bind(mods, "3", function() move_win(x_1, y, w, h) end)
    hs.hotkey.bind(mods, "4", function() move_win(x_2, y, w, h) end)
    hs.hotkey.bind(mods, "5", function() move_win(x_3, y, w, h) end)
    hs.hotkey.bind(mods, "6", function() move_win(x_4, y, w, h) end)
    hs.hotkey.bind(mods, "7", function() move_win(x_5, y, w, h) end)
  end
  
  function move_win(x, y, w, h)
    hs.window.focusedWindow():setFrame(hs.geometry.rect(x, y, w, h))
  end</code></pre></p>
]]></description><pubDate>Fri, 13 Mar 2026 20:43:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=47369601</link><dc:creator>jeberle</dc:creator><comments>https://news.ycombinator.com/item?id=47369601</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47369601</guid></item><item><title><![CDATA[New comment by jeberle in "The Windows 95 user interface: A case study in usability engineering (1996)"]]></title><description><![CDATA[
<p>The "no taste" quote makes no sense given that Susan Kare did the many of the significant icons in Windows 95. She did the same for the Mac.</p>
]]></description><pubDate>Sun, 01 Mar 2026 04:22:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=47203690</link><dc:creator>jeberle</dc:creator><comments>https://news.ycombinator.com/item?id=47203690</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47203690</guid></item><item><title><![CDATA[New comment by jeberle in "Typechecking is undecidable when 'type' is a type (1989) [pdf]"]]></title><description><![CDATA[
<p>Does Rice's theorem cover this?<p>> [ all non-trivial semantic properties of programs are undecidable ]<p><a href="https://en.wikipedia.org/wiki/Rice's_theorem" rel="nofollow">https://en.wikipedia.org/wiki/Rice's_theorem</a><p>Found here:<p>From Sumatra to Panama, from Babylon to Valhalla<p><a href="https://www.youtube.com/watch?v=bE1bRbZzQ_k&t=48m27s" rel="nofollow">https://www.youtube.com/watch?v=bE1bRbZzQ_k&t=48m27s</a></p>
]]></description><pubDate>Mon, 02 Feb 2026 02:12:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=46851627</link><dc:creator>jeberle</dc:creator><comments>https://news.ycombinator.com/item?id=46851627</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46851627</guid></item><item><title><![CDATA[New comment by jeberle in "CSS sucks because we don't bother learning it (2022)"]]></title><description><![CDATA[
<p>That's the basis for my critique of CSS. There were plenty of other layout systems extant at the time CSS was cooked up. How CSS could have delivered such an incomplete and broken scheme is beyond me. To this day, it sucks harder than GridBagLayout from AWT of the 90s (and that one sucks a quite bit).</p>
]]></description><pubDate>Mon, 05 Jan 2026 19:11:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=46503258</link><dc:creator>jeberle</dc:creator><comments>https://news.ycombinator.com/item?id=46503258</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46503258</guid></item><item><title><![CDATA[New comment by jeberle in "IPv6 just turned 30 and still hasn't taken over the world"]]></title><description><![CDATA[
<p>Thanks for this. It's pointless to argue, but I wonder if shifting from 32 to 64 bits, instead 128, would have seen faster uptake.<p>Aside, isn't embedding MAC addrs in ones IP address a bad idea?</p>
]]></description><pubDate>Sat, 03 Jan 2026 14:58:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=46477408</link><dc:creator>jeberle</dc:creator><comments>https://news.ycombinator.com/item?id=46477408</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46477408</guid></item><item><title><![CDATA[New comment by jeberle in "Purrtran – ᓚᘏᗢ – A Programming Language for Cat People"]]></title><description><![CDATA[
<p>Cat constructed from block: Unified Canadian Aboriginal Syllabics, U+1400 to U+167F<p><pre><code>  U+14DA  ᓚ CANADIAN SYLLABICS LA
  U+160F  ᘏ CANADIAN SYLLABICS CARRIER YO
  U+15E2  ᗢ CANADIAN SYLLABICS CARRIER TTU
</code></pre>
<a href="https://unicode.scarfboy.com/?s=%E1%93%9A%E1%98%8F%E1%97%A2" rel="nofollow">https://unicode.scarfboy.com/?s=%E1%93%9A%E1%98%8F%E1%97%A2</a></p>
]]></description><pubDate>Tue, 16 Dec 2025 16:17:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=46290412</link><dc:creator>jeberle</dc:creator><comments>https://news.ycombinator.com/item?id=46290412</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46290412</guid></item><item><title><![CDATA[New comment by jeberle in "Java Hello World, LLVM Edition"]]></title><description><![CDATA[
<p>I would look to the UCSD p-System as a precedent to the JVM. Both are byte-code interpreted VMs. Gosling used the p-system earlier in his career, prior to joining Sun.<p><a href="https://en.wikipedia.org/wiki/James_Gosling#Career_and_contributions" rel="nofollow">https://en.wikipedia.org/wiki/James_Gosling#Career_and_contr...</a><p>The Objective-C runtime is very small: just enough to do late-bound fn calls to a tree of class defs. All on top of C.</p>
]]></description><pubDate>Mon, 08 Dec 2025 18:32:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=46195890</link><dc:creator>jeberle</dc:creator><comments>https://news.ycombinator.com/item?id=46195890</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46195890</guid></item><item><title><![CDATA[New comment by jeberle in "Perl's decline was cultural"]]></title><description><![CDATA[
<p>mod_php was distributed w/ Apache httpd, so it was "already installed". mod_perl needed to be installed manually, so it posed immediate friction, if not a complete freeze-out, depending on the situ. I believe that was why PHP became popular.</p>
]]></description><pubDate>Sun, 07 Dec 2025 15:23:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=46182337</link><dc:creator>jeberle</dc:creator><comments>https://news.ycombinator.com/item?id=46182337</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46182337</guid></item><item><title><![CDATA[New comment by jeberle in "Thoughts on Go vs. Rust vs. Zig"]]></title><description><![CDATA[
<p>Yeah, FFM adds many quality-of-life features - scoped lifetimes being a standout.<p>If you just want an arena interface, ByteBuffer has been there since Java 1.4 (2002). It also does off-heap w/ ByteBuffer.allocateDirect().<p><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/nio/ByteBuffer.html" rel="nofollow">https://docs.oracle.com/en/java/javase/25/docs/api/java.base...</a></p>
]]></description><pubDate>Fri, 05 Dec 2025 17:42:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=46164576</link><dc:creator>jeberle</dc:creator><comments>https://news.ycombinator.com/item?id=46164576</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46164576</guid></item><item><title><![CDATA[New comment by jeberle in "Thoughts on Go vs. Rust vs. Zig"]]></title><description><![CDATA[
<p>Not sure what you mean by "primitive support". Java 22 added FFM (Foreign Function & Memory). It works w/ both on-heap & off-heap memory. It has an Arena interface.<p><a href="https://openjdk.org/jeps/454" rel="nofollow">https://openjdk.org/jeps/454</a><p><a href="https://docs.oracle.com/en/java/javase/25/docs/api/java.base/java/lang/foreign/Arena.html" rel="nofollow">https://docs.oracle.com/en/java/javase/25/docs/api/java.base...</a></p>
]]></description><pubDate>Fri, 05 Dec 2025 04:48:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=46156933</link><dc:creator>jeberle</dc:creator><comments>https://news.ycombinator.com/item?id=46156933</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46156933</guid></item><item><title><![CDATA[New comment by jeberle in "Show HN: Walrus – a Kafka alternative written in Rust"]]></title><description><![CDATA[
<p>That was my first reaction. It's not like Java is terribly slow, so rewriting it in a slightly faster language seems like an empty exercise.</p>
]]></description><pubDate>Thu, 04 Dec 2025 19:28:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=46151720</link><dc:creator>jeberle</dc:creator><comments>https://news.ycombinator.com/item?id=46151720</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46151720</guid></item><item><title><![CDATA[New comment by jeberle in "Things I don't like in configuration languages"]]></title><description><![CDATA[
<p>I've often wondered if PostScript or PDF contained the roots of a very good config language. Perhaps it simply is (PDF docs at least) but nobody regards it as such.<p>My guess is the RPN nature would be a no-go for many people. Nevertheless: comments, dicts, arrays, good string syntax, numerics, binary data, etc. Maybe that makes it too complicated.</p>
]]></description><pubDate>Mon, 17 Nov 2025 20:49:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=45958101</link><dc:creator>jeberle</dc:creator><comments>https://news.ycombinator.com/item?id=45958101</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45958101</guid></item><item><title><![CDATA[New comment by jeberle in "Commodore 64 Ultimate"]]></title><description><![CDATA[
<p>Ah, you're right: $10K/yr + $0.15/unit. I was thinking more of a BOM part that already did HDMI, making it a no-brainer. Just speculating.</p>
]]></description><pubDate>Tue, 21 Oct 2025 13:38:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=45655668</link><dc:creator>jeberle</dc:creator><comments>https://news.ycombinator.com/item?id=45655668</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45655668</guid></item><item><title><![CDATA[New comment by jeberle in "Commodore 64 Ultimate"]]></title><description><![CDATA[
<p>I would find the product more compelling in a puck form factor (sans kbd). I can't imagine missing the extra key labels. That would make it significantly smaller, more robust, & less expensive.<p>I'd also prefer DisplayPort to HDMI, but that might have been chosen for cost, or for the home gaming / nostalgia play.</p>
]]></description><pubDate>Mon, 20 Oct 2025 23:11:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=45650591</link><dc:creator>jeberle</dc:creator><comments>https://news.ycombinator.com/item?id=45650591</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45650591</guid></item><item><title><![CDATA[New comment by jeberle in "Software essays that shaped me"]]></title><description><![CDATA[
<p>My favorite in this vein: <i>The Parable of the Two Programmers</i>, by Neil W. Rickert. Sums things up nicely.<p><a href="https://c00kiemon5ter.github.io/code/philosophy/2011/10/30/Tale-of-two-Programmers.html" rel="nofollow">https://c00kiemon5ter.github.io/code/philosophy/2011/10/30/T...</a></p>
]]></description><pubDate>Wed, 01 Oct 2025 03:12:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=45433923</link><dc:creator>jeberle</dc:creator><comments>https://news.ycombinator.com/item?id=45433923</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45433923</guid></item><item><title><![CDATA[New comment by jeberle in "The future of 32-bit support in the kernel"]]></title><description><![CDATA[
<p>OK, I'm lost here. Why is there a 1:1 correspondence between the two?</p>
]]></description><pubDate>Tue, 02 Sep 2025 20:34:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=45108660</link><dc:creator>jeberle</dc:creator><comments>https://news.ycombinator.com/item?id=45108660</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45108660</guid></item><item><title><![CDATA[New comment by jeberle in "The future of 32-bit support in the kernel"]]></title><description><![CDATA[
<p>You forgot `- 2^11` for the surrogate pairs. Gee, why isn't Unicode 2^21 code points? To understand the Unicode code point space you must understand UTF-16. The code space is defined by how UTF-16 works. That was my initial point.</p>
]]></description><pubDate>Tue, 02 Sep 2025 14:42:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=45103757</link><dc:creator>jeberle</dc:creator><comments>https://news.ycombinator.com/item?id=45103757</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45103757</guid></item><item><title><![CDATA[New comment by jeberle in "The future of 32-bit support in the kernel"]]></title><description><![CDATA[
<p>UTF-16 arguably <i>is</i> Unicode 2.0+. It's how the code point address space is defined. Code points are either 1 or 2 16-bit code units. Easy. Compare w/ UTF-8 where a code point may be 1, 2, 3, or 4 8-bit code units.<p>UTF-16 is annoying, but it's far from the biggest design failure in Unicode.</p>
]]></description><pubDate>Mon, 01 Sep 2025 23:04:04 +0000</pubDate><link>https://news.ycombinator.com/item?id=45097385</link><dc:creator>jeberle</dc:creator><comments>https://news.ycombinator.com/item?id=45097385</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45097385</guid></item><item><title><![CDATA[New comment by jeberle in "Framework Laptop 16"]]></title><description><![CDATA[
<p>Likewise, I would kill for gaps between Esc/F1, F4/F5, and F8/F9. ThinkPads do this although it is very subtle.<p>The gaps let you use the the function keys by feel rather than looking at them. They tend to be mapped in debuggers so hitting the wrong key is a big deal.<p>I actually don't mind the smaller arrow keys as again, they make it easier to drive by feel rather than by looking.</p>
]]></description><pubDate>Tue, 26 Aug 2025 23:36:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=45033670</link><dc:creator>jeberle</dc:creator><comments>https://news.ycombinator.com/item?id=45033670</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45033670</guid></item></channel></rss>