<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: ramses0</title><link>https://news.ycombinator.com/user?id=ramses0</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Fri, 14 Aug 2026 22:25:24 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=ramses0" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by ramses0 in "Ask HN: In your experience, what are sound conventions for e-ink UI development?"]]></title><description><![CDATA[
<p>In some cases (linux) you can middle click the scroll bar to jump to that position.  Do some searches for "gnome xwindows scrollbar warp" for more references.</p>
]]></description><pubDate>Tue, 11 Aug 2026 15:38:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=49260012</link><dc:creator>ramses0</dc:creator><comments>https://news.ycombinator.com/item?id=49260012</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49260012</guid></item><item><title><![CDATA[New comment by ramses0 in "Ask HN: In your experience, what are sound conventions for e-ink UI development?"]]></title><description><![CDATA[
<p>I responded to one of your surveys: dive in to supporting "xbox + index.html + trmnl.js" as a BYOD / demo target!  s/xbox/raspbpi/...etc...  I've got extra monitors and RPI's dangling around, and it's not out of the question to splash $50 for a BYOD license and get a "free" TRMNL display that I could have running during daylight hours, or wired to a smart outlet or something?<p>Also: wouldn't it be great to have an "advanced" timeline customizer, eg: lambda-ish functions?  (this I didn't bother sending to y'all...)<p>I've generally got mine wired to `Calender(15m) => Weather(5m) => Calendar(15m) => MotivationalQuote(5m) => Calendar(15m) => ...etc...`, but that's extremely gross (as you can imagine) with a bunch of `Calendar (copy) (copy) ...` because I can't be bothered to spend time fixing it up.<p>Thinking it through, I'd kindof like "primary queue (15m)" vs "secondary queue(5m)" and have "the algorithm" automatically merge them at runtime (ie: two pointer heads as you alternate queues), but the end game is effectively:<p><pre><code>    def next_card(handle):
        if handle.time.hour == "12:00":
            return ( "Lunch Break", "30m" )
        elif handle.time % 60 == 0:
            return ( "Calendar", "15m" )
        else:
            return ( handle.plugins.shuffle()[0], "5m" )
        ...etc...
