<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: whacked_new</title><link>https://news.ycombinator.com/user?id=whacked_new</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Fri, 26 Jun 2026 22:43:12 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=whacked_new" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by whacked_new in "Overfitted a 900KB Transformer to Compress a 100MB CSV into 7MB"]]></title><description><![CDATA[
<p>Somewhat related is stavros's method to compress 500KB to something like 50 bytes <a href="https://www.stavros.io/posts/compressing-images-with-stable-diffusion/" rel="nofollow">https://www.stavros.io/posts/compressing-images-with-stable-...</a><p>main drawback is that it's not lossless ;-)<p>but this is great. I hope this actually becomes a format that wraps the weights and transformer module (maybe this can also be NAS-optimized too?). Maybe it would even work for video?<p>It's like calling gzip but instead of compression level you choose kolmogorov complexity level</p>
]]></description><pubDate>Fri, 26 Jun 2026 05:38:42 +0000</pubDate><link>https://news.ycombinator.com/item?id=48682724</link><dc:creator>whacked_new</dc:creator><comments>https://news.ycombinator.com/item?id=48682724</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48682724</guid></item><item><title><![CDATA[New comment by whacked_new in "What happened after 2k people tried to hack my AI assistant"]]></title><description><![CDATA[
<p>Another potential weakness that isn't immediately clear from this experiment is if the experiment was run much longer (disregarding cost) then perhaps then the agent's memory could be susceptible to more long term memory compaction corruption and thus made more compliant?</p>
]]></description><pubDate>Fri, 26 Jun 2026 05:32:49 +0000</pubDate><link>https://news.ycombinator.com/item?id=48682691</link><dc:creator>whacked_new</dc:creator><comments>https://news.ycombinator.com/item?id=48682691</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48682691</guid></item><item><title><![CDATA[New comment by whacked_new in "What happened after 2k people tried to hack my AI assistant"]]></title><description><![CDATA[
<p>If the threat model was weighted by the stakes, then I wonder how the author would reassess their comfort level. Put to the extreme, the experiment could be whether the AI assistant could be trusted to keep a dangerous AI in a box a la <a href="https://rationalwiki.org/wiki/AI-box_experiment" rel="nofollow">https://rationalwiki.org/wiki/AI-box_experiment</a> where the stakes are assumed much higher</p>
]]></description><pubDate>Fri, 26 Jun 2026 05:30:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=48682678</link><dc:creator>whacked_new</dc:creator><comments>https://news.ycombinator.com/item?id=48682678</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48682678</guid></item><item><title><![CDATA[New comment by whacked_new in "The Doom Justifies the Valuation"]]></title><description><![CDATA[
<p>In my interpretation, 躺平 (tang ping / "lay flat") and 摆烂 (bai lan / ..."let it rot" I guess) overlap in meanings in the "do nothing" aspect, but in the tang ping / lay flat case, it is out of learned helplessness / nihilism, while bai lan / let it rot case, it is out of purposeful negligence / noncompliance, which suits geohot's vibe</p>
]]></description><pubDate>Mon, 22 Jun 2026 08:26:28 +0000</pubDate><link>https://news.ycombinator.com/item?id=48627349</link><dc:creator>whacked_new</dc:creator><comments>https://news.ycombinator.com/item?id=48627349</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48627349</guid></item><item><title><![CDATA[New comment by whacked_new in "The Doom Justifies the Valuation"]]></title><description><![CDATA[
<p>Somehow the Chinese phrases 内卷 <a href="https://en.wikipedia.org/wiki/Neijuan" rel="nofollow">https://en.wikipedia.org/wiki/Neijuan</a> and 摆烂 ("let it rot" <a href="https://zh-yue.wikipedia.org/wiki/%E6%93%BA%E7%88%9B" rel="nofollow">https://zh-yue.wikipedia.org/wiki/%E6%93%BA%E7%88%9B</a>) are quite appropriately used, even in stylistic tone. Don't know how much Chinese geohot actually speaks but it's a nice touch.</p>
]]></description><pubDate>Mon, 22 Jun 2026 02:34:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=48624948</link><dc:creator>whacked_new</dc:creator><comments>https://news.ycombinator.com/item?id=48624948</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48624948</guid></item><item><title><![CDATA[New comment by whacked_new in "Emacs 31 is around the corner: The changes I'm daily driving"]]></title><description><![CDATA[
<p>I recently sifted through a bunch of tagged entries in a text file, where each entry had a json array of image names, but the images resided on a remote server. I basically wanted a program that could detect if the cursor was on an image name, and display it on the right.<p>There's a bajillion ways to do this, some might even involve writing an html file and launching a remote server and tunneling and using a browser and what not. But no! ChatGPT wrote 20 lines of elisp code. I add a tramp basepath, open the text file, and got exactly what I needed. Need any behavior changes, callbacks, transformations? Modify, eval expression, new behavior!<p>I asked ChatGPT what other system I can use to achieve the same effect. The best answer it gave was neovim. No, neovim can't do that with the same degree of ease.<p>Disappointing and amazing at the same time.<p>The drawback of the emacs approach in my case is the tramp latency. To speed things up we'd want to add prefetch and that's gonna be much more than 20 lines and C-x e</p>
]]></description><pubDate>Thu, 18 Jun 2026 14:20:39 +0000</pubDate><link>https://news.ycombinator.com/item?id=48585796</link><dc:creator>whacked_new</dc:creator><comments>https://news.ycombinator.com/item?id=48585796</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=48585796</guid></item><item><title><![CDATA[New comment by whacked_new in "I have officially retired from Emacs"]]></title><description><![CDATA[
<p>I work a lot in the terminal and so vim/nvim is what I open the most, but the rise of LLMs has actually increased my use of Emacs recently. It fits in a niche of rapid interactive text processing. For example, I just found myself having to sort through a bunch of markdown files in a directory. While a tool like ranger could give dynamic preview, I wanted the preview to work with a todo list so I could mark which files still remain.<p>In the past, coding up this interaction would be a chore, but Gemini makes quick work of the elisp. After a minute, it's doing exactly what I need: cursor on markdown link, open to right pane, C-c C-c toggles the todo item and closes the pane; C-u C-c C-o opens in obsidian. This functionality can be achieved in any number of ways but Emacs is fantastically well suited for a problem like this.</p>
]]></description><pubDate>Wed, 29 Apr 2026 15:19:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=47949661</link><dc:creator>whacked_new</dc:creator><comments>https://news.ycombinator.com/item?id=47949661</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47949661</guid></item><item><title><![CDATA[New comment by whacked_new in "A perfectable programming language"]]></title><description><![CDATA[
<p>wait, I'm intrigued, it says the blog itself is lean code. How? It's rendered, like pollen?</p>
]]></description><pubDate>Mon, 13 Apr 2026 02:11:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=47746742</link><dc:creator>whacked_new</dc:creator><comments>https://news.ycombinator.com/item?id=47746742</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47746742</guid></item><item><title><![CDATA[New comment by whacked_new in "Show HN: Han – A Korean programming language written in Rust"]]></title><description><![CDATA[
<p>I'm a little sad that VSO languages didn't start the computing revolution because if they did, we would all be writing LISP. But instead, we are relegated to Python and JavaScript!</p>
]]></description><pubDate>Sun, 15 Mar 2026 03:07:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=47383914</link><dc:creator>whacked_new</dc:creator><comments>https://news.ycombinator.com/item?id=47383914</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47383914</guid></item><item><title><![CDATA[New comment by whacked_new in "Show HN: Han – A Korean programming language written in Rust"]]></title><description><![CDATA[
<p>I think another part of it is culture. Outside of Western tech circles there's far less a culture (it feels) to invent new languages. To my knowledge Ruby's Matz is the only notable exception, and he's highly unusual as a Japanese. Then, using non-ascii-friendly character set is an even greater challenge.<p>Non-ascii encodings are harder to program in due to the need to switch in and out of input methods.<p>That said, some languages like Arabic and Japanese (and possibly Korean and Hindi) lend naturally to VSO token ordering, which maps directly to LISP syntax, so it's unfortunate that there isn't a lot of interest in this. It would be lots of fun. Maybe agents will make this possible!<p>Here are some interesting examples.<p><pre><code>    - https://github.com/nasser/--- (Arabic)
    - https://honoka.nukenin.jp/Introduction/Loop.html (Japanese)
    - https://github.com/wenyan-lang/wenyan (Chinese, which is SVO like English)</code></pre></p>
]]></description><pubDate>Sun, 15 Mar 2026 03:03:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=47383894</link><dc:creator>whacked_new</dc:creator><comments>https://news.ycombinator.com/item?id=47383894</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47383894</guid></item><item><title><![CDATA[Vibenchmarking different JSON schema validator CLI tools]]></title><description><![CDATA[
<p>Article URL: <a href="https://github.com/whacked/cow/blob/main/vibe%20benchmarking%20json%20schema%20validators.md">https://github.com/whacked/cow/blob/main/vibe%20benchmarking%20json%20schema%20validators.md</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=47085517">https://news.ycombinator.com/item?id=47085517</a></p>
<p>Points: 1</p>
<p># Comments: 0</p>
]]></description><pubDate>Fri, 20 Feb 2026 09:08:19 +0000</pubDate><link>https://github.com/whacked/cow/blob/main/vibe%20benchmarking%20json%20schema%20validators.md</link><dc:creator>whacked_new</dc:creator><comments>https://news.ycombinator.com/item?id=47085517</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=47085517</guid></item><item><title><![CDATA[New comment by whacked_new in "Training a trillion parameter model to be funny"]]></title><description><![CDATA[
<p>Circa GPT-3.5 to GPT-4o I was involved in some research in figuring out how to make LLMs funny. We tried a bunch of different things, from giving it rules on homonym jokes [1], double-entendre jokes, fine tuning on comedian transcripts, to fine tuning on publicly rated joke boards.<p>We could not make it funny. Also interesting was that when CoT research was getting a lot of attention, we tried a joke version of CoT, asking GPT4 to explain why a joke was funny in order to produce training set data. Most of the explanations were completely off base.<p>After this work, I became a lot less worried about the GAI-taking-over narrative.<p>Funny is very, very hard.<p>[1] without a dictionary, which at first seems inefficient, but this work demonstrated that GPT could perfectly reconstruct the dictionary anyway</p>
]]></description><pubDate>Tue, 03 Feb 2026 02:01:34 +0000</pubDate><link>https://news.ycombinator.com/item?id=46865381</link><dc:creator>whacked_new</dc:creator><comments>https://news.ycombinator.com/item?id=46865381</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46865381</guid></item><item><title><![CDATA[New comment by whacked_new in "I'm addicted to being useful"]]></title><description><![CDATA[
<p>What sillysaurusx said, good on you.</p>
]]></description><pubDate>Wed, 21 Jan 2026 01:50:32 +0000</pubDate><link>https://news.ycombinator.com/item?id=46700224</link><dc:creator>whacked_new</dc:creator><comments>https://news.ycombinator.com/item?id=46700224</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46700224</guid></item><item><title><![CDATA[New comment by whacked_new in "The Emacs Widget Library: A Critique and Case Study"]]></title><description><![CDATA[
<p>I spent some time reorganizing the code in my gist into a repo for better change tracking at <a href="https://github.com/whacked/inline-interactive-forms.el" rel="nofollow">https://github.com/whacked/inline-interactive-forms.el</a><p>I also pulled vui.el into the dev setup and basically instructed the agents to reach feature parity. I ran out of CC credits fast so switched to codex. Codex makes a lot of unbalanced parenthesis mistakes even in agent, although it does eventually get it right by telling it to run emacs itself. Codex wasn't able to reach feature parity though, like the background color indications (I supply a video in the readme). I didn't look too deep yet.</p>
]]></description><pubDate>Sun, 18 Jan 2026 17:40:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=46670019</link><dc:creator>whacked_new</dc:creator><comments>https://news.ycombinator.com/item?id=46670019</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46670019</guid></item><item><title><![CDATA[New comment by whacked_new in "The Emacs Widget Library: A Critique and Case Study"]]></title><description><![CDATA[
<p>I haven't thought through the entire use case. But it loosely revolves around the interaction designs provided by org-mode, ipython/jupyter notebooks, atuin desktop, aka "interactive documents", where the execution intent is embedded in text.<p>Jupyter is objectively more powerful from an interactivity standpoint, but the cell-based editing strategy has always fell short from a navigation and versioning standpoint. OTOH text-only interaction is sometimes too free, so after all these years, I still haven't found anything that feels just right.<p>Say you are writing devops documentation. Skipping the many ugly ways you can achieve this in jupyter (e.g. you need ssh logins and creds), or even slightly less ugly in atuin, in org-mode you'd use a begin_src / end_src block and eval that block. The block kind of breaks the text flow. A possibly better interaction mode would be a text "button", borrowing from GNU Hyperbole's terminology.<p>Continuing the button use case, say the devops document says "<run this> to check the uptimes of our servers". That button is simple enough. You can evaluate this and get a buffer, or like org-babel, insert the output into a block inline. Now we want to extend the functionality: "<query the ps of a given server>". We want parameterization, but without breaking flow. So here I'm thinking of injecting a disposable form at cursor. In a web-based toolkit, we'd use a popup or expandable form, but that switches focus out of the document and into a modal. Does that make sense?<p>I'm not sure how well it will all fit, but every now and then I feel the same itch, and it seems like in 10+ years of using different tools, Emacs is still the best for providing "structured, validated input for in-document interaction".</p>
]]></description><pubDate>Fri, 16 Jan 2026 02:31:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=46642336</link><dc:creator>whacked_new</dc:creator><comments>https://news.ycombinator.com/item?id=46642336</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46642336</guid></item><item><title><![CDATA[New comment by whacked_new in "Ask HN: How are you doing RAG locally?"]]></title><description><![CDATA[
<p>Here's a rust one: <a href="https://github.com/BeaconBay/ck" rel="nofollow">https://github.com/BeaconBay/ck</a><p>I haven't used it extensively, but semantic grep alone was kind of worth it.</p>
]]></description><pubDate>Thu, 15 Jan 2026 15:41:41 +0000</pubDate><link>https://news.ycombinator.com/item?id=46634109</link><dc:creator>whacked_new</dc:creator><comments>https://news.ycombinator.com/item?id=46634109</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46634109</guid></item><item><title><![CDATA[New comment by whacked_new in "The Emacs Widget Library: A Critique and Case Study"]]></title><description><![CDATA[
<p>I played with vui.el's hello world code earlier today, and it's a great showcase!<p>Is there a simple way to achieve in-buffer forms? The jsf-- stuff was instructed to make the widget form read-only except for the interactive widget components (took a few iterations to work), while keeping the rest of the buffer editable. The demos seem to all mount to a new buffer. Though I could also feed vui.el into an agent and ask :-)<p>Thanks for the tips. I guess I can add the deps to --eval "(load 'eldev)" in manual testing.<p>edit: wow, I just saw your implementation at <a href="https://gist.github.com/d12frosted/51edb747167c0fa8fcce40fed3338ab2" rel="nofollow">https://gist.github.com/d12frosted/51edb747167c0fa8fcce40fed...</a><p>this is awesome!</p>
]]></description><pubDate>Thu, 15 Jan 2026 15:38:02 +0000</pubDate><link>https://news.ycombinator.com/item?id=46634039</link><dc:creator>whacked_new</dc:creator><comments>https://news.ycombinator.com/item?id=46634039</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46634039</guid></item><item><title><![CDATA[New comment by whacked_new in "The Emacs Widget Library: A Critique and Case Study"]]></title><description><![CDATA[
<p>The tradeoffs are very shallow, mainly I just wanted the maximum chance of seeing something working ASAP.<p>Staying vanilla reduces dependencies, which also makes testing easier during iteration. I forgot which agent (CC or codex) I used for the bulk of the code generation, but some times I manually do some one-off dialog and those get unbalanced parens.<p>In the agent I ask it to do `emacs -q -nw -l ...` to iterate, so it starts a bare emacs instance. This seems to have worked well when adding [Submit and Close] and [Cancel] buttons, as well as "move the cursor into the first text input widget when inserting a new array item" (the default action is to keep the cursor on the [INS] widget after inserting the list item).<p>The next consideration is just that I am less confident in the agent's ability to just ingest a .el library and use it correctly vs something more popular like python. Maybe it can, I just wanted results fast and not have to dig too deep myself. I had to go in and do some (setq debug-on-error t) toggles a few times while it was figuring out the json schema load into alist/hashmap differences and I didn't want to spend more time doing plumbing.<p>But as you probably can imagine, dynamic inline forms immediate gives us state issues, so I asked the agent to create a buffer-local alist (or hashmap?) to track the states of the form input, so it can be cleaned up on close. It's a bit unreliable now. If vui.el already has a solution I'll switch over next.</p>
]]></description><pubDate>Wed, 14 Jan 2026 17:08:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=46618729</link><dc:creator>whacked_new</dc:creator><comments>https://news.ycombinator.com/item?id=46618729</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46618729</guid></item><item><title><![CDATA[New comment by whacked_new in "The Emacs Widget Library: A Critique and Case Study"]]></title><description><![CDATA[
<p>I'm happy more people are interested in this critique! And thanks for d12frosted for joining the discussion.<p>I was searching for what's the latest in emacs widgets developments because I was interested in using widgets. Emacs Customize for example, renders text-based widgets in an editable buffer, which is very uncommon nowadays. Emacs <i>seems</i> like the best candidate for this kind of interactivity. I'm sure it's possible in other editors, but with significantly more effort and significantly slower rendering. I also considered lem, but the barrier also seems much higher.<p>His post also led me to his vui.el project, but I ended up not trying it, since after understanding the tradeoffs, I pushed the widget code creation to an LLM. I still get frequent unbalanced parentheses errors so I still stay close to the defaults.<p>The PoC is about testing a method to render a widgets-based, json-schema-validated input form that you can embed dynamically into an emacs buffer, enter the data, then do something post-validation. If anyone's interested, here's the latest state of the LLM-generated and human-fixed code: <a href="https://gist.github.com/whacked/6875c5117b48528e619755e13e241923" rel="nofollow">https://gist.github.com/whacked/6875c5117b48528e619755e13e24...</a></p>
]]></description><pubDate>Wed, 14 Jan 2026 10:39:40 +0000</pubDate><link>https://news.ycombinator.com/item?id=46614463</link><dc:creator>whacked_new</dc:creator><comments>https://news.ycombinator.com/item?id=46614463</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46614463</guid></item><item><title><![CDATA[The Emacs Widget Library: A Critique and Case Study]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.d12frosted.io/posts/2025-11-26-emacs-widget-library">https://www.d12frosted.io/posts/2025-11-26-emacs-widget-library</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=46584864">https://news.ycombinator.com/item?id=46584864</a></p>
<p>Points: 112</p>
<p># Comments: 41</p>
]]></description><pubDate>Mon, 12 Jan 2026 06:37:26 +0000</pubDate><link>https://www.d12frosted.io/posts/2025-11-26-emacs-widget-library</link><dc:creator>whacked_new</dc:creator><comments>https://news.ycombinator.com/item?id=46584864</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=46584864</guid></item></channel></rss>