<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: ventana</title><link>https://news.ycombinator.com/user?id=ventana</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Thu, 16 Jul 2026 04:48:31 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=ventana" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by ventana in "Linux kernel won't be anti-AI – Linus Torvalds"]]></title><description><![CDATA[
<p>I would say it is both very pragmatic and very reasonable approach. Agents will probably not go anywhere, they are indeed useful tools, banning them seems pretty much unrealistic since people will use them anyway.</p>
]]></description><pubDate>Thu, 16 Jul 2026 03:20:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=48929989</link><dc:creator>ventana</dc:creator><comments>https://news.ycombinator.com/item?id=48929989</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48929989</guid></item><item><title><![CDATA[New comment by ventana in "Command Line Interface Guidelines"]]></title><description><![CDATA[
<p>Then export PAGER= in your shell profile should help!</p>
]]></description><pubDate>Thu, 16 Jul 2026 03:07:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=48929918</link><dc:creator>ventana</dc:creator><comments>https://news.ycombinator.com/item?id=48929918</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48929918</guid></item><item><title><![CDATA[New comment by ventana in "Command Line Interface Guidelines"]]></title><description><![CDATA[
<p>This is a common approach, CLI tools often use isatty [1] to check if the output fd is a TTY or not. Try running "git log" for example; if you have many commits, it will page through "less" or $PAGER only if it sees that you're on a real TTY; but if not, it will not. Try this:<p><pre><code>  git log                     # PAGER undefined; uses less
  PAGER=/usr/bin/head git log # pages through head, you get 10 lines
  PAGER= git log              # PAGER is empty; does not page
  git log | cat               # output is not a TTY; does not page
</code></pre>
(also, notice that git uses colors if the output is going to a terminal, and does not if not)<p>I don't think I was ever bothered by the automatic paging through "less".<p>[1]: <a href="https://man7.org/linux/man-pages/man3/isatty.3.html" rel="nofollow">https://man7.org/linux/man-pages/man3/isatty.3.html</a></p>
]]></description><pubDate>Thu, 16 Jul 2026 02:58:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=48929873</link><dc:creator>ventana</dc:creator><comments>https://news.ycombinator.com/item?id=48929873</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48929873</guid></item><item><title><![CDATA[New comment by ventana in "Nul Characters in Strings in SQLite"]]></title><description><![CDATA[
<p>> C-style strings being a thing at all really hurts.<p>Well, C strings exist and are probably here to stay.<p>I believe Pascal strings, where the length is stored in the 0th character, were much worse (also, obligatory reference to Joel Spolsky's “Back to Basics” and “fucked strings” [1]).<p>Looks like we only got enough memory to spare to allow arbitrary length strings with arbitrary characters – that is, being able to use 2 or 4 bytes for the length of every string – in 1990s or so, when C++ strings and similar types became popular.<p>[1]: <a href="https://www.joelonsoftware.com/2001/12/11/back-to-basics/" rel="nofollow">https://www.joelonsoftware.com/2001/12/11/back-to-basics/</a></p>
]]></description><pubDate>Thu, 16 Jul 2026 02:37:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=48929770</link><dc:creator>ventana</dc:creator><comments>https://news.ycombinator.com/item?id=48929770</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48929770</guid></item><item><title><![CDATA[New comment by ventana in "Nul Characters in Strings in SQLite"]]></title><description><![CDATA[
<p>So, one fun consequence of this is that Unicode multi-byte strings (not UTF-8 but something like UTF-32) cannot be stored as strings in sqlite without a huge pain. Not that I ever planned to use multi-byte fixed length encodings, but good to know!<p>A good moment to appreciate the elegance of UTF-8 which allowed to encode multi-byte characters preserving the semantics of C strings.</p>
]]></description><pubDate>Thu, 16 Jul 2026 02:29:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=48929720</link><dc:creator>ventana</dc:creator><comments>https://news.ycombinator.com/item?id=48929720</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48929720</guid></item><item><title><![CDATA[New comment by ventana in "Show HN: One More Letter"]]></title><description><![CDATA[
<p>My reaction too, but then I found the button to try the previous days, and it was enough for me to figure out the game :)</p>
]]></description><pubDate>Thu, 16 Jul 2026 02:22:52 +0000</pubDate><link>https://news.ycombinator.com/item?id=48929688</link><dc:creator>ventana</dc:creator><comments>https://news.ycombinator.com/item?id=48929688</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48929688</guid></item><item><title><![CDATA[New comment by ventana in "Designing APIs for Agents"]]></title><description><![CDATA[
<p>I don't like the idea of making APIs effectively unusable for a human developer. We might not write a lot of code anymore, but getting rid of defaults and asking agents to pass all possible values explicitly makes it impossible to quickly debug the API call (e.g. with curl or something).<p>It's similar to HTTP/1: there are a lot of headers in the protocol, but you can still use nc or openssl s_client and type the request manually; you probably only need Host: and Content-Type:, maybe Content-Length:, and it will work. I don't normally write HTTP requests in the terminal, but I know I can do it if I need. It's better to keep it this way, I think.<p>Same with APIs.</p>
]]></description><pubDate>Wed, 15 Jul 2026 23:14:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=48928444</link><dc:creator>ventana</dc:creator><comments>https://news.ycombinator.com/item?id=48928444</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48928444</guid></item><item><title><![CDATA[New comment by ventana in "Using Go for Mobile Apps"]]></title><description><![CDATA[
<p>I don't know! The author chose to use Golang, maybe it's for code reuse or just because they like Golang more. I did not question their choice, only commented on the implementation detail.</p>
]]></description><pubDate>Wed, 15 Jul 2026 18:48:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=48925364</link><dc:creator>ventana</dc:creator><comments>https://news.ycombinator.com/item?id=48925364</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48925364</guid></item><item><title><![CDATA[New comment by ventana in "Using Go for Mobile Apps"]]></title><description><![CDATA[
<p>The author uses Flutter for UI, Golang binary for the app backend, and uses channels passing serialized protobuf messages between them. Since adding a new API call requires changes in multiple places, they ended up defining a "god message" which has a oneof with all possible options:<p><pre><code>  message CarrotAPI {
    oneof api {
      Function1API function1 = 10;
      Function2API function2 = 11;
    }
  }
  
  message Function1API {
        message Request {}
        message Response {}
        
        Request request = 1;
        Response response = 2;
  }