</code></pre>
<3 ... the AI stuff looks tasteful + cool, please thank your support staff, and excited to see where y'all end up going!  (Reminds me, need to figure out the supposed firmware update...)</p>
]]></description><pubDate>Tue, 11 Aug 2026 15:34:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=49259956</link><dc:creator>ramses0</dc:creator><comments>https://news.ycombinator.com/item?id=49259956</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49259956</guid></item><item><title><![CDATA[New comment by ramses0 in "Ask HN: In your experience, what are sound conventions for e-ink UI development?"]]></title><description><![CDATA[
<p>Look back to the olden days of "drag proxies" or outline/wireframe drags.<p>Specifically for your example of maps, I would stick mostly to border buttons or UDLR gestures to "page" around rather than than trying to show a smoothly refreshing drag area.<p>Since you can _see_ the screen refreshing/drawing, and assuming you're using +/- buttons instead of "pinch to zoom", try drawing animations "in layers", ie: spend 100-300ms slapping "zoom tunnel boxes" trying to keep the user oriented while interacting.<p>Break the tiles into "thick => thin => letters => detail" and wait for them to quiesce before stacking more layers.<p>Rule #1 of optimization, you can never do something faster, you can only "do less"!<p>Rule #2 of optimization (amdahls law?)- optimize the slowest parts before you optimize the faster parts (and there's a limit to each!).<p>...from an end-user perspective, I would love if you respected my time and concentration when doing something "interactive".<p>Imagine scrolling through an e-ink address book. Imagine you spam only the (properly placed / laid out) first letter of first name and first letter of last name, and then after ~500ms of no movement, only THEN write out the remaining letters, phone numbers, icons, etc.<p>For e-ink interactive: every (slow, expensive) pixel that you write that gets scrolled off the screen is wasted time.<p>#1 - do less. In interactive cases, draw less pixels.<p>#2 - keep context. Use proxies/wireframes, "first letters", and "bold strokes".<p>#3 - fill in layers. Think "iterative Mona Lisa" and "progressive jpeg"<p>#4 - actually being slower is okay if you end up "feeling faster" or "seeming cooler"<p>Lean in to the defects and quirks of e-ink, make them feel intentional rather than trying to duplicate 60fps 16M colors.</p>
]]></description><pubDate>Mon, 10 Aug 2026 17:30:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=49246921</link><dc:creator>ramses0</dc:creator><comments>https://news.ycombinator.com/item?id=49246921</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49246921</guid></item><item><title><![CDATA[New comment by ramses0 in "Exploiting System Management Mode with a very long interrupt"]]></title><description><![CDATA[
<p>Looks like it's ~4 billion (2^32) crossover counter?</p>
]]></description><pubDate>Mon, 10 Aug 2026 17:08:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=49246605</link><dc:creator>ramses0</dc:creator><comments>https://news.ycombinator.com/item?id=49246605</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49246605</guid></item><item><title><![CDATA[New comment by ramses0 in "Mars dust is toxic. How will future astronauts deal with it?"]]></title><description><![CDATA[
<p>"The Expanse" (or: "Leviathan Wakes" by James S. A. Corey).<p>They talk about "living at the bottom of the well" within our solar system (gravity well, that is).  Mars effectively "divorces" from Earth (no kings / 1776, plus they need to be 100% self-sufficient), casually called "Dusters" presumably due to the Martian dust.<p>People working on the asteroid-based bases (in our "Asteroid Belt") are called "Belters".<p>Then also read: "The Moon is a Harsh Mistress" by Heinlein, where humanity colonizes "Luna" and have "Loonies" for relatively obvious reasons.<p>Both books delve a bit into the physiological changes but also the socio-political ramifications of humanity in space, and both are _excellent_ reads!</p>
]]></description><pubDate>Thu, 06 Aug 2026 16:15:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=49198722</link><dc:creator>ramses0</dc:creator><comments>https://news.ycombinator.com/item?id=49198722</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49198722</guid></item><item><title><![CDATA[New comment by ramses0 in "TSON – A JSON superset with immutable, hash-pinned schemas"]]></title><description><![CDATA[
<p>"superset" is just marketing mumbo jumbo that says: "I promise to embed an x86 virtual machine inside my spec that'll still parse whatever weird JSON you're currently handling and give it back to you as an object in your programming language"<p><pre><code>    $ echo '{ "Hello": "World" }' | tson --parse
    ERROR: ...refusing to interoperate w/ JSON b/c we want to be different
</code></pre>
...that's a non-starter.  If they're trying to replace or supplement JSON (same way `uv` has been replacing / supplementing `pip`, and `deno` is doing the same with `node`), you've got to do the work of supporting the extant real-world use cases that are floating around but with a healthy layer of $BETTER sprinkled on top.<p><pre><code>    $ echo '{ "Hello": !number 3.14 }' | jq '.'
    jq: parse error: Invalid numeric literal at line 1, column 19
