<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: nivertech</title><link>https://news.ycombinator.com/user?id=nivertech</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sun, 11 Oct 2026 09:09:42 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=nivertech" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by nivertech in "English: A vs. An"]]></title><description><![CDATA[
<p>yes, that was another one I had in mind.<p><pre><code>  /ən ˌɛs.kjuːˈɛl ˈkwɪri/
  vs
  /ə ˈsiːkwəl ˈkwɪri/</code></pre></p>
]]></description><pubDate>Wed, 23 Sep 2026 09:43:03 +0000</pubDate><link>https://news.ycombinator.com/item?id=49813632</link><dc:creator>nivertech</dc:creator><comments>https://news.ycombinator.com/item?id=49813632</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49813632</guid></item><item><title><![CDATA[New comment by nivertech in "English: A vs. An"]]></title><description><![CDATA[
<p><p><pre><code>  “a San Francisco startup” /ə ˌsæn frənˈsɪskoʊ ˈstɑɹtˌʌp/
  vs
  “an SF startup” /ən ˌɛsˈɛf ˈstɑɹtˌʌp/
</code></pre>
i.e. you have to mentally pronounce the phrase before choosing which form of the indefinite article to write</p>
]]></description><pubDate>Sun, 20 Sep 2026 06:42:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=49773102</link><dc:creator>nivertech</dc:creator><comments>https://news.ycombinator.com/item?id=49773102</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49773102</guid></item><item><title><![CDATA[New comment by nivertech in "Learn Programming with OCaml"]]></title><description><![CDATA[
<p>> <i>Q. How do you port an OS from one language to a new one,  pre-LLM?</i><p>A. you reduce impedance mismatch, but making the new language using similar concepts and mechanisms<p>--<p>You're right, this table is just a coincidence, probably derived from the standard math notation, and used in many PLs like FORTRAN and Python ;)<p><pre><code>  PDP-11        C
  
  INC R         ++i
  DEC R         --i
  ADD src, dst  dst += src
  SUB src, dst  dst -= src

  (R)+          *p++
  -(R)          *--p
  X(R)          p[x]
  @(R)+         **pp++
  @X(R)         *p[x]

  BR label      goto label  ; near jump
  JMP label     goto label  ; far jump</code></pre></p>
]]></description><pubDate>Sun, 06 Sep 2026 13:14:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=49586261</link><dc:creator>nivertech</dc:creator><comments>https://news.ycombinator.com/item?id=49586261</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49586261</guid></item><item><title><![CDATA[New comment by nivertech in "Learn Programming with OCaml"]]></title><description><![CDATA[
<p>It's clear that the authors were either inspired by the PDP-11 ISA and/or designed the language to make porting UNIX from PDP-11 Assm to it easier.<p>UNIX for PDP-7 in Assm -> UNIX for PDP-11 in Assm -> UNIX for PDP-11 in C<p><a href="https://news.ycombinator.com/item?id=42644851">https://news.ycombinator.com/item?id=42644851</a><p>and<p><a href="https://news.ycombinator.com/item?id=43245166">https://news.ycombinator.com/item?id=43245166</a></p>
]]></description><pubDate>Sun, 06 Sep 2026 10:07:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=49584969</link><dc:creator>nivertech</dc:creator><comments>https://news.ycombinator.com/item?id=49584969</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49584969</guid></item><item><title><![CDATA[New comment by nivertech in "The Silo · interactive 3D cutaway"]]></title><description><![CDATA[
<p>Now we know who built the Silo</p>
]]></description><pubDate>Thu, 03 Sep 2026 10:27:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=49548234</link><dc:creator>nivertech</dc:creator><comments>https://news.ycombinator.com/item?id=49548234</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49548234</guid></item><item><title><![CDATA[New comment by nivertech in "I added a real-time chat to my blog, people used it to attack me"]]></title><description><![CDATA[
<p><i>> 50 is the hardware limit</i><p>this can't be true, If that hardware can run Django and Phoenix, it for sure can handle orders of magnitudes more concurrent clients than 50 even before you start tuning the OS and the runtime.<p><i>> Playwright headless Chromium</i><p>maybe you mean you're unable to generate more than 50 concurrent clients using Playwright+Chromium - but that's the wrong tool for loadtesting.<p>Loadtest should run from a different machine or cluster of machines/VMs. You can generate up to ~ 64K outgoing connections per IP address / alias. With 17 IP addresses/aliases you can generate up to C1M.</p>
]]></description><pubDate>Thu, 06 Aug 2026 23:31:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=49204069</link><dc:creator>nivertech</dc:creator><comments>https://news.ycombinator.com/item?id=49204069</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49204069</guid></item><item><title><![CDATA[New comment by nivertech in "I added a real-time chat to my blog, people used it to attack me"]]></title><description><![CDATA[
<p>Your "Concurrency" benchmark ends at 50 concurrent clients. Continue testing at C1K, C10K, C100K, C1M, C2M, etc.<p>That's for a single node.<p>Then try multiple nodes / cluster - C1M, C2M, C10M, etc.<p>Also, all concurrent clients should send periodic pings / keepalives <i>and</i> do something useful (e.g. some CPU work, not just being idle).<p>Then you'll have to change your conclusion from:<p>> <i>The data answers my original question: yes, Django LiveView holds up against Phoenix LiveView. In day-to-day operations they are practically equal.</i><p>to<p>> <i>The data answers my original question: yes, under *toy* load Django LiveView holds up against Phoenix LiveView. For *toy* operations they are practically equal.</i></p>
]]></description><pubDate>Thu, 06 Aug 2026 23:16:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=49203936</link><dc:creator>nivertech</dc:creator><comments>https://news.ycombinator.com/item?id=49203936</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49203936</guid></item><item><title><![CDATA[New comment by nivertech in "I added a real-time chat to my blog, people used it to attack me"]]></title><description><![CDATA[
<p>It pretends to be serious with 5 tables / charts:<p>Django LiveView vs Phoenix LiveView: a real benchmark<p><a href="https://en.andros.dev/blog/80134668/django-liveview-vs-phoenix-liveview-a-real-benchmark/" rel="nofollow">https://en.andros.dev/blog/80134668/django-liveview-vs-phoen...</a></p>
]]></description><pubDate>Thu, 06 Aug 2026 14:31:54 +0000</pubDate><link>https://news.ycombinator.com/item?id=49197215</link><dc:creator>nivertech</dc:creator><comments>https://news.ycombinator.com/item?id=49197215</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49197215</guid></item><item><title><![CDATA[New comment by nivertech in "I added a real-time chat to my blog, people used it to attack me"]]></title><description><![CDATA[
<p>TL;DR: this is a toy example, so it doesn't require BEAM VM<p>Hard to take this seriously without the loadtest with the the large number of concurrent users.<p>For a number of users concurrently reading a long-tail blog post - you will get good results even using DotCom era HTTP polling.<p>---<p>See:<p>Django LiveView vs Phoenix LiveView: a real benchmark<p><a href="https://en.andros.dev/blog/80134668/django-liveview-vs-phoenix-liveview-a-real-benchmark/" rel="nofollow">https://en.andros.dev/blog/80134668/django-liveview-vs-phoen...</a></p>
]]></description><pubDate>Thu, 06 Aug 2026 14:15:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=49196993</link><dc:creator>nivertech</dc:creator><comments>https://news.ycombinator.com/item?id=49196993</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49196993</guid></item><item><title><![CDATA[New comment by nivertech in "The First Idempotency Key"]]></title><description><![CDATA[
<p>It doesn't matter CRUD, REST, 2PC, or middleware in general. From my PoV they're all technical solutions used to avoid deep modeling of the domain and its workflows, and instead trying to model the real world using generic primitives without understanding it first, or maybe with surface-level understanding only<p>The dichotomy is generic vs custom/bespoke:<p>- generic (CRUD / REST / RDBMS+SQL+ACID Tx / Tx Scripts / 2PC / BPMN / Admin UIs) - also SmartUIs/Fat Clients (VB, Delphi, SPAs, etc.)<p>vs<p>- custom (DDD / CQRS/ES / Sagas / Process Managers / Durable Executions / TBUI)<p>Also, learning data engineering and BI helps one better model the real world than generic methods. It's somewhat similar to CQRS/ES, but with much more prior art</p>
]]></description><pubDate>Sun, 02 Aug 2026 17:58:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=49146727</link><dc:creator>nivertech</dc:creator><comments>https://news.ycombinator.com/item?id=49146727</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49146727</guid></item><item><title><![CDATA[New comment by nivertech in "The First Idempotency Key"]]></title><description><![CDATA[
<p>Natural idempotence requires deep understanding of the domain, which developers (and coding agents) do not always have. Also, it's still a limited solution, which doesn't solve the generic case. So it's each much easier to use technical idempotency solutions like:<p>- stamp every initial request / domain event with the UUID (idempotency key)<p>- use client-side IDs instead of using server-generated ones with RETURNING<p>- use PUT instead of POST<p>- use UPSERTs<p>- etc.<p>IMO, you migh as well use CQRS/ES which is a natural evolution of this idea of modeling the physical reality rather than trying to reduce it to CRUD/L<p>Here, we can draw an analogy between natural hedging and financial hedging (derivatives). Natural hedging requires planning, preparation, and hard work, and even that doesn't cover every scenario, but it's cheap. With derivatives, you pay someone else to take care of it. The other party may not even understand the underlying asset, but they have quant models (a technical solution)<p>RE: the question about the first mentions of idempotency keys, IMO cryptographic nonces (numbers used only once) are somewhat related. Idempotency keys are used to facilitate message replay, while nonces are used to prevent replay. But the basic idea is similar</p>
]]></description><pubDate>Sat, 01 Aug 2026 20:54:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=49138387</link><dc:creator>nivertech</dc:creator><comments>https://news.ycombinator.com/item?id=49138387</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=49138387</guid></item><item><title><![CDATA[New comment by nivertech in "Deir El-Medina Strikes"]]></title><description><![CDATA[
<p>To protect their homes from floods and fires, the ancient Egyptians made sacrifices and offerings to deities like Hapi (god of the Nile)[1] and Bastet[2]<p>But this naive actuarial model with a 100% deductible is obviously far less sophisticated than modern insurance ;)<p>—-<p>1. <a href="https://en.wikipedia.org/wiki/Hapi_(Nile_god)" rel="nofollow">https://en.wikipedia.org/wiki/Hapi_(Nile_god)</a><p>2. <a href="https://en.wikipedia.org/wiki/Bastet" rel="nofollow">https://en.wikipedia.org/wiki/Bastet</a></p>
]]></description><pubDate>Mon, 13 Jul 2026 06:21:33 +0000</pubDate><link>https://news.ycombinator.com/item?id=48888600</link><dc:creator>nivertech</dc:creator><comments>https://news.ycombinator.com/item?id=48888600</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48888600</guid></item><item><title><![CDATA[New comment by nivertech in "Deir El-Medina Strikes"]]></title><description><![CDATA[
<p>In ancient Egypt, there were various trade unions, usually organized by profession<p>One of the most interesting was the thieves' union<p>Suppose someone stole yr carpet at night, and in the morning you'd go to the office of the head of the thieves' union, pay 25% of the carpet's value, and get it back. Much better than modern insurance!</p>
]]></description><pubDate>Sun, 12 Jul 2026 20:17:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=48884336</link><dc:creator>nivertech</dc:creator><comments>https://news.ycombinator.com/item?id=48884336</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48884336</guid></item><item><title><![CDATA[New comment by nivertech in "Rapira (Рапира) – Soviet programming language interpreter"]]></title><description><![CDATA[
<p>The Soviet computer industry had only two secrets:<p>1. how far behind the West it was, and<p>2. that there were no other secrets</p>
]]></description><pubDate>Fri, 29 May 2026 14:10:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=48323328</link><dc:creator>nivertech</dc:creator><comments>https://news.ycombinator.com/item?id=48323328</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48323328</guid></item><item><title><![CDATA[New comment by nivertech in "Rapira (Рапира) – Soviet programming language interpreter"]]></title><description><![CDATA[
<p>This Soviet project developed two Russian-language PLs: Robic[1] and Rapira[2]. Robic was similar to Logo, but unlike Logo, which had only one actor - a turtle, Robik had several: a Train, an Ant, a Painter, and so on<p>Rapira was more like SETL + Python. It was a dynamic interpreted PL with a rich set of compound data types, such as sets, records (associative arrays), and so on. Compared to the contemporary BASIC, it was ADVANCED<p>Like Logo, Robik was used to teach programming to kindergarthen-age children, while Rapira was aimed at high school students<p>---<p>1. <a href="https://en.wikipedia.org/wiki/Robic" rel="nofollow">https://en.wikipedia.org/wiki/Robic</a> / <a href="https://ru.wikipedia.org/wiki/%D0%A0%D0%BE%D0%B1%D0%B8%D0%BA" rel="nofollow">https://ru.wikipedia.org/wiki/%D0%A0%D0%BE%D0%B1%D0%B8%D0%BA</a><p>2. <a href="https://en.wikipedia.org/wiki/Rapira" rel="nofollow">https://en.wikipedia.org/wiki/Rapira</a> / <a href="https://ru.wikipedia.org/wiki/%D0%A0%D0%B0%D0%BF%D0%B8%D1%80%D0%B0_(%D1%8F%D0%B7%D1%8B%D0%BA_%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F)" rel="nofollow">https://ru.wikipedia.org/wiki/%D0%A0%D0%B0%D0%BF%D0%B8%D1%80...</a></p>
]]></description><pubDate>Thu, 28 May 2026 13:05:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=48308419</link><dc:creator>nivertech</dc:creator><comments>https://news.ycombinator.com/item?id=48308419</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48308419</guid></item><item><title><![CDATA[New comment by nivertech in "Spain blocks prediction markets Polymarket, Kalshi over lack of gambling licence"]]></title><description><![CDATA[
<p>Even if you have an insurable interest, moral hazard may arise - acting recklessly or other abuse, while knowing you are insured/covered. Somewhat similar to friendly fraud in retail/ecommerce.</p>
]]></description><pubDate>Tue, 26 May 2026 19:32:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=48284813</link><dc:creator>nivertech</dc:creator><comments>https://news.ycombinator.com/item?id=48284813</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48284813</guid></item><item><title><![CDATA[New comment by nivertech in "Ask HN: Does Claude use 'prior' in a Bayesian sense more than English?"]]></title><description><![CDATA[
<p>AI talk is turning into Silicon Valley pseudo-math slang. Priors, exponentials, latent space<p>You get lines like “no priors” or “embracing exponentials” that sound smart but mostly signal status<p>Same move as N Taleb and “convexity.” A real idea turned into a generic intellectual flex</p>
]]></description><pubDate>Fri, 01 May 2026 14:40:51 +0000</pubDate><link>https://news.ycombinator.com/item?id=47975335</link><dc:creator>nivertech</dc:creator><comments>https://news.ycombinator.com/item?id=47975335</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47975335</guid></item><item><title><![CDATA[New comment by nivertech in "Slow Down to Speed Up"]]></title><description><![CDATA[
<p>> <i>slow is smooth, smooth is fast</i></p>
]]></description><pubDate>Wed, 29 Apr 2026 18:02:58 +0000</pubDate><link>https://news.ycombinator.com/item?id=47952036</link><dc:creator>nivertech</dc:creator><comments>https://news.ycombinator.com/item?id=47952036</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47952036</guid></item><item><title><![CDATA[New comment by nivertech in "I Stumbled Upon Paul Graham's Essays – and Can't Stop Reading"]]></title><description><![CDATA[
<p><a href="https://paulgraham.com/articles.html" rel="nofollow">https://paulgraham.com/articles.html</a></p>
]]></description><pubDate>Fri, 24 Apr 2026 01:47:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=47884551</link><dc:creator>nivertech</dc:creator><comments>https://news.ycombinator.com/item?id=47884551</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47884551</guid></item><item><title><![CDATA[New comment by nivertech in "4-bit floating point FP4"]]></title><description><![CDATA[
<p>It's better to first show truth tables, then K-maps, and only then logical formulas.<p>But the main question is: does this FP2 have any real applications? Maybe it could be useful when only one operand is FP2? Especially for vectorized math.</p>
]]></description><pubDate>Wed, 22 Apr 2026 21:55:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=47869792</link><dc:creator>nivertech</dc:creator><comments>https://news.ycombinator.com/item?id=47869792</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47869792</guid></item></channel></rss>