</code></pre>
and then dispatch the call using switch to check the value of the api field.<p>This is... not really a good API design. I wonder if the problem of "multiple places to be edited" can be solved in an easier way by making a custom protoc plugin [1] which will take care of generating all the boilerplate for both Dart and Golang. This is how support for new languages and use cases is normally added to protoc.<p>[1]: <a href="https://protobuf.dev/reference/other/" rel="nofollow">https://protobuf.dev/reference/other/</a></p>
]]></description><pubDate>Wed, 15 Jul 2026 16:31:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=48923352</link><dc:creator>ventana</dc:creator><comments>https://news.ycombinator.com/item?id=48923352</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48923352</guid></item><item><title><![CDATA[New comment by ventana in "The 'absolute magic' of Morse code that still connects people globally"]]></title><description><![CDATA[
<p>I never practiced Morse code, but I read enough about it to quickly realize that the nice sound a friend's cool new Nokia phone made on incoming SMS messages is actually ... -- ..., literally "SMS". The year was 2002 or so. I'm still amazed that someone in Nokia really thought about it back then.</p>
]]></description><pubDate>Mon, 13 Jul 2026 16:56:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=48895489</link><dc:creator>ventana</dc:creator><comments>https://news.ycombinator.com/item?id=48895489</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48895489</guid></item><item><title><![CDATA[New comment by ventana in "How we can reduce traffic congestion"]]></title><description><![CDATA[
<p>The same things keeps happening every time I find myself stuck in traffic on the interstate. Out of nowhere, a popup appears in Google Maps: a faster route is available! 4 minutes faster! Unless either the passenger or the driver are fast enough to hit "No thanks", the change auto-applies, and Google now wants me to exit the interstate at the nearest exit and drive some random road I had no idea about, to rejoin the interstate a few miles ahead. Of course, a bunch of other vehicles in the same traffic jam got the same
notification, so that minor road now get a sizable fraction of the interstate traffic, all of which then struggles to merge back.<p>Seeing this again and again. We call it a "Google detour" in the family, and rarely agree to the change of the route.</p>
]]></description><pubDate>Sun, 12 Jul 2026 23:56:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=48886152</link><dc:creator>ventana</dc:creator><comments>https://news.ycombinator.com/item?id=48886152</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48886152</guid></item><item><title><![CDATA[New comment by ventana in "Weightlifting beats running for blood sugar control, researchers find (2025)"]]></title><description><![CDATA[
<p>Took me about half a year to drop my baseline levels, so, of course, not instant and not within "a couple" CGMs, but "a couple" was enough for me to understand the trends.</p>
]]></description><pubDate>Sat, 11 Jul 2026 23:30:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=48876835</link><dc:creator>ventana</dc:creator><comments>https://news.ycombinator.com/item?id=48876835</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48876835</guid></item><item><title><![CDATA[New comment by ventana in "Weightlifting beats running for blood sugar control, researchers find"]]></title><description><![CDATA[
<p>I used Libre 3; you can get different ones without a prescription online. You can easily get a prescription (in the US) if you get diagnosed with Type 2 based on your A1C numbers, but ordering a CGM online without any prescription is not a problem at all. Wearing it for 2-4 weeks is usually enough to learn a lot about your relationship with sugar.</p>
]]></description><pubDate>Sat, 11 Jul 2026 23:28:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=48876820</link><dc:creator>ventana</dc:creator><comments>https://news.ycombinator.com/item?id=48876820</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48876820</guid></item><item><title><![CDATA[New comment by ventana in "Weightlifting beats running for blood sugar control, researchers find"]]></title><description><![CDATA[
<p>Luckily, we live in the reality where every human who is interested in how their own body, and not the one of some random mouse, deals with blood sugar, can order a relatively inexpensive (for the benefits it provides) device — a continuous glucose monitor — and gather all the data they need to see what helps controlling the sugar level, and what does not. Using a CGM was a truly life changing experience for me, and I recommend trying it for everyone interested.</p>
]]></description><pubDate>Sat, 11 Jul 2026 23:21:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=48876779</link><dc:creator>ventana</dc:creator><comments>https://news.ycombinator.com/item?id=48876779</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48876779</guid></item><item><title><![CDATA[New comment by ventana in "Stop Telling Me to Ask an LLM"]]></title><description><![CDATA[
<p>One of the ways not to get LMGTFY / Ask Claude as a response is to provide more information and proof of work when asking a question.<p>Compare:<p>— What's the best way of doing X?<p>— Ask Claude.<p>vs:<p>— I thought about this and found there are options A, B, and C of doing X, I like A more but C is the fastest; what do you think?<p>I believe a normal senior engineer won't suggest to talk to Claude in this case.</p>
]]></description><pubDate>Sat, 11 Jul 2026 22:37:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=48876492</link><dc:creator>ventana</dc:creator><comments>https://news.ycombinator.com/item?id=48876492</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48876492</guid></item><item><title><![CDATA[New comment by ventana in "Good Tools Are Invisible"]]></title><description><![CDATA[
<p>My mom <i>struggled</i> to understand the concept of copying and pasting when she got her first computer at home, with Windows. It was more than 20 years ago, but I think the idea that you need to copy in one place, then go to some other place and paste there, still sometimes confuses her in the context of files, even though she does not have any issues with that when copy-pasting texts.</p>
]]></description><pubDate>Sat, 11 Jul 2026 13:54:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=48872092</link><dc:creator>ventana</dc:creator><comments>https://news.ycombinator.com/item?id=48872092</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48872092</guid></item><item><title><![CDATA[New comment by ventana in "Electric car drivers dodge Russia's hours-long fuel queues"]]></title><description><![CDATA[
<p>> Limited  charging infrastructure and severe weather remain a significant challenge for  EV drivers  in Russia, but Yasinskaya said the amount of money she is saving means her family may swap their other car for a hybrid, since they  can charge  it easily at their home outside the  city.<p>> "Yay for electric cars for everyone," she said, driving past another line of waiting motorists. "Those unfortunate,  sad, unlucky people are just sitting there."<p>The majority of people in Russian cities live in apartments with no EV charging infrastructure. This person is lucky enough that she lives in her own home outside the city where she likely has a garage and can charge her car, but it's surely not a solution for everyone, at least not for the near future.</p>
]]></description><pubDate>Fri, 10 Jul 2026 18:35:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=48863546</link><dc:creator>ventana</dc:creator><comments>https://news.ycombinator.com/item?id=48863546</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48863546</guid></item><item><title><![CDATA[New comment by ventana in "Good Tools Are Invisible"]]></title><description><![CDATA[
<p>I agree that both approaches are equally fast, and I myself did use VS Code at work a lot before the agents became widespread, so I can imagine myself doing either options. The terminal version is still less keystrokes because of the tab completion or reverse-i-search, but that's nitpicking.<p>> people's workflows are really personal so I'd never tell someone to switch their's<p>I regularly, especially when working with younger colleagues at work, find myself struggling to <i>look</i> at how slow they are in the terminal, like when they hit the up arrow 20 times to find the specific command in the history. If I have a close enough relationship with a person to make sure my advice won't be considered rude, I'd probably say “Ctrl+R and then type”, or even “let me show you how I would do it faster”, but doing this too often is borderline rude, so sometimes I just watch and feel bad for them.</p>
]]></description><pubDate>Fri, 10 Jul 2026 18:26:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=48863466</link><dc:creator>ventana</dc:creator><comments>https://news.ycombinator.com/item?id=48863466</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48863466</guid></item><item><title><![CDATA[New comment by ventana in "Show HN: A wc rewrite in Rust that makes it over 100 times faster"]]></title><description><![CDATA[
<p>At the first glance, the 100x difference is surprising. My first thought was that the Rust code [1] uses AVX instructions, which would've explained the difference if the regular wc was a naive C code counting characters in a loop; but from what I see, at least the regular coreutils wc [2] uses AVX too, so the reasons of the 100x difference are not immediately obvious to me. Have you got any good explanation why? I don't believe it's Rust vs C, it might be some optimization that does not exist in the coreutils C code?<p>[1]: <a href="https://github.com/CallMeAlphabet/fastwc/blob/main/src/main.rs" rel="nofollow">https://github.com/CallMeAlphabet/fastwc/blob/main/src/main....</a><p>[2]: <a href="https://github.com/coreutils/coreutils/blob/master/src/wc.c" rel="nofollow">https://github.com/coreutils/coreutils/blob/master/src/wc.c</a></p>
]]></description><pubDate>Fri, 10 Jul 2026 16:23:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=48862069</link><dc:creator>ventana</dc:creator><comments>https://news.ycombinator.com/item?id=48862069</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48862069</guid></item><item><title><![CDATA[New comment by ventana in "Good Tools Are Invisible"]]></title><description><![CDATA[
<p>Agreed about the difference between CLI and TUI; at the same time, I do indeed prefer TUI over the “normal” (window) GUI apps for the exact reason why I would prefer vim (or emacs for the other half) over a GUI editor: when you are already in the terminal, launching a TUI app is just faster than switching to a GUI window. So it's still about "terminal or not" for me, or even, what is your default starting point: is it a desktop with icons or menus, or a command line with a prompt? For me it's a terminal, so I prefer TUI apps.<p>...but not Midnight Commander: it's an outlier in your list, a tool that actively prevents you from learning the way how things work in terminal. Same for all attempts to invent a UI for git.</p>
]]></description><pubDate>Fri, 10 Jul 2026 15:18:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=48861140</link><dc:creator>ventana</dc:creator><comments>https://news.ycombinator.com/item?id=48861140</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48861140</guid></item></channel></rss>