</code></pre>
...THAT's the difference/extension.<p>I've been explicitly trying to support `--json5` on some of my internal work tooling.  Being very explicit that I'm not parsing `--json`, but instead using a slower (but more forgiving) `--json5` which would allow comments, trailing commas, whatever JSON5 claims to support.<p>This `--tson` feels like it's solving two problems in disguise:<p>1) It wants to be `--json6` (eg: `pi: !number 3.14`)<p>2) It wants to use it's own `--json6` (aka: `--tson`) to write "json-ish schemas" (eg: `foo: [text; 1..10]` for presumably a list of maximum of 10 elements?)<p>...JSON was a blessing because it existed naturally as an unambiguous "lists, dicts, values" representation that most programming languages treat as first-class citizens.  Missing "sets" and things like "date" or "boolean" are certainly under-specified, but that's the real-world impact of JSON as lowest common denominator.<p>SCHEMA's don't have nearly as much natural, unambiguous representations across many programming languages.  The closest thing I can think of is straight up Java + Constructors (ie: a full programming language for object initialization but w/o allowing interaction or behavior).<p><pre><code>   CalendarEvent x = new CalendarEvent( Date start, Date end, Boolean all_day, List<Invitee<...>>, ...etc... )
</code></pre>
...where my mind has gone lately is doubling down on TypeScript's `*.d.ts` as a "naturally occurring, expressive schema language".  It's hella-more-complicated to parse/validate than JSON, but there's tons of tooling around it, and it's relatively unambiguous that it can solve and express Real World(tm) engineering problems.</p>
]]></description><pubDate>Wed, 05 Aug 2026 16:03:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=49184729</link><dc:creator>ramses0</dc:creator><comments>https://news.ycombinator.com/item?id=49184729</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49184729</guid></item><item><title><![CDATA[New comment by ramses0 in "Zigbee vs. Matter over Thread:Understanding IoT Protocol Performance in Practice"]]></title><description><![CDATA[
<p>In many situations you're already "latent" due to interacting via voice: "Hey Siri, turn on the lights" is ~3-4 seconds to say casually, allow another 0.5-1.0 seconds due to voice processing, network, etc, and the missing 200ms is basically par for the course.<p>Where it starts to get annoying is "door open" and "motion detected" triggers. Motion detected can be played off as a sloppiness in the sensor cone, but going from "instant" to "laggy video game" when you have a physical trigger can be relatively annoying.</p>
]]></description><pubDate>Wed, 05 Aug 2026 13:22:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=49182543</link><dc:creator>ramses0</dc:creator><comments>https://news.ycombinator.com/item?id=49182543</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49182543</guid></item><item><title><![CDATA[New comment by ramses0 in "Where .env Went Wrong"]]></title><description><![CDATA[
<p>I wish there was better support for something like `SECRET_CMD="..."` (ie: "run this command to get/refresh secrets"), but that's just baking arbitrary command execution into your development pipeline.<p>Personally, I tend to have a `source ./source-me-auth` which does stuff like `DB_PASSWORD="$( pass show blah.com | head -1 )"`, but that still means I end up with secrets dangling around in my environment.  The "source-me" file is safe to share, but my runtime environment is tainted (for good and bad...).<p>I saw something w.r.t. the way open-claw handles things where you basically say `export DB_PASSWORD="REDACTED@SECRET_001"` and then it basically outbound filters network requests to hydrate that with `s/REDACTED@SECRET_001/$REAL_SECRET/g`, and I _really_ like that mechanism b/c it defers secret usage to runtime and keeps it physically "out" of the application itself.<p>Basically, having `with $SECRETS -- some_app.sh --some params ...` wouldn't be terrible (conceptually).</p>
]]></description><pubDate>Tue, 04 Aug 2026 18:04:12 +0000</pubDate><link>https://news.ycombinator.com/item?id=49172519</link><dc:creator>ramses0</dc:creator><comments>https://news.ycombinator.com/item?id=49172519</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49172519</guid></item><item><title><![CDATA[New comment by ramses0 in "7.1 Earthquake in Japan"]]></title><description><![CDATA[
<p>I really love hearing/learning about this!  Imagine "The Mickey Mouse Earthquake Alarm" vs. "Yeah, NERV-Alerts, nbd..."<p>I never watched much anime, but an old college roommate put me through Neon Genesis Evangelion and it holds a special place in my heart.  :-)</p>
]]></description><pubDate>Wed, 29 Jul 2026 14:49:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=49098291</link><dc:creator>ramses0</dc:creator><comments>https://news.ycombinator.com/item?id=49098291</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49098291</guid></item><item><title><![CDATA[New comment by ramses0 in "Making ASCII Art in Vim"]]></title><description><![CDATA[
<p>Noice!  :-D  Never knew about that (even though it might be vim-specific), but yeah, so much easier than where I'll usually have to do some trial + error to get my cursor to land where I want it. (usually in a macro, or multi-`.` edit context).</p>
]]></description><pubDate>Thu, 23 Jul 2026 14:57:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=49022706</link><dc:creator>ramses0</dc:creator><comments>https://news.ycombinator.com/item?id=49022706</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49022706</guid></item><item><title><![CDATA[New comment by ramses0 in "Making ASCII Art in Vim"]]></title><description><![CDATA[
<p>It's one of those things you'd _never_ stumble over naturally,  but once you're aware of the concept, it makes a ton of sense and you can immediately think of tons of uses for it.<p><pre><code>    /def new_.*(/s+8
    /2026-/e
    /except/+1;/raise</code></pre></p>
]]></description><pubDate>Thu, 23 Jul 2026 12:35:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=49020588</link><dc:creator>ramses0</dc:creator><comments>https://news.ycombinator.com/item?id=49020588</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49020588</guid></item><item><title><![CDATA[New comment by ramses0 in "Are AI Labs Pelicanmaxxing?"]]></title><description><![CDATA[
<p>I think it's actually due to "pelican on a plane" isn't the same as "pelican on an airplane" (Sonnet5 @ Flamingo x Plane), some consistent and warranted semantic/linguistic confusion!</p>
]]></description><pubDate>Wed, 22 Jul 2026 19:51:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=49012447</link><dc:creator>ramses0</dc:creator><comments>https://news.ycombinator.com/item?id=49012447</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49012447</guid></item><item><title><![CDATA[New comment by ramses0 in "Making ASCII Art in Vim"]]></title><description><![CDATA[
<p>Another slew of utility lies in `:help searchoffset`, often like the following: <a href="https://til.codeinthehole.com/posts/about-vims-semicolon-search-offset/" rel="nofollow">https://til.codeinthehole.com/posts/about-vims-semicolon-sea...</a><p><pre><code>    /x/e-3
    /x/+1
    /x/;/yz
