<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: rml</title><link>https://news.ycombinator.com/user?id=rml</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Sun, 21 Jun 2026 09:18:56 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=rml" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by rml in "How I am deeply integrating Emacs"]]></title><description><![CDATA[
<p>This is a very good feature/workflow based intro<p>As the years go by one realizes that even these “features” like Org, Dired, etc are just illusions in some sense. They’re just Elisp code someone else wrote and put a name on. You can take or leave them or write your own code that changes/advises/customizes them.<p>It’s all up to you. You don’t need a blessed “plugin” architecture, some PM at IntelliJ’s permission etc<p>At some point one realizes the “visual shell” nature of Emacs. Every single piece of text on screen can be programmed to “mean something” (see also: “recognizers” from human interface research) and have actions taken on it either by the editor itself, or external processes / scripts you call with a command. If it’s common enough, make a key binding. It’s your house, do what you want<p>Depending on how you set up your environment, you may never have to look at text again that you do not have this level of power over. You are no longer at the mercy of “application developers”<p>I’ve been using it since 2005. Guess how many of 2005’s popular editors even still exist<p>My recommendation to anyone trying to actually learn is start with the full vanilla config, weird default keybindings, etc, go through the built in tutorials, and only add things to your config that you write and understand yourself. Understand it in its own terms. The plethora of packages, etc have “cool features” but impede learning by adding mountains of complex dependencies that are opaque to the beginner and cause confusion IMO</p>
]]></description><pubDate>Thu, 06 Nov 2025 19:34:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=45839299</link><dc:creator>rml</dc:creator><comments>https://news.ycombinator.com/item?id=45839299</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45839299</guid></item><item><title><![CDATA[New comment by rml in "I used standard Emacs extension-points to extend org-mode"]]></title><description><![CDATA[
<p>If you want to learn how Org mode works, start by reading outline.el<p>then read Dominik's outline-magic.el<p>then see how far you can get with your own customizations on top of that to augment, e.g. plain markdown text<p>you may find you're doing well at that point and don't need to deal with the 100k+ line beast that is Org, nor its transitive dependencies<p>at that point you will really understand (that part of) Emacs, and will no longer see Org as "a discrete thing", but just "some code someone else wrote" that you can take or leave</p>
]]></description><pubDate>Mon, 15 Sep 2025 16:08:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=45251403</link><dc:creator>rml</dc:creator><comments>https://news.ycombinator.com/item?id=45251403</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45251403</guid></item><item><title><![CDATA[New comment by rml in "Amish men live longer"]]></title><description><![CDATA[
<p>see also:<p><a href="https://pmc.ncbi.nlm.nih.gov/articles/PMC1695733/" rel="nofollow">https://pmc.ncbi.nlm.nih.gov/articles/PMC1695733/</a></p>
]]></description><pubDate>Mon, 15 Sep 2025 16:05:36 +0000</pubDate><link>https://news.ycombinator.com/item?id=45251368</link><dc:creator>rml</dc:creator><comments>https://news.ycombinator.com/item?id=45251368</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45251368</guid></item><item><title><![CDATA[New comment by rml in "New Mexico is first state in US to offer universal child care"]]></title><description><![CDATA[
<p>In the book 'Double Entry' the author explains that the guy who created GDP was actually in favor of having family caregiving and household activities accounted for in GDP. If that had happened, different world</p>
]]></description><pubDate>Tue, 09 Sep 2025 15:45:37 +0000</pubDate><link>https://news.ycombinator.com/item?id=45183648</link><dc:creator>rml</dc:creator><comments>https://news.ycombinator.com/item?id=45183648</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45183648</guid></item><item><title><![CDATA[New comment by rml in "The sisters “paradox” – counter-intuitive probability"]]></title><description><![CDATA[
<p>For something this small we can enumerate all the cases (this is a Scheme version of the Mathematica `Tuples` function)<p><pre><code>    > (list-tuples '(B G) 2)
    ((B B) (B G) (G B) (G G))
</code></pre>
3 cases have at least one girl<p>of those 3 cases, 1/3 are both girls</p>
]]></description><pubDate>Thu, 28 Aug 2025 15:41:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=45053596</link><dc:creator>rml</dc:creator><comments>https://news.ycombinator.com/item?id=45053596</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=45053596</guid></item><item><title><![CDATA[New comment by rml in "Paradise Lost"]]></title><description><![CDATA[
<p>This kind of writing is what I browse the internet for.</p>
]]></description><pubDate>Thu, 31 Jul 2025 02:29:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=44741787</link><dc:creator>rml</dc:creator><comments>https://news.ycombinator.com/item?id=44741787</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44741787</guid></item><item><title><![CDATA[New comment by rml in "Windsurf employee #2: I was given a payout of only 1% what my shares where worth"]]></title><description><![CDATA[
<p>The classic article on this topic is <a href="https://steveblank.com/2019/04/10/startup-stock-options-why-a-good-deal-has-gone-bad/" rel="nofollow">https://steveblank.com/2019/04/10/startup-stock-options-why-...</a><p>Nothing has substantially improved since the article was written. With “forever private” companies it’s only gotten worse.</p>
]]></description><pubDate>Sat, 26 Jul 2025 22:03:30 +0000</pubDate><link>https://news.ycombinator.com/item?id=44697280</link><dc:creator>rml</dc:creator><comments>https://news.ycombinator.com/item?id=44697280</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=44697280</guid></item><item><title><![CDATA[New comment by rml in "Dispatches from the farm upstate"]]></title><description><![CDATA[
<p>FWIW the stuff about dealing with the Feds only applies out west AFAICT<p>There’s lots of rural land in the northeast where you can basically just go to your small town hall and get whatever done without much hassle. Or just don’t tell anyone and nobody cares (if it’s actually rural enough)<p>Also in the northeast many areas are depopulating due to folks aging out, so there is land available (as long as you avoid the popular NYC and BOS-adjacent areas)<p>Fair warning you will need to accept that other people may not share all of your “correct” opinions but they will probably still be kind enough to help you IRL with a flat tire or digging your truck out etc :-)</p>
]]></description><pubDate>Mon, 05 Aug 2024 16:10:55 +0000</pubDate><link>https://news.ycombinator.com/item?id=41162642</link><dc:creator>rml</dc:creator><comments>https://news.ycombinator.com/item?id=41162642</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=41162642</guid></item><item><title><![CDATA[New comment by rml in "Internet Archive forced to remove 500k books after publishers' court win"]]></title><description><![CDATA[
<p>> And even when IA temporarily stopped limiting the number of loans to provide emergency access to books during the pandemic—which could be considered a proxy for publishers' fear that IA's lending could pose a greater threat if it became much more widespread—IA's expert "found no evidence of market harm."<p>I feel that IA erred very badly in lifting the one-to-one correspondence that is at the heart of "controlled digital lending" (<a href="https://controlleddigitallending.org" rel="nofollow">https://controlleddigitallending.org</a>).  It is frankly annoying that they did that, and then still purport to be doing CDL, even though the CDL website clearly states the 1:1 "owned-to-loaned" ratio is a key part of the CDL platform.<p>For the record I'm extremely pro CDL, but I feel the IA did not do any favors to the CDL movement with this boneheaded "activist" implementation of CDL</p>
]]></description><pubDate>Sat, 22 Jun 2024 02:54:57 +0000</pubDate><link>https://news.ycombinator.com/item?id=40755859</link><dc:creator>rml</dc:creator><comments>https://news.ycombinator.com/item?id=40755859</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40755859</guid></item><item><title><![CDATA[New comment by rml in "We've been put in the vibe space"]]></title><description><![CDATA[
<p>I find this to be true in many areas of life, esp. in recent years.  My perfect trail running shoe was made in 2006.  My perfect car was made in 2008.  Those products are no longer made, and the new ones are not "better", just "different". (Often worse tbh)<p>We get to buy the product someone is willing to make, not the product we want to buy.  The product is often not "better" for the user, but for the company making it. And as a user you can just FEEL it dripping from every new thing.  It's not appealing at all to me.<p>There must be an economics term that describes this.  I've taken to calling it "supply side rules everything around me"</p>
]]></description><pubDate>Tue, 07 May 2024 15:35:38 +0000</pubDate><link>https://news.ycombinator.com/item?id=40287010</link><dc:creator>rml</dc:creator><comments>https://news.ycombinator.com/item?id=40287010</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40287010</guid></item><item><title><![CDATA[New comment by rml in "Tips on how to structure your home directory (2023)"]]></title><description><![CDATA[
<p>I'm glad people keep writing these "how I set up my computer" articles because it's how I learned almost everything I know - thanks to the kindness of internet strangers.<p>anyway here's my idiosyncratic setup, would probably be terrible for anyone else:<p>everything goes in Dropbox (paid 2TB account)<p>my Dropbox subfolders are organized by broad filetype, e.g.<p><pre><code>    ~/Dropbox/{Code,Documents,Videos,Downloads}
</code></pre>
on a new computer I install Dropbox and create symlinks, e.g.<p><pre><code>    /home/rml/.emacs   -> /home/rml/Dropbox/Code/personal/config/dot-emacs
    /home/rml/.Xinitrc -> /home/rml/Dropbox/Code/personal/config/Xinitrc
    /home/rml/Code     -> /home/rml/Dropbox/Code
    ... etc
