<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: vsrinivas</title><link>https://news.ycombinator.com/user?id=vsrinivas</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Mon, 13 Apr 2026 20:56:25 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=vsrinivas" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by vsrinivas in "I ran Gemma 4 as a local model in Codex CLI"]]></title><description><![CDATA[
<p>Hey - I use the same, w/ both gemma4 and gpt-oss-*; some things I have to do for a good experience:<p>1) Pin to an earlier version of codex (sorry) - 0.55 is the best experience IME, but YMMV (see <a href="https://github.com/openai/codex/issues/11940" rel="nofollow">https://github.com/openai/codex/issues/11940</a>, <a href="https://github.com/openai/codex/issues/8272" rel="nofollow">https://github.com/openai/codex/issues/8272</a>).<p>2) Use the older completions endpoint (llama.cpp's responses support is incomplete - <a href="https://github.com/ggml-org/llama.cpp/issues/19138" rel="nofollow">https://github.com/ggml-org/llama.cpp/issues/19138</a>)</p>
]]></description><pubDate>Mon, 13 Apr 2026 02:42:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=47746964</link><dc:creator>vsrinivas</dc:creator><comments>https://news.ycombinator.com/item?id=47746964</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47746964</guid></item><item><title><![CDATA[New comment by vsrinivas in "Remembering Bell Labs as legendary idea factory prepares to leave N.J. home"]]></title><description><![CDATA[
<p>FYI, Lumon HQ / the Eeron Saarinen masterpiece is Holmdel Bell Labs; this article is about the Murray Hill building.</p>
]]></description><pubDate>Mon, 22 Jan 2024 02:26:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=39085378</link><dc:creator>vsrinivas</dc:creator><comments>https://news.ycombinator.com/item?id=39085378</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=39085378</guid></item><item><title><![CDATA[New comment by vsrinivas in "Chevy Bolt EV and Bolt EUV production is ending this year"]]></title><description><![CDATA[
<p>Don't forget BECM on Gen2</p>
]]></description><pubDate>Wed, 26 Apr 2023 16:03:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=35715927</link><dc:creator>vsrinivas</dc:creator><comments>https://news.ycombinator.com/item?id=35715927</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=35715927</guid></item><item><title><![CDATA[New comment by vsrinivas in "Lanai, the mystery CPU architecture in LLVM"]]></title><description><![CDATA[
<p>I'm sorry to hear Jakov passed away - he was a brilliant, kind engineer.</p>
]]></description><pubDate>Tue, 22 Mar 2022 17:30:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=30768966</link><dc:creator>vsrinivas</dc:creator><comments>https://news.ycombinator.com/item?id=30768966</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=30768966</guid></item><item><title><![CDATA[New comment by vsrinivas in "Intel Software Defined Silicon: additional CPU features after license activation"]]></title><description><![CDATA[
<p>Intel Cooper Lake - it's a 14 nm server part that fit a particular niche (4S support, VNNI/bfloat16). It was partly due to FB, but also partly to provide a platform that was larger than ICX server could / can.</p>
]]></description><pubDate>Mon, 22 Nov 2021 22:12:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=29312147</link><dc:creator>vsrinivas</dc:creator><comments>https://news.ycombinator.com/item?id=29312147</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=29312147</guid></item><item><title><![CDATA[New comment by vsrinivas in "AMD lands Google, Twitter as customers with newest server chip"]]></title><description><![CDATA[
<p>The TLB bug (Errata 298, doc 41322 if you really care - while the processor was attempting to set the A/D bits in a page table entry, an L2->L3 eviction of that PTE could occur) was one of a great many things wrong with that chip.<p>* A number of errata (not just 298) delayed full production, sapped performance, or negatively impacted idle power. Take a look at doc 41322, DR-BA step for many samples.<p>* It was late and didn't achieve performance targets; it missed clock rate targets and 2 MiB L3 was insufficient.<p>* Intel delivered a very compelling server part (Nehalem) during the lifecycle of family 10h.</p>
]]></description><pubDate>Fri, 09 Aug 2019 00:55:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=20650416</link><dc:creator>vsrinivas</dc:creator><comments>https://news.ycombinator.com/item?id=20650416</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=20650416</guid></item><item><title><![CDATA[New comment by vsrinivas in "Intel Analysis of Speculative Execution Side Channels [pdf]"]]></title><description><![CDATA[
<p>Control Flow Enforcement (ENDBRANCH requirement at branch targets) looks like a nice feature, looking forward to it.</p>
]]></description><pubDate>Fri, 05 Jan 2018 17:58:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=16080228</link><dc:creator>vsrinivas</dc:creator><comments>https://news.ycombinator.com/item?id=16080228</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=16080228</guid></item><item><title><![CDATA[New comment by vsrinivas in "Ask HN: What is your favorite CS paper?"]]></title><description><![CDATA[
<p>From the perspective of - 'take a fresh look at something we take for granted' - "A Preliminary Architecture for a Basic Data-Flow Processor" (Dennis & Misunas 1975)<p>Focusing on the flow of data between operators and greedily executing a linear program is what an out-of-order processor is.</p>
]]></description><pubDate>Thu, 24 Aug 2017 20:06:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=15093586</link><dc:creator>vsrinivas</dc:creator><comments>https://news.ycombinator.com/item?id=15093586</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=15093586</guid></item><item><title><![CDATA[New comment by vsrinivas in "Bottleneck Bandwidth and RTT"]]></title><description><![CDATA[
<p>You mean LRO instead of GRO, right?</p>
]]></description><pubDate>Sun, 18 Sep 2016 17:17:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=12526120</link><dc:creator>vsrinivas</dc:creator><comments>https://news.ycombinator.com/item?id=12526120</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=12526120</guid></item><item><title><![CDATA[New comment by vsrinivas in "Python 3 on Google App Engine flexible environment now in beta"]]></title><description><![CDATA[
<p>Just wondering, why do you think so?<p>(It wasn't obvious to me why, given a first read of the docs; the fact that applications run in VMs in Flex seems more like an implementation detail. Am I missing something?)</p>
]]></description><pubDate>Wed, 10 Aug 2016 17:38:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=12263480</link><dc:creator>vsrinivas</dc:creator><comments>https://news.ycombinator.com/item?id=12263480</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=12263480</guid></item><item><title><![CDATA[New comment by vsrinivas in "Implementing Software Timers (1990)"]]></title><description><![CDATA[
<p>Yes it is. Recommend browsing for great UNIX / TCP history.</p>
]]></description><pubDate>Wed, 06 Jul 2016 04:16:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=12041181</link><dc:creator>vsrinivas</dc:creator><comments>https://news.ycombinator.com/item?id=12041181</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=12041181</guid></item><item><title><![CDATA[New comment by vsrinivas in "Crowding out OpenBSD"]]></title><description><![CDATA[
<p>And DragonFly's dntpd! It's time sync algorithms are actually pretty cool.</p>
]]></description><pubDate>Sun, 18 Nov 2012 07:08:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=4800120</link><dc:creator>vsrinivas</dc:creator><comments>https://news.ycombinator.com/item?id=4800120</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=4800120</guid></item><item><title><![CDATA[New comment by vsrinivas in "DragonFlyBSD 3.2 Release"]]></title><description><![CDATA[
<p>That these benchmarks were done with 9.3-devel was important; part of what triggered this work was PostGres moving to a different way of mapping it's shared memory segment (mmap vs shm), the benchmarks were initially done to see how much that hurt.</p>
]]></description><pubDate>Sun, 04 Nov 2012 18:30:53 +0000</pubDate><link>https://news.ycombinator.com/item?id=4740482</link><dc:creator>vsrinivas</dc:creator><comments>https://news.ycombinator.com/item?id=4740482</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=4740482</guid></item><item><title><![CDATA[New comment by vsrinivas in "DragonFlyBSD 3.2 Release"]]></title><description><![CDATA[
<p>Still hard to say.<p>In the network stack, I think the DragonFly approach is definitely better (than fine-grained data structure locking). In DF, connections are routed to per-CPU network service threads based on a consistent hash; as a connection will always route to the same CPU, locking requirements are simpler. There are some places where the 'lower-half' network code does unfortunately take locks (when delivering data to socket buffers), but on the whole it's a good design. Solaris chose the same model, called it FireEngine; they have more writeups, if you're interested.<p>The changes in the 3.2 release that improved PostGres/pgbench performance were just good-old-fashioned lock breaking (spreading UNIX domain socket locking out), bypassing inefficient paths when possible (ex: bypass instantiating a buffercache buffer when data can be read directly from the page cache), and the new scheduler work. One other change was a neat trick, a form of page-table sharing; many of those changes would make sense on FreeBSD or similar systems.<p>The page-table sharing work addressed a problem seen years ago in Linux -- the cost of pv_entry manipulations. Linux moved from rmap to objrmap (<a href="http://lwn.net/Articles/75198/" rel="nofollow">http://lwn.net/Articles/75198/</a>); FreeBSD reduced the cost of pv_entries by reducing their size and packing them densely. DFly's page-table sharing reduced the number of pv_entries (basically de-duped them) in particular situations (correct alignment/size of matched mapping; SHM segments, like in X or PostGres benefit most).</p>
]]></description><pubDate>Sun, 04 Nov 2012 18:27:45 +0000</pubDate><link>https://news.ycombinator.com/item?id=4740474</link><dc:creator>vsrinivas</dc:creator><comments>https://news.ycombinator.com/item?id=4740474</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=4740474</guid></item><item><title><![CDATA[New comment by vsrinivas in "Rob Pike: Dennis Ritchie has died"]]></title><description><![CDATA[
<p>The first edition has opening brackets for functions on a new line. It also used a space before parenthesis for while loops and conditionals. Return types, when required, were on the same line as a function name.</p>
]]></description><pubDate>Thu, 13 Oct 2011 17:11:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=3107895</link><dc:creator>vsrinivas</dc:creator><comments>https://news.ycombinator.com/item?id=3107895</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=3107895</guid></item><item><title><![CDATA[New comment by vsrinivas in "Hammer2 Filesystem Design Docs (DragonflyBSD)"]]></title><description><![CDATA[
<p>Hi,<p>If you're interested in reading a paper about the execution model, Jeffrey Hsu's 2004 "The DragonFlyBSD Operating System" (<a href="http://www.dragonflybsd.org/presentations/dragonflybsd.asiabsdcon04.pdf" rel="nofollow">http://www.dragonflybsd.org/presentations/dragonflybsd.asiab...</a>) describes the LWKT and port abstractions.<p>The DragonFly network stack is a pretty interesting subsystem to understand the SMP model through; it uses a form of connection-oriented parallelism rather than fine-grained locks. The same approach was taken by Solaris in their FireEngine system (they call it 'vertical partitioning'). References that would be interesting to look at to understand how the netstack works, "An Evaluation of Network Stack Parallelization Strategies
in Modern Operating Systems", along with the second part of the earlier paper. FreeBSD chose to build a fine-grain-locked netstack in a style the paper above called 'Message Parallelism'.<p>The DragonFly kernel memory allocator is another interesting subsystem to look at SMP design through. The kernel allocator (kmalloc) is a slab allocator, like most other kernel allocators. The DragonFly slab allocator differs from Bonwick's classic by using fixed size and fixed alignment slabs, so the traditional reverse-mapping hash table is not required; the slab headers are always at the slab ... head. The SMP strategy was not to put a per-CPU cache in front of each zone, however. The slab allocator itself was duplicated across each CPU (each slab for a given size is CPU-private). Remote frees were handled via passive IPIs (as described in the first paper). The only lock in the allocator is at the bottom, to allocate kernel address space and frames for slabs. Other systems (think Solaris, say) build per-CPU caches of objects in front of the allocator and lock the slab layer.<p>The pattern you might see is that DFly chose to replicate resources across each CPU in an SMP system where reasonable...<p>Throughout the rest of the kernel, Dfly uses a curious lock called a 'token'. A token lock is automatically released when a thread holding it stalls and is reacquired when it 
becomes runnable; think of a token as a having the semantics of the older *BSD MPLOCK, but there can be more than one token, where there was one MPLOCK. Token locks can't deadlock (as sleep-and-hold is not possible; they do introduce a new class of error, though, where a lock "holder" slept, meaning earlier assumptions don't hold). They probably won't work as well as conventional mutexes when the token chains get larger than a few elements. Most importantly, they allowed the MPLOCK to be broken up very quickly, mostly over the 2.8 and 2.10 release cycles. 
Don't know that there is too much other there to read about tokens; there might be something in the XNU kernel notes about 'funnels' (which have similar semantics).<p>-- vs</p>
]]></description><pubDate>Sat, 14 May 2011 03:31:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=2547081</link><dc:creator>vsrinivas</dc:creator><comments>https://news.ycombinator.com/item?id=2547081</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=2547081</guid></item></channel></rss>