</code></pre>
...it allows near arbitrary cursor placement (eg: this blog articles "squiggle" situation) to be able to find the beginning of the squiggle, or the end of the squiggle (or temporarily using "X" and "Z" for start/end, and "clearing" it with `V...:s/[XY]/./g`</p>
]]></description><pubDate>Tue, 21 Jul 2026 12:37:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=48991550</link><dc:creator>ramses0</dc:creator><comments>https://news.ycombinator.com/item?id=48991550</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48991550</guid></item><item><title><![CDATA[New comment by ramses0 in "Pebble Mega Update – July 2026"]]></title><description><![CDATA[
<p>...and BUTTONS!  Pebble's capabilities are excellent b/c the UX of a ~1.5" screen is wildly different than that of an iPhone.  Up/Down/Forward/Backwards and the occasional long-press is an excellent match for on-the-go interaction.<p>I absolutely hated brushing the iWatch screen and triggering random crap and there was no other way to interact with it!  Garmin's w/ 5 buttons and transflective (sunlight-readable) displays have been the closest alternative, and they have a pretty cool "touch-screen alt mode" which you can access via press+hold on two of the diagonal buttons to enable/disable (or automatically starts if you open up the "maps" app for dragging it around).<p>Long battery, sunlight readable, buttons.</p>
]]></description><pubDate>Fri, 17 Jul 2026 19:13:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=48951164</link><dc:creator>ramses0</dc:creator><comments>https://news.ycombinator.com/item?id=48951164</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48951164</guid></item><item><title><![CDATA[New comment by ramses0 in "NotebookLM is now Gemini Notebook"]]></title><description><![CDATA[
<p>Mitch Hedberg... "I want to get a job at the Kitchen Appliance Naming Institute: Refrigerator, Toaster, Blender.. you just say say what it does, then you add '-er' What's this thing do? It keeps shit fresh. Well that's a fresher. I'm goin on break."<p><a href="https://www.youtube.com/watch?v=0lwpS5M7hgA" rel="nofollow">https://www.youtube.com/watch?v=0lwpS5M7hgA</a></p>
]]></description><pubDate>Fri, 17 Jul 2026 17:52:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=48950189</link><dc:creator>ramses0</dc:creator><comments>https://news.ycombinator.com/item?id=48950189</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48950189</guid></item><item><title><![CDATA[New comment by ramses0 in "NotebookLM is now Gemini Notebook"]]></title><description><![CDATA[
<p>...and the Ally ISN'T EVEN AN XBOX!!!!<p>"""AI Overview: No, the Asus ROG Ally is not actually an Xbox. It is a handheld Windows computer made by Asus, even though it features Xbox branding and uses an Xbox-style controller layout"""</p>
]]></description><pubDate>Thu, 16 Jul 2026 20:33:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=48939849</link><dc:creator>ramses0</dc:creator><comments>https://news.ycombinator.com/item?id=48939849</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48939849</guid></item><item><title><![CDATA[New comment by ramses0 in "Zig Creator Calls Spade a Spade, Anthropic Blows Smoke"]]></title><description><![CDATA[
<p>George Bernard Shaw, Man and Superman (1903): "The reasonable man adapts himself to the world: the unreasonable one persists in trying to adapt the world to himself. Therefore all progress depends on the unreasonable man."<p><a href="http://www.catb.org/~esr/writings/taoup/html/end-user.html" rel="nofollow">http://www.catb.org/~esr/writings/taoup/html/end-user.html</a><p>"""Master Foo turned to the end-user. “Tell me”, he inquired, “why do you seek the Way?”<p>“I am discontent with the software I see around me”, the end user replied. “It neither performs reliably nor pleases the eye and hand. Having heard that the Unix way, though difficult, is superior, I seek to cast aside all snares and delusions”."""</p>
]]></description><pubDate>Thu, 16 Jul 2026 00:41:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=48929117</link><dc:creator>ramses0</dc:creator><comments>https://news.ycombinator.com/item?id=48929117</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48929117</guid></item><item><title><![CDATA[New comment by ramses0 in "Zig Creator Calls Spade a Spade, Anthropic Blows Smoke"]]></title><description><![CDATA[
<p>Fuben-Eki! <a href="https://news.ycombinator.com/item?id=37169679">https://news.ycombinator.com/item?id=37169679</a></p>
]]></description><pubDate>Mon, 13 Jul 2026 12:43:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=48891836</link><dc:creator>ramses0</dc:creator><comments>https://news.ycombinator.com/item?id=48891836</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48891836</guid></item><item><title><![CDATA[New comment by ramses0 in "The vintage beauty of Soviet control rooms (2018)"]]></title><description><![CDATA[
<p>SCADA.  Mechanism Design. ANSI/ISA-18.2-2016. NASA "Power of Ten" Safe Coding.  "The Pit of Success".  Poka Yoke.  Kaizen/Seiton.  "The Five S's". Fuben-eki ("The Benefits of Inconvenience").</p>
]]></description><pubDate>Sat, 11 Jul 2026 13:48:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=48872036</link><dc:creator>ramses0</dc:creator><comments>https://news.ycombinator.com/item?id=48872036</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48872036</guid></item><item><title><![CDATA[New comment by ramses0 in "Ask HN: How do you use Vim in the era of AI?"]]></title><description><![CDATA[
<p>It makes sense even more.  If you never enter "insert" mode, you still have powerful navigation and overview capabilities.  `*`, `#`, n/p, :set fdm=indent + zM/zR, gf/gx, :bp, the venerable `}/{` pairing, and simply `C-n/C-p` while composing prompts can be useful.<p>AI + Prompting can get you there, but it's still fairly laggy.  Honestly, VSCode (aka: Cursor) w/ the vim plugin, and `F2-rename` has been the sweet spot for me.  Reviewing diffs with `git diff | view -` and browsing them with vim is another useful.<p>:wq</p>
]]></description><pubDate>Fri, 10 Jul 2026 14:33:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=48860553</link><dc:creator>ramses0</dc:creator><comments>https://news.ycombinator.com/item?id=48860553</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48860553</guid></item></channel></rss>