<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: otikik</title><link>https://news.ycombinator.com/user?id=otikik</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Mon, 19 Oct 2026 13:27:45 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=otikik" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by otikik in "Teal – A statically-typed dialect of Lua"]]></title><description><![CDATA[
<p>That is absolutely not the case.<p>Numerical loops in Lua are inclusive:<p><pre><code>    for i=1,#t do t[i]=0 end
</code></pre>
On the example above the i starts at 1 and goes up to (and including) the length of t.<p>With 0-based indexes, and that numerical loop format, it would be minus-one everywhere:<p><pre><code>    for i=1,#t-1 do ...</code></pre></p>
]]></description><pubDate>Sun, 18 Oct 2026 17:21:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=50143159</link><dc:creator>otikik</dc:creator><comments>https://news.ycombinator.com/item?id=50143159</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50143159</guid></item><item><title><![CDATA[New comment by otikik in "Show HN: Ito – Build Terminal UIs in Lua"]]></title><description><![CDATA[
<p>I had a similar impression. It feels "not idiomatic". I disagree on the diagostic though - I think parenthesis-free calls are not what define what <i>idiomatic lua</i> is.<p>To me it is more about expressiveness and usage of basic language features. For example here's how a text field is set up currently.<p><pre><code>           ito.TextField(draft)
                :label("Name")
                :focused()
                :on_submit(function(value)
                    if value:match("%S") then
                        phase.value = "review"
                    end
                end)
                :on_cancel(function()
                    phase.value = "choose"
                end),

</code></pre>
The field is created on the first line, and then altered further with subsequent method calls that alter it. This reads like someone very used to Rust (and its Builder pattern) and then translating it verbatim to Lua. A more native Lua interface for me would look like this:<p><pre><code>           ito.TextField(draft, {
                label = "Name",
                focused = true,
                on_submit = function(value)
                    if value:match("%S") then
                        phase.value = "review"
                    end
                end,
                on_cancel = function()
                    phase.value = "choose"
                end),
           })