</code></pre>
Because I pretty much live in Emacs and manage files using `dired` I have lots of Elisp code and custom keybindings that take me to my most-used files and directories.  For other "tier 2" things I either know where they are due to long habit (most stuff doesn't move or it's obvious which folder e.g. a PDF will be in) or I use a combination of `M-x locate` and `M-x grep` which works pretty well.<p>Re: concerns about "where apps store stuff" I mostly don't care because everything I care about is in Dropbox.  If it's something I use a lot, its config is symlinked in wherever the app expects it to be - otherwise everything is a few `dired` commands away.<p>(On macOS `M-x locate` can be configured to use the builtin `mdfind` which works <i>very</i> well for finding things IME. I think it's what drives Spotlight.)<p>At some point I may set up 'recoll' and all that but so far I haven't needed it so I haven't paid the complexity tax of trying to configure that across Windows/macOS/Linux vs. good old locate/grep<p>FWIW because I limit myself to a "standard" set of apps (Emacs, browser, VLC, PDF/image viewer) the above setup works pretty much the same across Windows/macOS/Linux, so most of the time I don't have to care that much which system I'm typing into</p>
]]></description><pubDate>Fri, 19 Apr 2024 15:15:27 +0000</pubDate><link>https://news.ycombinator.com/item?id=40087860</link><dc:creator>rml</dc:creator><comments>https://news.ycombinator.com/item?id=40087860</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40087860</guid></item><item><title><![CDATA[New comment by rml in "Show HN: Purl – A Simple Tool for Text Processing"]]></title><description><![CDATA[
<p>more examples (from <a href="https://softpanorama.org/Scripting/Perlorama/One-liners/tom_christiansen_one-liners.shtml" rel="nofollow">https://softpanorama.org/Scripting/Perlorama/One-liners/tom_...</a>)<p><pre><code>    # add first and penultimate columns
    perl -lane 'print $F[0] + $F[-2]'

    # print just lines 15 to 17
    perl -ne 'print if 15 .. 17' *.pod

    # in-place edit of *.c files changing all foo to bar
    perl -p -i.bak -e 's/\bfoo\b/bar/g' *.c

    # command-line that prints the first 50 lines (cheaply)
    perl -pe 'exit if $. > 50' f1 f2 f3 ...

    # delete first 10 lines
    perl -i.old -ne 'print unless 1 .. 10' foo.txt

    # change all the isolated oldvar occurrences to newvar
    perl -i.old -pe 's{\boldvar\b}{newvar}g' *.[chy]

    # command-line that reverses the whole file by lines
    perl -e 'print reverse <>' file1 file2 file3 ....

    # find palindromes
    perl -lne 'print if $_ eq reverse' /usr/dict/words

    # command-line that reverse all the bytes in a file
    perl -0777e 'print scalar reverse <>' f1 f2 f3 ...

    # command-line that reverses the whole file by paragraphs
    perl -00 -e 'print reverse <>' file1 file2 file3 ....

    # increment all numbers found in these files
    perl i.tiny -pe 's/(\d+)/ 1 + $1 /ge' file1 file2 ....

    # command-line that shows each line with its characters backwards
    perl -nle 'print scalar reverse $_' file1 file2 file3 ....

    # delete all but lines between START and END
    perl -i.old -ne 'print unless /^START$/ .. /^END$/' foo.txt

    # binary edit (careful!)
    perl -i.bak -pe 's/Mozilla/Slopoke/g' /usr/local/bin/netscape

    # look for dup words
    perl -0777 -ne 'print "$.: doubled $_\n" while /\b(\w+)\b\s+\b\1\b/gi'

    # command-line that prints the last 50 lines (expensively)
    perl -e 'lines = <>; print @@lines[ $#lines .. $#lines-50' f1 f2 f3 ...</code></pre></p>
]]></description><pubDate>Mon, 15 Apr 2024 15:27:20 +0000</pubDate><link>https://news.ycombinator.com/item?id=40041841</link><dc:creator>rml</dc:creator><comments>https://news.ycombinator.com/item?id=40041841</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=40041841</guid></item><item><title><![CDATA[New comment by rml in "Close to the Machine: Technophilia and its discontents"]]></title><description><![CDATA[
<p>Your comment makes me think you may enjoy the science fiction book 'A Canticle for Leibowitz' by Walter M. Miller (perhaps you already have :-})<p>It's set at a monastery in the desert post nuclear apocalypse, where scribes copy wiring diagrams and store artifacts like partially destroyed circuit boards without understanding what they are / how they work.  And it builds from there.</p>
]]></description><pubDate>Tue, 22 Aug 2023 14:45:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=37223496</link><dc:creator>rml</dc:creator><comments>https://news.ycombinator.com/item?id=37223496</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37223496</guid></item><item><title><![CDATA[New comment by rml in "Surprise computer science proof in combinatorics"]]></title><description><![CDATA[
<p>automatic conversion to web page available at <a href="https://ar5iv.labs.arxiv.org/html/2302.07211" rel="nofollow">https://ar5iv.labs.arxiv.org/html/2302.07211</a><p>(more info about the conversions at <a href="https://ar5iv.labs.arxiv.org" rel="nofollow">https://ar5iv.labs.arxiv.org</a>)</p>
]]></description><pubDate>Tue, 21 Mar 2023 15:52:25 +0000</pubDate><link>https://news.ycombinator.com/item?id=35247955</link><dc:creator>rml</dc:creator><comments>https://news.ycombinator.com/item?id=35247955</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=35247955</guid></item><item><title><![CDATA[New comment by rml in "Ask HN: What sub $200 product improved your 2022"]]></title><description><![CDATA[
<p>Thanks for this.  40s and starting to have pain in the big toe joint.  Getting some better shoes and spacers as a result.  Seriously, thank you!</p>
]]></description><pubDate>Fri, 06 Jan 2023 20:17:23 +0000</pubDate><link>https://news.ycombinator.com/item?id=34280404</link><dc:creator>rml</dc:creator><comments>https://news.ycombinator.com/item?id=34280404</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=34280404</guid></item><item><title><![CDATA[New comment by rml in "Hush, a modern shell scripting language"]]></title><description><![CDATA[
<p>Folks interested in this design space may enjoy reading about scsh (A Scheme Shell)<p>From the scsh paper (<a href="https://web.archive.org/web/20081010222846/http://www.scsh.net/docu/scsh-paper/scsh-paper-Z-H-4.html" rel="nofollow">https://web.archive.org/web/20081010222846/http://www.scsh.n...</a>):<p>> I have designed and implemented a Unix shell called scsh that is embedded inside Scheme. I had the following design goals and non-goals:<p>> The general systems architecture of Unix is cooperating computational agents that are realised as processes running in separate, protected address spaces, communicating via byte streams. The point of a shell language is to act as the glue to connect up these computational agents. That is the goal of scsh. I resisted the temptation to delve into other programming models. Perhaps cooperating lightweight threads communicating through shared memory is a better way to live, but it is not Unix. The goal here was not to come up with a better systems architecture, but simply to provide a better way to drive Unix. {Note Agenda}<p>> I wanted a programming language, not a command language, and I was unwilling to compromise the quality of the programming language to make it a better command language. I was not trying to replace use of the shell as an interactive command language. I was trying to provide a better alternative for writing shell scripts. So I did not focus on issues that might be important for a command language, such as job control, command history, or command-line editing. There are no write-only notational conveniences. I made no effort to hide the base Scheme syntax, even though an interactive user might find all the necessary parentheses irritating. (However, see section 12.)<p>> I wanted the result to fit naturally within Scheme. For example, this ruled out complex non-standard control-flow paradigms, such as awk's or sed's.</p>
]]></description><pubDate>Tue, 26 Apr 2022 15:29:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=31168717</link><dc:creator>rml</dc:creator><comments>https://news.ycombinator.com/item?id=31168717</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=31168717</guid></item><item><title><![CDATA[New comment by rml in "What have we lost? [video]"]]></title><description><![CDATA[
<p>If you are into Lisp Machines, this talk on Symbolics by Kalman Reti (who worked there) is worth watching (1h):<p><a href="https://www.youtube.com/watch?v=OBfB2MJw3qg" rel="nofollow">https://www.youtube.com/watch?v=OBfB2MJw3qg</a><p>If you only have 15 minutes, he gives another demo here:<p><a href="https://www.youtube.com/watch?v=o4-YnLpLgtk" rel="nofollow">https://www.youtube.com/watch?v=o4-YnLpLgtk</a><p>He has another video where he does some actual hacking (smooth scrolling of sheet music for display while playing an instrument):<p><a href="https://www.youtube.com/watch?v=sfgjL7EUHZ8" rel="nofollow">https://www.youtube.com/watch?v=sfgjL7EUHZ8</a></p>
]]></description><pubDate>Wed, 07 Apr 2021 16:05:35 +0000</pubDate><link>https://news.ycombinator.com/item?id=26726886</link><dc:creator>rml</dc:creator><comments>https://news.ycombinator.com/item?id=26726886</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=26726886</guid></item><item><title><![CDATA[New comment by rml in "Remote work means anyone can take your job"]]></title><description><![CDATA[
<p>It's not.  It's a pretty typical smaller ("tier 2"?) city in the northeastern US, with several colleges and plenty of trees, parks, and museums.  It's the seat of state government, and has quite a few really nice neighborhoods of old houses, as well as some classic brownstones, if you prefer that sort of thing.  It's fairly diverse, and has good nightlife due to the large college-aged population (at least, it used to).<p>Unfortunately it is fashionable (among people who choose not to live in them) to talk about non "tier-1" cities as if they are "shitholes", but IMO the quality of life people experience is probably higher on average: less crowding, more open space, more housing, cleaner, less expensive.</p>
]]></description><pubDate>Thu, 28 May 2020 16:57:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=23339584</link><dc:creator>rml</dc:creator><comments>https://news.ycombinator.com/item?id=23339584</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=23339584</guid></item><item><title><![CDATA[New comment by rml in "Bringing GNU Emacs to native code [video]"]]></title><description><![CDATA[
<p>I've had good luck on big (multi-GB) SQL dumps, which often have very long lines, with<p><a href="https://github.com/m00natic/vlfi" rel="nofollow">https://github.com/m00natic/vlfi</a></p>
]]></description><pubDate>Mon, 04 May 2020 16:43:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=23070230</link><dc:creator>rml</dc:creator><comments>https://news.ycombinator.com/item?id=23070230</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=23070230</guid></item><item><title><![CDATA[New comment by rml in "Google’s AMP is a gilded cage"]]></title><description><![CDATA[
<p>Wow, the pages on your site load so quickly they're finished rendering before I even start reading the article.  Thanks for sharing this.  Very cool.</p>
]]></description><pubDate>Mon, 28 Nov 2016 05:39:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=13053633</link><dc:creator>rml</dc:creator><comments>https://news.ycombinator.com/item?id=13053633</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=13053633</guid></item></channel></rss>