<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: sudarshnachakra</title><link>https://news.ycombinator.com/user?id=sudarshnachakra</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Mon, 04 May 2026 21:41:18 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=sudarshnachakra" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by sudarshnachakra in "Stoolap: High-performance embedded SQL database in pure Rust"]]></title><description><![CDATA[
<p>Does this support concurrent writers (unlike sqlite)? Quite an impressive feature set for a one-person project.<p>Also is this a single file DB? If so is the format stable?</p>
]]></description><pubDate>Fri, 12 Dec 2025 06:02:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=46241294</link><dc:creator>sudarshnachakra</dc:creator><comments>https://news.ycombinator.com/item?id=46241294</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46241294</guid></item><item><title><![CDATA[New comment by sudarshnachakra in "PostgreSQL 18 Released"]]></title><description><![CDATA[
<p>I was wondering how far away OrioleDB was from becoming a pure extension instead of being a postgres fork. I'm not an expert by any means on TAM - but was curious if the Orioledb team managed to upstream some parts of their fork.</p>
]]></description><pubDate>Thu, 25 Sep 2025 17:49:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=45376287</link><dc:creator>sudarshnachakra</dc:creator><comments>https://news.ycombinator.com/item?id=45376287</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45376287</guid></item><item><title><![CDATA[New comment by sudarshnachakra in "PostgreSQL 18 Released"]]></title><description><![CDATA[
<p>Does this release have the TAM (Table Access Methods) patch set from orioledb? Or at least parts of it?</p>
]]></description><pubDate>Thu, 25 Sep 2025 13:55:50 +0000</pubDate><link>https://news.ycombinator.com/item?id=45372675</link><dc:creator>sudarshnachakra</dc:creator><comments>https://news.ycombinator.com/item?id=45372675</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45372675</guid></item><item><title><![CDATA[New comment by sudarshnachakra in "Sixos: A nix OS without systemd [video]"]]></title><description><![CDATA[
<p>I had tried chimera-linux with dinit (on a VM with GNOME desktop) it was a good experience while it lasted and loved the TL; DR that chimera writes and it was DIY distro which was quite good like arch in it's initial days.<p>But now I'm back on fedora for want of packages and not being on a mainstream distro is all rainbows and unicorns until we hit the corner case or a missing package which is available only as flatpak and won't integrate with the look and feel of the desktop environment.</p>
]]></description><pubDate>Fri, 31 Jan 2025 09:04:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=42885922</link><dc:creator>sudarshnachakra</dc:creator><comments>https://news.ycombinator.com/item?id=42885922</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=42885922</guid></item><item><title><![CDATA[New comment by sudarshnachakra in "DuckDB 1.1.0 Released"]]></title><description><![CDATA[
<p>DuckDB does have ACID guarantees and transactions but I'd not be surprised if they are rarely used (if at all).<p>Ref: <a href="https://duckdb.org/docs/sql/statements/transactions" rel="nofollow">https://duckdb.org/docs/sql/statements/transactions</a><p>In the concurrency documentation they explicitly specify that it's not designed for lots of small transactions<p>Concurrency: <a href="https://duckdb.org/docs/connect/concurrency" rel="nofollow">https://duckdb.org/docs/connect/concurrency</a></p>
]]></description><pubDate>Mon, 09 Sep 2024 18:29:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=41491779</link><dc:creator>sudarshnachakra</dc:creator><comments>https://news.ycombinator.com/item?id=41491779</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41491779</guid></item><item><title><![CDATA[New comment by sudarshnachakra in "Inko Programming Language"]]></title><description><![CDATA[
<p>I had been only following this language with some interest, I guess this was born in gitlab not sure if the creator(s) still work there. This is what I'd have wanted golang to be (albeit with GC when you do not have clear lifetimes).<p>But how would you differentiate yourself from <a href="https://gleam.run" rel="nofollow noreferrer">https://gleam.run</a> which can leverage the OTP, I'd be more interested if we can adapt Gleam to graalvm isolates so we can leverage the JVM ecosystem.</p>
]]></description><pubDate>Wed, 15 Nov 2023 06:38:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=38273953</link><dc:creator>sudarshnachakra</dc:creator><comments>https://news.ycombinator.com/item?id=38273953</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=38273953</guid></item><item><title><![CDATA[New comment by sudarshnachakra in "In defense of linked lists"]]></title><description><![CDATA[
<p>I guess linked lists as they are are very useful for implementing queues (particularly those that feed thread pools) where-in the costs of growable array is not needed and the cache locality does not matter (continuing with a thread pool example - It's almost a guarantee that having next element in the cache of the CPU which is not going to execute the next Runnable is a waste).<p>In Java particularly the both array as well as the linked implementation of blocking queues should perform equally well. FWIW most queue implementations are linked lists.</p>
]]></description><pubDate>Sat, 05 Nov 2022 04:47:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=33478066</link><dc:creator>sudarshnachakra</dc:creator><comments>https://news.ycombinator.com/item?id=33478066</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=33478066</guid></item><item><title><![CDATA[New comment by sudarshnachakra in "Java is very fast, if you don’t create many objects"]]></title><description><![CDATA[
<p>> How is that possible? Assuming all things are equal AOT should always be better.<p>The primary thing here is that the hotter the code path the more optimized your code will be using a JIT (albeit compiled with a compiler which is slower) which is impossible with AOT (since we have a static binary compiled with -O2 or -O3 and that's it) also Java can take away the virtual dispatch if it finds a single implementation of interface or single concrete class of an abstract class which is not possible with c++ (where-in we'll always go thru the vtable which almost always resolves to a cache miss). So c++ gives you the control to choose if you want to pay the cost and if you want to pay the cost you always pay for it, but in java the runtime can be smart about it.<p>Essentially it boils down to runtime vs compile time optimizations - runtime definitely has a richer set of profiles & patterns to make a decision and hence can be faster by quite a bit.</p>
]]></description><pubDate>Mon, 12 Sep 2022 14:27:24 +0000</pubDate><link>https://news.ycombinator.com/item?id=32810819</link><dc:creator>sudarshnachakra</dc:creator><comments>https://news.ycombinator.com/item?id=32810819</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=32810819</guid></item><item><title><![CDATA[New comment by sudarshnachakra in "Kubernetes is a red flag signalling premature optimisation"]]></title><description><![CDATA[
<p>What you say is true, but that is how insurance works - you pay a premium for "What if something unexpected happens", there is a 9 nines chance that it'd not happen but still we keep paying. K8s is similar.</p>
]]></description><pubDate>Mon, 04 Jul 2022 12:58:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=31976535</link><dc:creator>sudarshnachakra</dc:creator><comments>https://news.ycombinator.com/item?id=31976535</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=31976535</guid></item><item><title><![CDATA[New comment by sudarshnachakra in "Kubernetes is a red flag signalling premature optimisation"]]></title><description><![CDATA[
<p>Language independence is not a trait of k8s it's an artifact of docker packaging java/c++/perl/python/go/rust etc. as an arch dependent image. TBH I find k8s support for languages other than Golang pretty poor (there have been attempts to get java into k8s by redhat with native-image, but it seems to have not made it big).</p>
]]></description><pubDate>Mon, 04 Jul 2022 12:44:26 +0000</pubDate><link>https://news.ycombinator.com/item?id=31976433</link><dc:creator>sudarshnachakra</dc:creator><comments>https://news.ycombinator.com/item?id=31976433</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=31976433</guid></item><item><title><![CDATA[New comment by sudarshnachakra in "Kubernetes is a red flag signalling premature optimisation"]]></title><description><![CDATA[
<p>While I tend to agree to the conclusion on premature optimization - I disagree with the assumption that it is premature for most startups. In fact it's a reasonable insurance for startups (that is - if at all they succeed) it'll solve the problem of scale at that point without needing to make huge changes.<p>BTW Google open-sourced Kubernetes not for charity (like all businesses they also want to make money), they knew they had lost the cloud war with Amazon/Azure gulping up almost 80-90% market share. So they wanted a platform on which they can lure users back to Google Cloud when they start providing kick-ass services (to avoid the much famed vendor lock-in). And since docker was able to solve the dependency management in a reasonable way (not in a very esoteric way like nix) and were dipping their toes into distributed orchestration, they took it as a open fundamental unit to solve orchestration of distributed systems.<p>But yes Google succeeded in convincing dev/ops to use k8s by frightening them with vendor lock-in. But the most ironic thing that I see about k8s is that all these HPA, Restart on crash all those things are being touted as great new features. These features have existed in Erlang for decades (supervisors and spawning actors). I'm not sure why Google did not try to leverage the Erlang ecosystem - it might have been much faster to market (may be NIH).</p>
]]></description><pubDate>Mon, 04 Jul 2022 12:29:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=31976316</link><dc:creator>sudarshnachakra</dc:creator><comments>https://news.ycombinator.com/item?id=31976316</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=31976316</guid></item><item><title><![CDATA[New comment by sudarshnachakra in "OCaml 5.0 Alpha Release"]]></title><description><![CDATA[
<p>Hoping this release will bring the below advantages.<p>1. A statically compiled language with GC-d runtime, which compiles quicker than golang<p>2. Something that brings algebraic effects to the mainstream and with it an arguably better model for concurrency / parallelism<p>3. Support value types to take advantage of modern CPU caches<p>Finally golang finds some real competition (from a very unlikely source though). Hoping ReasonML will become more popular with this release with true parallelism and nice concurrency.</p>
]]></description><pubDate>Wed, 15 Jun 2022 15:05:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=31754036</link><dc:creator>sudarshnachakra</dc:creator><comments>https://news.ycombinator.com/item?id=31754036</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=31754036</guid></item><item><title><![CDATA[New comment by sudarshnachakra in "Data Race Patterns in Go"]]></title><description><![CDATA[
<p>Agree that Java is pretty good with records / sealed types / loom, but one nice thing about the Oracle Java team is they do not add half baked features (primarily since they have the last mover advantage) - for (e.g.) Valhalla will have value types, but they'll be immutable so they can be freely copied and used. Loom will have structured concurrency on debut, which IMHO makes vthreads manageable.<p>But I've my own apprehensions about loom which actually breaks synchronized blocks (by pinning the carrier thread), and are used extensively in legacy libraries and even in the more recent ones (like opentelemetry java sdk).</p>
]]></description><pubDate>Mon, 13 Jun 2022 06:11:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=31721808</link><dc:creator>sudarshnachakra</dc:creator><comments>https://news.ycombinator.com/item?id=31721808</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=31721808</guid></item><item><title><![CDATA[New comment by sudarshnachakra in "Dragonflydb – A modern replacement for Redis and Memcached"]]></title><description><![CDATA[
<p>Thanks for taking the time to reply - yes in fact seastar does not use io_uring but it's rust equivalent glommio does use it (IIRC it is based on io_uring). Any reasons for using c++ instead of Rust (are u more familiar with it? or just the learning curve hinders the time to market? or is it the Rc/Arc fatigue with rust async? I guess Rust should be a fairly easy language to pick up for good c++ programmers like you)</p>
]]></description><pubDate>Mon, 30 May 2022 18:14:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=31561874</link><dc:creator>sudarshnachakra</dc:creator><comments>https://news.ycombinator.com/item?id=31561874</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=31561874</guid></item><item><title><![CDATA[New comment by sudarshnachakra in "Dragonflydb – A modern replacement for Redis and Memcached"]]></title><description><![CDATA[
<p>I like the redis protocol compatibility and the HTTP compatibility, but from the initial skim through I guess you are using abseil-cpp and the home-grown helio (<a href="https://github.com/romange/helio" rel="nofollow">https://github.com/romange/helio</a>) library.<p>Could you get me a one liner on the helio library is it used as a fiber wrapper around the io_uring facility in the kernel? Can it be used as a standalone library  for implementing fibers in application code?<p>Also it seems that spinlock has become a defacto standard in the DB world today, thanks for not falling into the trap (because 90% of the users of any DB do not need spinlocks).<p>Another curious question would be - why not implement with seastar (since you're not speaking to disk often enough)?</p>
]]></description><pubDate>Mon, 30 May 2022 17:47:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=31561570</link><dc:creator>sudarshnachakra</dc:creator><comments>https://news.ycombinator.com/item?id=31561570</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=31561570</guid></item><item><title><![CDATA[New comment by sudarshnachakra in "Using Java's Project Loom to build more reliable distributed systems"]]></title><description><![CDATA[
<p>I guess the Structured Concurrency JEP below addresses the problems you'll get to solve. It'll enable things like AND / OR combinations of virtual threads which IMHO looks like a better way to solve this rather than having a special syntax for select.<p><a href="https://openjdk.java.net/jeps/8277129" rel="nofollow">https://openjdk.java.net/jeps/8277129</a><p>But frankly I'm afraid of how these changes affect garbage collection since more and more vthread stacks are going to be in the heap (I hope they are contemplating some form of deterministic stack destruction along with the above JEP).</p>
]]></description><pubDate>Wed, 11 May 2022 09:25:56 +0000</pubDate><link>https://news.ycombinator.com/item?id=31337596</link><dc:creator>sudarshnachakra</dc:creator><comments>https://news.ycombinator.com/item?id=31337596</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=31337596</guid></item><item><title><![CDATA[New comment by sudarshnachakra in "Thread Safety in C++ and Rust"]]></title><description><![CDATA[
<p>Agree with the conclusion of the article that both C++ (mutable/const_cast) & Rust (interior mutability) to hand-wave certain properties they vouch for to enable performance/flexibility.<p>I guess Rust is better behaved in this regard to ensure that they do not violate invariants in case of types like Cell/RefCell/Mutex, but indeed the design of the language itself caused all these problems for Rust. Because the raison d'etre for Mutex is to share something between threads and calling a lock on it must mutate it, but the language does not allow mutable instances to be shared.<p>Essentially Mutex is a paradox in Rust, which cannot be implemented but for unsafe.</p>
]]></description><pubDate>Sun, 19 Dec 2021 13:04:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=29613587</link><dc:creator>sudarshnachakra</dc:creator><comments>https://news.ycombinator.com/item?id=29613587</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=29613587</guid></item><item><title><![CDATA[New comment by sudarshnachakra in "Moving Google toward the mainline"]]></title><description><![CDATA[
<p>A genuine question. Why is that Google uses a custom kernel (with patches that could not be mainlined) when the below options are available.<p>1. Compiling the kernel with custom knobs
2. Write the custom code as Linux modules</p>
]]></description><pubDate>Wed, 06 Oct 2021 03:13:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=28768740</link><dc:creator>sudarshnachakra</dc:creator><comments>https://news.ycombinator.com/item?id=28768740</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=28768740</guid></item></channel></rss>