</code></pre>
As in: just pass a table to the builder. And if they ned to modify it later, they can just do:<p><pre><code>           some_textfield.on_cancel = <some other function>
</code></pre>
No need to "guard" the internal table with those extra methods.</p>
]]></description><pubDate>Thu, 15 Oct 2026 09:11:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=50101138</link><dc:creator>otikik</dc:creator><comments>https://news.ycombinator.com/item?id=50101138</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50101138</guid></item><item><title><![CDATA[New comment by otikik in "The United Kingdom generates less electricity per person than in the 1970s"]]></title><description><![CDATA[
<p>Well, cancer operates like that, too.<p>I would like us to find a way to live without killing our host.</p>
]]></description><pubDate>Thu, 15 Oct 2026 09:00:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=50101074</link><dc:creator>otikik</dc:creator><comments>https://news.ycombinator.com/item?id=50101074</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50101074</guid></item><item><title><![CDATA[New comment by otikik in "An Apology"]]></title><description><![CDATA[
<p>> leverage their ubiquity<p>We live in different worlds</p>
]]></description><pubDate>Thu, 15 Oct 2026 06:41:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=50100075</link><dc:creator>otikik</dc:creator><comments>https://news.ycombinator.com/item?id=50100075</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50100075</guid></item><item><title><![CDATA[New comment by otikik in "AI is mass decompiling games. That's both awesome and scary"]]></title><description><![CDATA[
<p>> Someone made a fantastic joke website about how you can copy code with AI and claim it's made in a clean room, so technically you're not under any licensing agreements.<p>It is not a joke! The naming is so bad so it <i>sounds</i> like a joke. So people like the author assume it is a joke and move on without suing them. They are counting on that.</p>
]]></description><pubDate>Wed, 14 Oct 2026 16:23:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=50090224</link><dc:creator>otikik</dc:creator><comments>https://news.ycombinator.com/item?id=50090224</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50090224</guid></item><item><title><![CDATA[New comment by otikik in "How tabasco became the hot sauce"]]></title><description><![CDATA[
<p>"The world" xD</p>
]]></description><pubDate>Wed, 14 Oct 2026 16:20:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=50090153</link><dc:creator>otikik</dc:creator><comments>https://news.ycombinator.com/item?id=50090153</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50090153</guid></item><item><title><![CDATA[New comment by otikik in "Ledger confirms spy chip implant behind wallet crypto thefts"]]></title><description><![CDATA[
<p>Fair. I didn't include the word <i>primarily</i> in my sentence. Please assume it is included now.</p>
]]></description><pubDate>Wed, 14 Oct 2026 13:52:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=50087818</link><dc:creator>otikik</dc:creator><comments>https://news.ycombinator.com/item?id=50087818</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50087818</guid></item><item><title><![CDATA[New comment by otikik in "Ledger confirms spy chip implant behind wallet crypto thefts"]]></title><description><![CDATA[
<p>> You're not anywhere near paranoid enough<p>I refuse to touch anything crypto with a ten-foot pole. I don't know if that makes me "paranoid", but it is certainly very easy. Just stay away from the thing doing drug markets, scams and rugpulls every month.</p>
]]></description><pubDate>Wed, 14 Oct 2026 08:28:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=50084246</link><dc:creator>otikik</dc:creator><comments>https://news.ycombinator.com/item?id=50084246</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50084246</guid></item><item><title><![CDATA[New comment by otikik in "The United Kingdom generates less electricity per person than in the 1970s"]]></title><description><![CDATA[
<p>Doesn't the "growth" mindset also feels a bit alien to you?<p>Everything must grow all the time because all we care about is compounding interest, and that can only exist with continuous growth.<p>Finite resources and time be dammed.</p>
]]></description><pubDate>Wed, 14 Oct 2026 08:22:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=50084193</link><dc:creator>otikik</dc:creator><comments>https://news.ycombinator.com/item?id=50084193</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50084193</guid></item><item><title><![CDATA[New comment by otikik in "The United Kingdom generates less electricity per person than in the 1970s"]]></title><description><![CDATA[
<p>Less coal lying around?</p>
]]></description><pubDate>Wed, 14 Oct 2026 08:18:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=50084148</link><dc:creator>otikik</dc:creator><comments>https://news.ycombinator.com/item?id=50084148</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50084148</guid></item><item><title><![CDATA[New comment by otikik in "Tell HN: I've been paying for a rural Tanzanian's education for 10 years"]]></title><description><![CDATA[
<p>I hope when I am in need and someone thinks about helping me they don't find someone like you, man.</p>
]]></description><pubDate>Thu, 08 Oct 2026 15:22:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=50006919</link><dc:creator>otikik</dc:creator><comments>https://news.ycombinator.com/item?id=50006919</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50006919</guid></item><item><title><![CDATA[New comment by otikik in "Why were Victorian elites so effective?"]]></title><description><![CDATA[
<p>Because they exploited the rest.</p>
]]></description><pubDate>Thu, 08 Oct 2026 13:25:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=50005567</link><dc:creator>otikik</dc:creator><comments>https://news.ycombinator.com/item?id=50005567</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50005567</guid></item><item><title><![CDATA[New comment by otikik in "What is Codemode"]]></title><description><![CDATA[
<p>Yes and no.<p>Yes part: LLMs have had the capability to generate code, including glue code, to do several steps in a single program.<p>No part: until some months ago, MCP servers were not prepared to use that glue code at all.<p>Your LLM could generate the code it wanted, and you could execute that code wherever you wanted, including letting the LLM run it. <i>but</i> every call to any of the tools exposed by the LLM is meant to be consumed by your LLM in the old paradigm. If said program makes 80 tool calls, your LLm would still have to send them, and parse their responses, consuming tokens.<p>In code mode the glue code is sent to the server, which executes it, and returns the final result. It’s a single invocation and a single response, instead of 80 like before</p>
]]></description><pubDate>Thu, 08 Oct 2026 13:07:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=50005377</link><dc:creator>otikik</dc:creator><comments>https://news.ycombinator.com/item?id=50005377</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50005377</guid></item><item><title><![CDATA[New comment by otikik in "In Vienna and Beijing, the first (thorium) nuclear clocks begin to tick"]]></title><description><![CDATA[
<p>"We are star stuff", Carl Sagan [1]<p>[1] <a href="https://www.youtube.com/watch?v=LNqqFhFa4dI" rel="nofollow">https://www.youtube.com/watch?v=LNqqFhFa4dI</a></p>
]]></description><pubDate>Thu, 08 Oct 2026 10:42:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=50004178</link><dc:creator>otikik</dc:creator><comments>https://news.ycombinator.com/item?id=50004178</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=50004178</guid></item><item><title><![CDATA[New comment by otikik in "Southern Olive Oil"]]></title><description><![CDATA[
<p>I'm Spanish, born in Jaén (the most Olive Oil producing province in Spain).<p>There's multiple kinds of olives, each producing different kinds of oil. The processing used also affects the end result (extra virgin olive oil comes from the first press, less quality oils from successive processing).<p>* Picual is the most popular one. It has a strong taste, that "bite" that you mention, and a long shelf life. This means that it is the most exported one. That is probably why you (and others) have associated olive oil with that strong profile. It is however not the only kind out there!<p>* Cornicabra is the second most popular one. It is milder than Picual in taste, but still strong and durable. You might find it in some specialist shops.<p>* Arbequina has less of that "bite" that you mention at the end. Unfortunately it has a shorter shelf life as well, which means that it also tends to be exported less.<p>Because of this is unlikely that you will find it outside of Spain. At the same time it would be the best kind for making mayonnaise, especially if you don't like the bite at the back of the throat (that some people actually enjoy).<p>And these are just the 3 more popular varieties. There's many more local, smaller ones.</p>
]]></description><pubDate>Wed, 07 Oct 2026 15:48:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=49994509</link><dc:creator>otikik</dc:creator><comments>https://news.ycombinator.com/item?id=49994509</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49994509</guid></item><item><title><![CDATA[New comment by otikik in "A font recreated from photographs of classic Commodore 64 keycaps"]]></title><description><![CDATA[
<p>"!" is like half of the size of "?". Even if that's faithful to the keyboard, it is very annoying.</p>
]]></description><pubDate>Wed, 07 Oct 2026 13:47:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=49992836</link><dc:creator>otikik</dc:creator><comments>https://news.ycombinator.com/item?id=49992836</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49992836</guid></item><item><title><![CDATA[New comment by otikik in "It may soon be possible to create "mirror life""]]></title><description><![CDATA[
<p>"Your scientists were so preoccupied with whether or not they could, they didn’t stop to think if they should"</p>
]]></description><pubDate>Wed, 07 Oct 2026 13:34:06 +0000</pubDate><link>https://news.ycombinator.com/item?id=49992652</link><dc:creator>otikik</dc:creator><comments>https://news.ycombinator.com/item?id=49992652</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49992652</guid></item><item><title><![CDATA[New comment by otikik in "What is Codemode"]]></title><description><![CDATA[
<p>Still too many words in my opinion. It's really just 2 things.<p>1. Search: The server publishes its tools via a query interface and with gradual level of detail. This way an LLM can discover the tools it needs without loading the ones it doesn't into context. Saves context.<p>2. The LLM sends glue code when it needs to use multiple tools together. Said code gets executed by the MCP server itself, and it returns the result. Saves tool calls, which saves tokens.<p>On point 2: Imagine there's 2 tools in the server. One lists customers the other gives sales for a given customer. For a task like "add all the sales for the customers whose name begin with A".<p>With traditional MCP: the LLM has to use the MCP like a regular HTTP API: first get the customers (1 tool call). Then for every customer begining with A, get their sales (N tool cals). Then add all of the sales (potentially 1 tool call).<p>With code mode the LLM sends a single program. The program has code that does things like `customers = call_tool("get_customers"); for each c in customers do if customer.name.begins_with("A") then ...` etc etc. That code is sent to the server for execution. So for the LLM it counts as a single tool call.<p>On the downside, the "code execution" on the Server means that it is executing untrusted code coming directly from LLMs. In order to offer this confidently your MCP servers really needs a very tight sandbox in which to execute this "glue code".</p>
]]></description><pubDate>Wed, 07 Oct 2026 12:56:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=49992116</link><dc:creator>otikik</dc:creator><comments>https://news.ycombinator.com/item?id=49992116</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49992116</guid></item><item><title><![CDATA[New comment by otikik in "Vibecoding isn't as fun as writing code by hand"]]></title><description><![CDATA[
<p>That is just your opinion, not a general rule.
In my opinion.</p>
]]></description><pubDate>Tue, 06 Oct 2026 15:58:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=49980397</link><dc:creator>otikik</dc:creator><comments>https://news.ycombinator.com/item?id=49980397</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49980397</guid></item><item><title><![CDATA[New comment by otikik in "Meta's Muse Is an Adorable Privacy and Security Dumpster Fire"]]></title><description><![CDATA[
<p>Well they will start caring when their teen with image issues starts getting targetted beauty ads[1], or when they get pregnant, want to abort, and get directed to an anti-abortion center instead[2], and afterwards they get served "abortion reversal pills" ads[3].<p>Or when they are hit by any other privacy fuckup like that.<p>[1] <a href="https://futurism.com/facebook-beauty-targeted-ads" rel="nofollow">https://futurism.com/facebook-beauty-targeted-ads</a>
[2] <a href="https://www.bbc.com/news/health-61320202" rel="nofollow">https://www.bbc.com/news/health-61320202</a>
[3] <a href="https://tech.yahoo.com/general/articles/facebook-made-money-dangerous-abortion-155542572.html" rel="nofollow">https://tech.yahoo.com/general/articles/facebook-made-money-...</a></p>
]]></description><pubDate>Tue, 06 Oct 2026 15:34:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=49980061</link><dc:creator>otikik</dc:creator><comments>https://news.ycombinator.com/item?id=49980061</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49980061</guid></item></channel></rss>