<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: sannysanoff</title><link>https://news.ycombinator.com/user?id=sannysanoff</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Thu, 14 May 2026 15:36:10 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=sannysanoff" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by sannysanoff in "MacBook Neo Deep Dive: Benchmarks, Wafer Economics, and the 8GB Gamble"]]></title><description><![CDATA[
<p>IDE written in Java indexing 10K files, compiling + running spring boot apps that take 30 seconds to start on the M4, or C++ compilation, or rust compilation.. Or maybe you were sarcastic?</p>
]]></description><pubDate>Wed, 13 May 2026 21:20:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=48127755</link><dc:creator>sannysanoff</dc:creator><comments>https://news.ycombinator.com/item?id=48127755</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48127755</guid></item><item><title><![CDATA[New comment by sannysanoff in "Boriel BASIC"]]></title><description><![CDATA[
<p>Most important thing of basic was not language or compiler.<p>It's that you could LIST. Then move cursor up and edit and press enter. (Not found in ZX, but still ok).<p>Next, you could list, and draw CIRCLE over the program listing. It was live, like smalltalk, but simpler.<p>Reproducing language variants without immersion described above is not full story.</p>
]]></description><pubDate>Tue, 12 May 2026 09:27:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=48106011</link><dc:creator>sannysanoff</dc:creator><comments>https://news.ycombinator.com/item?id=48106011</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48106011</guid></item><item><title><![CDATA[LLM Can Be a Supercompiler]]></title><description><![CDATA[
<p>I just took some legacy java code. You know that one, well engineered, extensible, with multiple cases accumulated with years, special cases, kinda slower than it was initially, but still strong for production. Some good ideas were born after it went live, but nobody will break working piece of code.<p>Yes, it was kinda refactoring for bigger client and his use case with bigger data. I implemented slightly different order in input data, so it now does work more serially than parallel, yes, it takes less memory, and is more cache-friendly. But that's not all.<p>I also moved it from row-oriented CSV to column oriented. You say good refactor! Yeah, i think so, too. Yes, that uses Clickhouse as a DB. Native Clickhouse column-oriented wire format vs any human oriented format. Yes, I gave it Clickhouse C++ source, because format however stable, is not documented in the "documentation". Yes, it created custom-tailored serializer and de-serializer, including dictionaries (low cardinality columns). Yes, i explained what I expect from it.<p>Yes, I asked LLM to not implement data transfer objects. Instead, it reads directly from Clickhouse native wire format, without allocations, and writes Clickhouse native wire format, without allocations. It allocates slightly when processing data itself, but I optimized it too.<p>Code did few passes on data, I asked LLM to perform loop fusion and do all in one pass, because, as a human, that would complicate code, and was not done before, but the client is important, you know.<p>It contained some suboptimal data layout IN ITS CORE, too. I played and measured several layouts, by just changing it (adding/removing few indirections here and there), all code using this CORE DATA was adapted automatically, so I did quite a few iterations evaluating best one during that morning.<p>Already efficient code became 20 times faster. Not because it was not efficient. But because it was legacy, human oriented, well designed, and it worked, it was java, even  with fast parser/processor optimizations, reduced allocations etc - it was long maintained, it was an asset.<p>I just applied some transformations to it, in mostly automatic way. Yes, I can do that again.<p>This is called supercompilation, guys. It can be automated these days. Legacy is original generic program. Like they synthesized rocket engine using AI (see news and pictures circa year ago), we can synthesize supercompiled programs from single legacy source, given various boundary conditions.<p>My congratulations!<p>NB Supercompilation is not a cool word, it's quite old concept in IT, for example see https://sites.google.com/site/keldyshscp/Home/supercompilerconcept<p>PS on the "this code is liability now". Nope. Cost of maintaining this code TODAY is radically lower than ever before.</p>
<hr>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47497411">https://news.ycombinator.com/item?id=47497411</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Tue, 24 Mar 2026 01:07:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=47497411</link><dc:creator>sannysanoff</dc:creator><comments>https://news.ycombinator.com/item?id=47497411</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47497411</guid></item><item><title><![CDATA[New comment by sannysanoff in "Twelve Days of Shell"]]></title><description><![CDATA[
<p>Fluent in shell, but cultural context is more difficult, especially with pipers, had to do guess work.</p>
]]></description><pubDate>Mon, 08 Dec 2025 11:48:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=46191203</link><dc:creator>sannysanoff</dc:creator><comments>https://news.ycombinator.com/item?id=46191203</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46191203</guid></item><item><title><![CDATA[New comment by sannysanoff in "Don't Force Your LLM to Write Terse [Q/Kdb] Code: An Information Theory Argument"]]></title><description><![CDATA[
<p>while both versions are O(N^2), your version is slower because comparison operation, which affects execution speed. This is suboptimal.<p><pre><code>  q)x:1000
  q)\t:1000 sum (til x)=/:(til x)
  889
  q)\t:1000 sum (til x)=/:(til x)
  871
  q)\t:1000 sum (2#x)#1,x#0
  602
  q)\t:1000 sum (2#x)#1,x#0
  599
</code></pre>
upd: in ngn/k, situation is opposite ;-o</p>
]]></description><pubDate>Mon, 20 Oct 2025 08:23:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=45641246</link><dc:creator>sannysanoff</dc:creator><comments>https://news.ycombinator.com/item?id=45641246</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45641246</guid></item><item><title><![CDATA[New comment by sannysanoff in "Claude Code 2.0"]]></title><description><![CDATA[
<p>I still use aider, because often I know better what to do.</p>
]]></description><pubDate>Mon, 29 Sep 2025 21:35:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=45419048</link><dc:creator>sannysanoff</dc:creator><comments>https://news.ycombinator.com/item?id=45419048</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45419048</guid></item><item><title><![CDATA[New comment by sannysanoff in "The MacBook has a sensor that knows the exact angle of the screen hinge"]]></title><description><![CDATA[
<p>shameless plug: <a href="https://sannysanoff.github.io/whiteboard/" rel="nofollow">https://sannysanoff.github.io/whiteboard/</a><p>not only for mac users.</p>
]]></description><pubDate>Sun, 07 Sep 2025 17:49:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=45160491</link><dc:creator>sannysanoff</dc:creator><comments>https://news.ycombinator.com/item?id=45160491</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45160491</guid></item><item><title><![CDATA[New comment by sannysanoff in "Detekt – A static code analyzer for Kotlin"]]></title><description><![CDATA[
<p>when you do LLM-assisted coding in Kotlin, it burns 2-3 times less tokens than Java!<p>PROFIT!</p>
]]></description><pubDate>Thu, 24 Jul 2025 14:56:05 +0000</pubDate><link>https://news.ycombinator.com/item?id=44671473</link><dc:creator>sannysanoff</dc:creator><comments>https://news.ycombinator.com/item?id=44671473</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44671473</guid></item><item><title><![CDATA[New comment by sannysanoff in "Qwen3-Coder: Agentic coding in the world"]]></title><description><![CDATA[
<p>You should automate this, like i did. You're an engineer, no? Work around the digital bureaucracy.<p>- Running build pipelines: make cli tool to initiate them, monitor them and notify you on completion/error (audio). Allows to chain multiple things. Run in background terminal.<p>- Learning about changed process and people via zoom calls, teams chat and emails: pass logs of chats and emails to LLM with particular focus. Demand zoom calls transcripts published for that purposes (we use meet)<p>- Raising incident tickets for issues outside of my control: automate this with agent: allow it to access as much as needed, and guide it with short guidance - all doable via claude code + custom MCP<p>- Submitting forms, attending reviews and chasing approvals - best thing to automate. They want forms? They will have forms. Chasing approvals - fire and forget + queue management, same.<p>- Reaching out to people for dependencies, following up: LLM as personal assistant is classic job. Code this away.<p>- Finding and reading up some obscure and conflicting internal wiki page, which is likely to be outdated: index all data and put it into RAG, let agent dig deeper.<p>Most of the time you spend is on scheduling micro-tasks, switching between them and maintaining unspoken queue of checking various saas frontends. Formalize micro-task management, automate endpoints, and delegate it to your own selfware (ad-hoc tools chain you vibe coded for yourself only, tailored for particular working environment).<p>I do this all (almost) to automate away non-coding tasks. Life is fun again.<p>Hope this helps.</p>
]]></description><pubDate>Wed, 23 Jul 2025 12:23:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=44658409</link><dc:creator>sannysanoff</dc:creator><comments>https://news.ycombinator.com/item?id=44658409</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44658409</guid></item><item><title><![CDATA[New comment by sannysanoff in "Yt-transcriber – Give a YouTube URL and get a transcription"]]></title><description><![CDATA[
<p>people don't even get it :-]</p>
]]></description><pubDate>Tue, 22 Jul 2025 15:53:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=44648756</link><dc:creator>sannysanoff</dc:creator><comments>https://news.ycombinator.com/item?id=44648756</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44648756</guid></item><item><title><![CDATA[New comment by sannysanoff in "Yt-transcriber – Give a YouTube URL and get a transcription"]]></title><description><![CDATA[
<p>Selfware.<p><a href="https://old.reddit.com/r/ChatGPTCoding/comments/1lusr07/selfware_new_word_for_personal_software/" rel="nofollow">https://old.reddit.com/r/ChatGPTCoding/comments/1lusr07/self...</a><p>Gonna be lots of posts of selfware like that soon.</p>
]]></description><pubDate>Tue, 22 Jul 2025 15:36:31 +0000</pubDate><link>https://news.ycombinator.com/item?id=44648484</link><dc:creator>sannysanoff</dc:creator><comments>https://news.ycombinator.com/item?id=44648484</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44648484</guid></item><item><title><![CDATA[New comment by sannysanoff in "Open Desk View"]]></title><description><![CDATA[
<p>Got a new Mac, found the Desk View app (pre-installed).<p>Enjoyed it.<p>Before, I felt mute during Zoom meetings. Now I can explain things with paper and pen. Mouse drawing was never my thing.<p>My friends couldn’t do the same—it’s a native app for newer Macs only. They all use different OSes or older hardware.<p>Spent half a day vibe coding a public version. Enjoy. Free as in beer.<p>Make sure to enable webcam permissions on the page.<p>Explanation:<p>=============<p>This tool displays a live, perspective-corrected view of your camera pointed at a sheet of paper—like a whiteboard for your meetings. Next, you share that browser tab to your colleagues.<p>Limitations:<p>===========<p>1. On Windows, stop using the camera in your meeting app (e.g., Zoom) to allow browser access. Not needed on Mac; possibly not needed on Linux.<p>2. You must tilt your laptop lid down ~45° during setup and use.<p>3. TODO: Allow setting up paper corners falling outside of the camera view.<p>Usage:<p>==========<p>• You can share the browser tab in your meeting.<p>• If Windows+Zoom => stop camera in zoom<p>• Ensure webcam feed is visible on this app/page.<p>• Tilt the lid, aim the camera at your paper.<p>(One-time setup for your paper type)<p>• With the lid tilted, press spacebar to hold a snapshot.<p>• Return the lid to upright position.<p>• Adjust the trapezoid corners to fit your paper.<p>• Press spacebar again to release the video.<p>• Tilt the lid again and place your paper within the trapezoid.<p>(End setup)<p>• With the lid tilted, press Enter to enter presentation mode.</p>
]]></description><pubDate>Mon, 02 Jun 2025 21:49:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=44163483</link><dc:creator>sannysanoff</dc:creator><comments>https://news.ycombinator.com/item?id=44163483</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44163483</guid></item><item><title><![CDATA[Open Desk View]]></title><description><![CDATA[
<p>Article URL: <a href="https://sannysanoff.github.io/whiteboard/">https://sannysanoff.github.io/whiteboard/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=44163482">https://news.ycombinator.com/item?id=44163482</a></p>
<p>Points: 2</p>
<p># Comments: 1</p>
]]></description><pubDate>Mon, 02 Jun 2025 21:49:20 +0000</pubDate><link>https://sannysanoff.github.io/whiteboard/</link><dc:creator>sannysanoff</dc:creator><comments>https://news.ycombinator.com/item?id=44163482</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44163482</guid></item><item><title><![CDATA[New comment by sannysanoff in "Smalltalk-78 Xerox NoteTaker in-browser emulator"]]></title><description><![CDATA[
<p>I was always amazed that the smalltalk environment looks like a complete computer control - a paradise for a programmer and a hacker, and a creator. It's surprising that it didn't take off. Probably too much openness reflects the internal openness of the smalltalk creator to the world, but the outside world, unfortunately, did not reciprocate. Especially if we pay attention to Apple's success with completely closed devices, suitable only for content consumption.</p>
]]></description><pubDate>Wed, 14 May 2025 19:35:00 +0000</pubDate><link>https://news.ycombinator.com/item?id=43988355</link><dc:creator>sannysanoff</dc:creator><comments>https://news.ycombinator.com/item?id=43988355</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43988355</guid></item><item><title><![CDATA[New comment by sannysanoff in "AlphaEvolve: A Gemini-powered coding agent for designing advanced algorithms"]]></title><description><![CDATA[
<p>Prophets are always beaten by average citizens, because prophecy is always unpleasant. It can't be otherwise. At the same time, you can't tell right away whether a person is really a prophet, because it becomes known much later. That's probably why beating them (the simplest solution) turns out to be the most observed.</p>
]]></description><pubDate>Wed, 14 May 2025 15:50:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=43985974</link><dc:creator>sannysanoff</dc:creator><comments>https://news.ycombinator.com/item?id=43985974</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43985974</guid></item><item><title><![CDATA[New comment by sannysanoff in "AlphaEvolve: A Gemini-powered coding agent for designing advanced algorithms"]]></title><description><![CDATA[
<p>it's known idiom, it means: optimal algorithm is found; like in "tic tac toe is solved problem".</p>
]]></description><pubDate>Wed, 14 May 2025 15:45:21 +0000</pubDate><link>https://news.ycombinator.com/item?id=43985905</link><dc:creator>sannysanoff</dc:creator><comments>https://news.ycombinator.com/item?id=43985905</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43985905</guid></item><item><title><![CDATA[New comment by sannysanoff in "Instant SQL for results as you type in DuckDB UI"]]></title><description><![CDATA[
<p>My intention is good. I advise right way. It's not an offense. (I have my job to do. They may consider doing what I say, it will be then their job to do)</p>
]]></description><pubDate>Fri, 25 Apr 2025 16:26:46 +0000</pubDate><link>https://news.ycombinator.com/item?id=43795510</link><dc:creator>sannysanoff</dc:creator><comments>https://news.ycombinator.com/item?id=43795510</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43795510</guid></item><item><title><![CDATA[New comment by sannysanoff in "Instant SQL for results as you type in DuckDB UI"]]></title><description><![CDATA[
<p>Please finally add q language with proper integration to your tables so that our precious q-SQL is available there. Stop reinventing the wheel, let's at least catch up to the previous generation (in terms of convenience). Make the final step.</p>
]]></description><pubDate>Thu, 24 Apr 2025 14:25:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=43783196</link><dc:creator>sannysanoff</dc:creator><comments>https://news.ycombinator.com/item?id=43783196</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43783196</guid></item><item><title><![CDATA[New comment by sannysanoff in "An election forecast that’s 50-50 is not “giving up”"]]></title><description><![CDATA[
<p>That is indeed the case. Perhaps I should have clarified that my comments are directed at the current political system of the United States. The purpose of my message was to highlight that there is a certain opposing force at play, one that is shifting the working system – specifically, the US electoral system – towards a range of diminished effectiveness. Essentially, the rules are being manipulated in such a way that while they may technically function, the fundamental objectives are still being undermined. These objectives, as outlined in the US Constitution, are to ensure domestic tranquility and promote the general welfare. It is necessary to address this systemic vulnerability, as this issue is becoming increasingly relevant in many places.</p>
]]></description><pubDate>Tue, 11 Mar 2025 13:34:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=43332285</link><dc:creator>sannysanoff</dc:creator><comments>https://news.ycombinator.com/item?id=43332285</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43332285</guid></item><item><title><![CDATA[New comment by sannysanoff in "An election forecast that’s 50-50 is not “giving up”"]]></title><description><![CDATA[
<p>It seems to be a matter of indifference to many that a persistent societal division of fifty-fifty is symptomatic of a profound societal schism. This is because such a division, in any configuration, maximizes the number of those who are discontented. As it is written, "A house divided against itself cannot stand." To my mind, this matter is of far greater significance than any secondary, tangible processes that may be occurring in consequence.<p>Furthermore, the mechanisms that ensure the mathematical expectation of electoral outcomes to hover around a fifty-fifty split — a phenomenon observable in many nations — are fundamentally economic in nature. Both factions commit resources to the electoral contest to secure a mere one percent advantage, as such is the foundational principle of democracy: a majority of fifty-one percent prevails.<p>Thus, economic factors — for an electoral campaign is, in essence, a contest of capital—having, in effect, subverted the very system of democratic elections, inevitably lead to the decay of nations that religiously adhere to the mathematics of a single percentage point as the sole criterion of legitimacy. In optimizing for democratic representation, social stability and equilibrium have been forfeited.<p>It is akin to the psychological paradox: "I am correct, and all acknowledge it, yet why do I not experience contentment?" It is because one has optimized for correctness — or in the context of elections, for fairness and representativeness — rather than for overall well-being. Such is the predicament inherent in the pursuit of a mere fifty-one percent majority.</p>
]]></description><pubDate>Tue, 11 Mar 2025 11:09:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=43331256</link><dc:creator>sannysanoff</dc:creator><comments>https://news.ycombinator.com/item?id=43331256</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=43331256</guid></item></channel></rss>