<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: adityaathalye</title><link>https://news.ycombinator.com/user?id=adityaathalye</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Thu, 18 Jun 2026 12:37:19 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=adityaathalye" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by adityaathalye in "Why do commercial spaces sit vacant? (2025)"]]></title><description><![CDATA[
<p>Came here to say the same thing... A "building-sized financial product that incentivises extend and pretend" is fertile ground for an organised player like wework to "lease and sublet, except on a subscription basis".<p>viz. wework could apply the "single-use low-priced shampoo sachet" model [0] to SaaS-style rent-seeking of long-lived infrastructure. Infra. that is <i>guaranteed</i> to be always under-utilised... even in boom markets, because nothing functions at 100% capacity.<p>Adobe, as another example of (software) infrastructure --- i.e. traditionally, lifetime licence and ownership desktop software --- figured out their own "shampoo sachet" pricing. viz. how to make and ship desktop software product but kill-switch them with metered SaaS subscriptions.<p>The monthly price is just high enough to make gobs of cash for Adobe, while causing the typically-feast-and-famine freelancer to take the capitalist shellacking because it's just convenient enough. They can align software spends with active projects, and avoid the anxiety of cracked software doing nefarious things to their computers and data.<p>But over a long enough time, they pay Adobe a (presumably) huge premium over up-front priced software. And they stay locked into a planned obsolescence cycle controlled by Adobe... "The new version of your beloved editing software will <i>only</i> work with the latest Windoze which means hardware upgrade and oh, you <i>have</i> to do it because well we are soon kill-switching the current version you are dependent on."<p>Wework like operators can do exactly similar shenanigans with <i>access to commercial infrastructure</i>. Crowd out competition by aggressive long-term leasing on their buy-side, and on their sell-side build daily-subscription-dependency (buying ease, google-ish facilities which feeds into cult-and-status-signalling games), and convert a percentage of that into routine-subscription-dependency. Meanwhile also run rent-seeking games inside the main rent-seeking game... now you have a captive wallets who will buy the add-ons and extras because it's easier than walking two blocks for some cheaper <i>and</i> better alternative (e.g. food, coffee, lovely meeting space etc.).<p>edit: add reference for "daily sachet pricing".<p>[0] Buying less, more often: An evaluation of sachet marketing strategy in an emerging market<p><a href="https://www.researchgate.net/publication/233676293_Buying_less_more_often_An_evaluation_of_sachet_marketing_strategy_in_an_emerging_market" rel="nofollow">https://www.researchgate.net/publication/233676293_Buying_le...</a></p>
]]></description><pubDate>Thu, 18 Jun 2026 04:33:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=48580847</link><dc:creator>adityaathalye</dc:creator><comments>https://news.ycombinator.com/item?id=48580847</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48580847</guid></item><item><title><![CDATA[New comment by adityaathalye in "Clojure Hosted on Go"]]></title><description><![CDATA[
<p>PSA: glojure maintenance has moved here: <a href="https://github.com/gloathub/glojure" rel="nofollow">https://github.com/gloathub/glojure</a><p>Worth changing the submit URL to this one?<p>Edit: never mind. Spoke too soon. Ingy is keeping gloathub/glojure fork and glojurelang/glojure source at parity.</p>
]]></description><pubDate>Thu, 18 Jun 2026 03:16:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=48580323</link><dc:creator>adityaathalye</dc:creator><comments>https://news.ycombinator.com/item?id=48580323</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48580323</guid></item><item><title><![CDATA[New comment by adityaathalye in "Clojure Hosted on Go"]]></title><description><![CDATA[
<p>Jank, a Clojure dialect, is playing in the same field:<p>> Where jank differs from Clojure JVM is that its host is C++ on top of an LLVM-based JIT. This allows jank to offer the same benefits of REPL-based development while being able to seamlessly reach into the native world and compete seriously with JVM's performance.<p><a href="https://jank-lang.org/" rel="nofollow">https://jank-lang.org/</a></p>
]]></description><pubDate>Thu, 18 Jun 2026 03:12:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=48580298</link><dc:creator>adityaathalye</dc:creator><comments>https://news.ycombinator.com/item?id=48580298</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48580298</guid></item><item><title><![CDATA[Gloat compiles Clojure and YAMLScript to Go code, native binaries and WASM]]></title><description><![CDATA[
<p>Article URL: <a href="https://gloathub.org/">https://gloathub.org/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48580277">https://news.ycombinator.com/item?id=48580277</a></p>
<p>Points: 32</p>
<p># Comments: 0</p>
]]></description><pubDate>Thu, 18 Jun 2026 03:10:24 +0000</pubDate><link>https://gloathub.org/</link><dc:creator>adityaathalye</dc:creator><comments>https://news.ycombinator.com/item?id=48580277</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48580277</guid></item><item><title><![CDATA[New comment by adityaathalye in "Clojure Hosted on Go"]]></title><description><![CDATA[
<p>Work is being furthered by Ingy döt Net [0] (Creator of Gloat, YAML, YAMLScript, and other stuff), supported by a Clojurists Together grant [1].<p>[0] <a href="https://gloathub.org/blog/2026/06/16/gloat-q2-grant-halfway-report/" rel="nofollow">https://gloathub.org/blog/2026/06/16/gloat-q2-grant-halfway-...</a><p>> We are halfway through the Q2 2026 Clojurists Together funding cycle, so this is a good time to report what has been done for Gloat and Glojure.<p>...<p>> Since the start of the grant period, Gloat and Glojure have had over 20 releases, with Gloat moving from v0.1.26 to v0.1.50. The Glojure work was all being done on the long running fork gloathub/glojure, but I'm thrilled to announce that as of today, the work has been fully moved back to the upstream glojurelang/glojure and will continue to be maintained and released from there.<p>> My overall ambition for Gloat is to have Clojure be as full featured and prominent to Go programming as it is to Java. The industry is crazy about Go. Let's get it crazy about Clojure.<p>[1] <a href="https://www.clojuriststogether.org/projects/#Gloat:~:text=Make%20Gloat%2FGlojure%20binaries%20smaller%20and%20faster%2E" rel="nofollow">https://www.clojuriststogether.org/projects/#Gloat:~:text=Ma...</a><p>> Make Gloat/Glojure binaries smaller and faster. Pass more of the Clojure Compatibility Test Suite. Create tutorial docs on: How to use Gloat to integrate Clojure into Go projects and How to use Gloat instead of GraalVM to (cross-)compile Clojure.</p>
]]></description><pubDate>Thu, 18 Jun 2026 02:53:17 +0000</pubDate><link>https://news.ycombinator.com/item?id=48580134</link><dc:creator>adityaathalye</dc:creator><comments>https://news.ycombinator.com/item?id=48580134</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48580134</guid></item><item><title><![CDATA[New comment by adityaathalye in "Why I email complete strangers"]]></title><description><![CDATA[
<p>Hey, I do this too, and I absolutely love receiving thoughtful e-letters, the few times a year they happen!<p>Here are my reasons, copied from my site's "Standing Invitation" [0].<p>> <i>Email me just because (not just for work). Whatever feeds your curiosity; silly, fun, nerdy, serious.</i><p>> Why?<p>> 1. <i>Do unto me what I have done unto others.</i> I habitually cold-email anyone who moves me in some way (joy, insight, utility, mind shift…). I also love to receive such email!<p>> 2. <i>There is too little unsolicited positive feedback in much of most of our lives.</i> At some point in the fuzzy past, I decided enough was enough. At least someone somewhere ought to feel good sometime for no reason whatsoever. Since that realisation, I have cold-emailed people willy-nilly. See also: Saying Thank You [1], and Days Are Easily Made [2].<p>> 3. It's always been a delight; no regrets. You should try it too!<p>> So, let serendipity reign; write away!<p>[0] <a href="https://www.evalapply.org/about.html#standing-invitation" rel="nofollow">https://www.evalapply.org/about.html#standing-invitation</a><p>[1] <a href="https://blog.jim-nielsen.com/2022/saying-thank-you/" rel="nofollow">https://blog.jim-nielsen.com/2022/saying-thank-you/</a><p>[2] <a href="https://www.autodidacts.io/how-to-make-someones-day/" rel="nofollow">https://www.autodidacts.io/how-to-make-someones-day/</a></p>
]]></description><pubDate>Tue, 16 Jun 2026 18:46:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=48560060</link><dc:creator>adityaathalye</dc:creator><comments>https://news.ycombinator.com/item?id=48560060</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48560060</guid></item><item><title><![CDATA[Horizons JPL Solar System Data Demo and NASA DSN Updates: Datastar, Common Lisp]]></title><description><![CDATA[
<p>Article URL: <a href="https://horizons.lambda-combine.net/">https://horizons.lambda-combine.net/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=48536167">https://news.ycombinator.com/item?id=48536167</a></p>
<p>Points: 33</p>
<p># Comments: 0</p>
]]></description><pubDate>Mon, 15 Jun 2026 03:15:41 +0000</pubDate><link>https://horizons.lambda-combine.net/</link><dc:creator>adityaathalye</dc:creator><comments>https://news.ycombinator.com/item?id=48536167</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48536167</guid></item><item><title><![CDATA[New comment by adityaathalye in "The perils of UUID primary keys in SQLite"]]></title><description><![CDATA[
<p>Well, I expect to <i>never</i> need WITHOUT ROWID. And even if such an arcane situation hits my system, WITHOUT ROWID has so many ifs and buts that I'll probably elect to eat the $$$ cost of running an un-optimised normie SQLite as far as possible.<p>cf. <a href="https://sqlite.org/withoutrowid.html" rel="nofollow">https://sqlite.org/withoutrowid.html</a><p>> The WITHOUT ROWID syntax is an optimization. It provides no new capabilities. Anything that can be done using a WITHOUT ROWID table can also be done in exactly the same way, and exactly the same syntax, using an ordinary rowid table. The only advantage of a WITHOUT ROWID table is that it can sometimes use less disk space and/or perform a little faster than an ordinary rowid table.<p>As of now, I am doing the following in my (Bitemporal data system) experiment (When will it see the light of day? Nobody knows.).<p>All data are globally uniquely identified by a UUIDv7. <i>However</i> all tables have `rowid` integer primary key asc (which is just an alias for SQLite's autoincrement int id). The `rowid` is the basis for joins, and is the foreign key reference. This lets me offload some useful disambiguation work to the DB as well as have it enforce global (across data systems) record uniqueness guarantees, while retaining local (within process) query efficiency by retaining the ability to use integer rowids.<p>While the idealised insert performance in your bench is indeed mind-boggling, the DB Schema isn't doing anything CPU-intensive during inserts (checks, constraints, triggers etc.). My schema / query pattern yields comparatively meagre throughput, but I am happy with the ballpark it has landed in, given all the work I'm making SQLite do for me on each `assert!` and `redact!`.<p>cf. my dirty-but-useful-enough bench, with production-like record content:<p><i>A poor man's napkin-mathy, append-only SQLite write/read benchmark</i><p><a href="https://gist.github.com/adityaathalye/3c8195dc70626b33c23867e31b377d4c" rel="nofollow">https://gist.github.com/adityaathalye/3c8195dc70626b33c23867...</a><p>Summary:<p><pre><code>  ;; Okay, I think I can live with this...

  ;; - "facts" table: 12M+ records
  ;;     - single process writes to it
  ;;     - ~ 400 transactions/second
  ;;     - append-only table, enforced via SQLite "before" triggers
  ;; - "now" table: 
  ;;     - updates on every assert/redact on "facts" table, via triggers
  ;;     - currently at "limit case": for each read it is empty, or very small, because writes do back-to-back assert/redact of the same fact
  ;;     - gets reads from two reader threads (evenly split)
  ;;     - ~41,000 reads/second
  ;; - all reads are concurrent with writes (poor man's futures)</code></pre></p>
]]></description><pubDate>Sat, 06 Jun 2026 18:53:11 +0000</pubDate><link>https://news.ycombinator.com/item?id=48427806</link><dc:creator>adityaathalye</dc:creator><comments>https://news.ycombinator.com/item?id=48427806</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48427806</guid></item><item><title><![CDATA[New comment by adityaathalye in "The perils of UUID primary keys in SQLite"]]></title><description><![CDATA[
<p>Aside: Specific to SQLite...<p>Thanks to its oh so convenient automatic integer rowIDs, I believe one can amortise some of the other overheads of UUIDv7s for "in-between" queries, viz. indices, joins, ctes, virtual tables etc., with appropriate schema / query design.</p>
]]></description><pubDate>Sat, 06 Jun 2026 11:32:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=48423892</link><dc:creator>adityaathalye</dc:creator><comments>https://news.ycombinator.com/item?id=48423892</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48423892</guid></item><item><title><![CDATA[New comment by adityaathalye in "The perils of UUID primary keys in SQLite"]]></title><description><![CDATA[
<p>Thanks for the benching, Anders! So grateful for the stuff you've shared over the years. Invariably, every single post has been useful and/or educational to me.<p>I read this post more as an illustration of <i>the *value* of UUIDv7 as primary key, over integer primary keys</i>, in lieu of <i>minimal</i> loss of read/write performance, and marginally more data on disk bloat.<p>SQLite's automatic integer rowID primary key is a no-brainer, when the SQLite application is local-only, such as application storage format (mobile and desktop). Or is never intended to grow beyond a single server instance. Basically, where each SQLite file is private to a singular instance of the application.<p><i>However</i>, if there is even an outside chance of needing to cooperate across application instances, e.g. the minimal limit case of a personal knowledge base that should seamlessly sync across a person's devices, as well as a hosted service, then a high-quality sequential random ID starts to make a lot more sense. (No-brainer arbitrary table merges / splits / remerges, de-duplication, etc.)<p>Random ID primary key is a bad idea period, whether it be the UU kind or the SQ kind, or any other kind. As far as my DB knowledge goes, this class of ID destroys all tree-algorithms, and we are stuck with the fact that there is no practically better way, than an appropriate tree-structure, to group and organise a meaningful amount of data, efficiently and effectively.</p>
]]></description><pubDate>Sat, 06 Jun 2026 11:29:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=48423874</link><dc:creator>adityaathalye</dc:creator><comments>https://news.ycombinator.com/item?id=48423874</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48423874</guid></item><item><title><![CDATA[New comment by adityaathalye in "Nobody cracks open a programming book anymore"]]></title><description><![CDATA[
<p>Funny, I think a dead-tree book (or PDF you <i>won't</i> copy from) is a great format to learn programming from. Retyping things into the editor is underrated, as a form of engaging more viscerally with the material (brains work better when they get to play with the clay), as a way to build muscle memory for the language, as a way to absorb idioms by osmosis, and so forth.<p>Different brains, different strokes, but I think the book format is not wrong, the teaching and learning expectations are.</p>
]]></description><pubDate>Tue, 26 May 2026 05:30:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=48275385</link><dc:creator>adityaathalye</dc:creator><comments>https://news.ycombinator.com/item?id=48275385</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48275385</guid></item><item><title><![CDATA[After the AI Crash: A Proposal, from the Vanderbilt Policy Accelerator]]></title><description><![CDATA[
<p>Article URL: <a href="https://vanderbiltpolicyaccelerator.substack.com/p/after-the-ai-crash">https://vanderbiltpolicyaccelerator.substack.com/p/after-the-ai-crash</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47944031">https://news.ycombinator.com/item?id=47944031</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Wed, 29 Apr 2026 03:59:32 +0000</pubDate><link>https://vanderbiltpolicyaccelerator.substack.com/p/after-the-ai-crash</link><dc:creator>adityaathalye</dc:creator><comments>https://news.ycombinator.com/item?id=47944031</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47944031</guid></item><item><title><![CDATA[Rootless virtual machines with KVM and QEMU (2024)]]></title><description><![CDATA[
<p>Article URL: <a href="https://developers.redhat.com/articles/2024/12/18/rootless-virtual-machines-kvm-and-qemu">https://developers.redhat.com/articles/2024/12/18/rootless-virtual-machines-kvm-and-qemu</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47907666">https://news.ycombinator.com/item?id=47907666</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Sun, 26 Apr 2026 05:40:17 +0000</pubDate><link>https://developers.redhat.com/articles/2024/12/18/rootless-virtual-machines-kvm-and-qemu</link><dc:creator>adityaathalye</dc:creator><comments>https://news.ycombinator.com/item?id=47907666</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47907666</guid></item><item><title><![CDATA[New comment by adityaathalye in "Plain text has been around for decades and it’s here to stay"]]></title><description><![CDATA[
<p>Hm, you made me think about non-printing characters as metadata, which is of course immediately lost on printing and therefore does not round trip between digital and printed versions.<p>Many nonprinting characters imply some <i>directive</i>; line break (hard-wrap the text here, but this is not a paragraph), page break (let the rest of the page be blank, start the next paragraph overleaf), EOL (file over, bye bye), nonbreaking space (keep these two words together, always, till death do them part).<p>This is out-of-band information spliced in-band (with the text corpus), which a computer program can "see", but a person can't.</p>
]]></description><pubDate>Sun, 26 Apr 2026 03:55:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=47907189</link><dc:creator>adityaathalye</dc:creator><comments>https://news.ycombinator.com/item?id=47907189</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47907189</guid></item><item><title><![CDATA[New comment by adityaathalye in "Plain text has been around for decades and it’s here to stay"]]></title><description><![CDATA[
<p>XML, JSON, YAML, RDF, EDN, LaTeX, OrgMode, Markdown... Plenty of plaintext, but structured information formats that are "yes, and". Yes, I can process them as lines of plain text, <i>and</i> I can do structured data transformations on them too, and there are clients (or readers) that know how to render them in WYSIWYG style.</p>
]]></description><pubDate>Sat, 25 Apr 2026 08:32:13 +0000</pubDate><link>https://news.ycombinator.com/item?id=47899740</link><dc:creator>adityaathalye</dc:creator><comments>https://news.ycombinator.com/item?id=47899740</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47899740</guid></item><item><title><![CDATA[New comment by adityaathalye in "Familiarity is the enemy: On why Enterprise systems have failed for 60 years"]]></title><description><![CDATA[
<p>Yeah, "Nobody every got fired for purchasing IBM"... a story as old as time itself.<p>But that is the "fear" side of the enterprise sales equation... The "greed" side of it is for the buyer to make the long / short hedge.<p>The exec who gets the value of the working product can potentially come out shining, when their peers will be furiously backpedalling next year. And this consummate exec can do it by name-associating with their "main bet" which is optically great for the immediate term but totally out of their control (because big corp vendor will drag its feet like every SAP integration failure they've seen), and feeling a sense of agency by running an off-books skunkworks project that actually works and saves the day.<p>A fine needle to thread for the upstart, but better than standing outside the game.</p>
]]></description><pubDate>Fri, 24 Apr 2026 07:57:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=47887086</link><dc:creator>adityaathalye</dc:creator><comments>https://news.ycombinator.com/item?id=47887086</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47887086</guid></item><item><title><![CDATA[Familiarity is the enemy: On why Enterprise systems have failed for 60 years]]></title><description><![CDATA[
<p>Article URL: <a href="https://felixbarbalet.com/familiarity-is-the-enemy/">https://felixbarbalet.com/familiarity-is-the-enemy/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47885668">https://news.ycombinator.com/item?id=47885668</a></p>
<p>Points: 103</p>
<p># Comments: 60</p>
]]></description><pubDate>Fri, 24 Apr 2026 04:48:54 +0000</pubDate><link>https://felixbarbalet.com/familiarity-is-the-enemy/</link><dc:creator>adityaathalye</dc:creator><comments>https://news.ycombinator.com/item?id=47885668</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47885668</guid></item><item><title><![CDATA[New comment by adityaathalye in "Context Is Software, Weights Are Hardware"]]></title><description><![CDATA[
<p>Another way I see it is... Mind is <i>process</i>. LLM is (very lossy) snapshotted state of process/mind. LLM in-process is mind-emulator with potential to explore the state-space of the mind-snapshot. Consequently, and by its very construction, LLM cannot <i>be</i> mind.</p>
]]></description><pubDate>Wed, 22 Apr 2026 17:39:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=47866757</link><dc:creator>adityaathalye</dc:creator><comments>https://news.ycombinator.com/item?id=47866757</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47866757</guid></item><item><title><![CDATA[New comment by adityaathalye in "Context Is Software, Weights Are Hardware"]]></title><description><![CDATA[
<p>> Let me know how you think about this.<p>Well, I think of every Large Language Model as if it were a spectacularly faceted diamond.<p>More on these lines in a recent-ish "thinking in public" attempt by yours truly, lay programmer, to interpret what an LLM-machine might be.<p>Riff: LLMs are Software Diamonds<p><a href="https://www.evalapply.org/posts/llms-are-diamonds/" rel="nofollow">https://www.evalapply.org/posts/llms-are-diamonds/</a></p>
]]></description><pubDate>Wed, 22 Apr 2026 10:38:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=47861590</link><dc:creator>adityaathalye</dc:creator><comments>https://news.ycombinator.com/item?id=47861590</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47861590</guid></item><item><title><![CDATA[Using Spider-Web Patterns to Determine Toxicity (1995)]]></title><description><![CDATA[
<p>Article URL: <a href="https://ntrs.nasa.gov/citations/19950065352">https://ntrs.nasa.gov/citations/19950065352</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47851913">https://news.ycombinator.com/item?id=47851913</a></p>
<p>Points: 2</p>
<p># Comments: 0</p>
]]></description><pubDate>Tue, 21 Apr 2026 17:36:54 +0000</pubDate><link>https://ntrs.nasa.gov/citations/19950065352</link><dc:creator>adityaathalye</dc:creator><comments>https://news.ycombinator.com/item?id=47851913</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47851913</guid></item></channel></rss>