<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: _TwoFinger</title><link>https://news.ycombinator.com/user?id=_TwoFinger</link><description>Hacker News RSS</description><docs>https://hnrss.org/</docs><generator>hnrss v2.1.1</generator><lastBuildDate>Wed, 28 Oct 2026 16:40:46 +0000</lastBuildDate><atom:link href="https://hnrss.org/user?id=_TwoFinger" rel="self" type="application/rss+xml"></atom:link><item><title><![CDATA[New comment by _TwoFinger in "Software disenchantment"]]></title><description><![CDATA[
<p>Not PP, but I used to work for an automotive subcontractor company, and I've heard a few stories about fatal car accidents that lead to lawsuits, which proved that the car design was the reason for the accident, yet the car manufacturer just payed "damages" to the relatives (or settled out of court, maybe) and never bothered to change the design. Apparently, it was more expensive to reconfigure their production pipelines than pay for an occasional death.<p>That said, this is probably what any big enough company would do. So your point still stands, maybe car manufacturers are no different.</p>
]]></description><pubDate>Mon, 23 Oct 2023 20:10:48 +0000</pubDate><link>https://news.ycombinator.com/item?id=37990890</link><dc:creator>_TwoFinger</dc:creator><comments>https://news.ycombinator.com/item?id=37990890</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37990890</guid></item><item><title><![CDATA[Pagan Origins of the Christ Myth]]></title><description><![CDATA[
<p>Article URL: <a href="https://www.pocm.info/">https://www.pocm.info/</a></p>
<p>Comments URL: <a href="https://news.ycombinator.com/item?id=37972813">https://news.ycombinator.com/item?id=37972813</a></p>
<p>Points: 13</p>
<p># Comments: 4</p>
]]></description><pubDate>Sun, 22 Oct 2023 04:26:21 +0000</pubDate><link>https://www.pocm.info/</link><dc:creator>_TwoFinger</dc:creator><comments>https://news.ycombinator.com/item?id=37972813</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37972813</guid></item><item><title><![CDATA[New comment by _TwoFinger in "Words that deserve wider use"]]></title><description><![CDATA[
<p>Your Indonesian is pretty good, sir. Have an upvote.</p>
]]></description><pubDate>Sat, 14 Oct 2023 14:24:59 +0000</pubDate><link>https://news.ycombinator.com/item?id=37880687</link><dc:creator>_TwoFinger</dc:creator><comments>https://news.ycombinator.com/item?id=37880687</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37880687</guid></item><item><title><![CDATA[New comment by _TwoFinger in "Forty years of programming"]]></title><description><![CDATA[
<p>For prose, it probably is the best, but have you tried it for programming?
I find that my keyboard usage is dominated by text-editing shortcuts and punctuation characters. Not sure how well stenography would fit in.<p>On a similar note, though, I have amassed a "dictionary" of 50+ <i>bash aliases</i>, 1-, 2-, or 3-characters long.<p>Some "theories" emerged as well - I have groups of aliases whose names follow a pattern and depend on what subcommand (e.g. in git or kubectl) or options are included in the alias. This is good for mnemonics.<p>For extremely common commands, I ditch mnemonics and just choose a 1- or 2-character name that has no connection to the name of the command. For example r='cd -'. I chose "r" simply because it's on the opposite side of Enter, and I get to alternate my hands. (I guess this is a "brief".)<p>What got me into the alias hoarding business was the discovery of complete-alias[1] and, later, the progcomp_alias bash option. Turned out, you don't have to choose between aliases and programmable completion, you can have both.<p>[1]: <a href="https://github.com/cykerway/complete-alias">https://github.com/cykerway/complete-alias</a></p>
]]></description><pubDate>Mon, 09 Oct 2023 11:33:43 +0000</pubDate><link>https://news.ycombinator.com/item?id=37819268</link><dc:creator>_TwoFinger</dc:creator><comments>https://news.ycombinator.com/item?id=37819268</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37819268</guid></item><item><title><![CDATA[New comment by _TwoFinger in "Forty years of programming"]]></title><description><![CDATA[
<p>Just want to mention sticky keys[1], as it seems often overlooked.<p>Instead of holding the modifier key(s) when activating a shortcut, you can press and release each modifier sequentially.<p>It does come with some of the fancy keyboards' firmware, but is also a built-in feature of all major OS-es. You can get it without spending a single dollar.<p>[1]: <a href="https://www.emacswiki.org/emacs/StickyModifiers" rel="nofollow noreferrer">https://www.emacswiki.org/emacs/StickyModifiers</a></p>
]]></description><pubDate>Mon, 09 Oct 2023 09:29:01 +0000</pubDate><link>https://news.ycombinator.com/item?id=37818584</link><dc:creator>_TwoFinger</dc:creator><comments>https://news.ycombinator.com/item?id=37818584</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37818584</guid></item><item><title><![CDATA[New comment by _TwoFinger in "Making Hard Things Easy"]]></title><description><![CDATA[
<p>Emphasis on "also".<p>If you optimize a shell feature for general-purpose programming, interactivity will suffer (increased verboseness, usually), and vice versa.<p>If we try to bring shells closer to the real PLs, instead of just using those PLs when it matters, we'll lose some of things that made shells attractive in the first place.</p>
]]></description><pubDate>Sat, 07 Oct 2023 06:31:16 +0000</pubDate><link>https://news.ycombinator.com/item?id=37799490</link><dc:creator>_TwoFinger</dc:creator><comments>https://news.ycombinator.com/item?id=37799490</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37799490</guid></item><item><title><![CDATA[New comment by _TwoFinger in "Making Hard Things Easy"]]></title><description><![CDATA[
<p>> So, bash is a programming language, right?<p>No, it's a shell that lets you interact with the OS.
All the "clasical" UNIX shells were created with interactive use in mind and optimized for it,
but happen to be good enough at <i>batch processing</i>[1] to be conflated with programming languages (mostly these days, like, 40+ years later).<p>The focus on interactive use is the reason you don't have to<p>- surround command argument lists with parentheses<p>- put commas between command arguments<p>- put semicolons at EOL<p>- surround string literals with quotes (unless the content interferes with the syntax, like, sigils or IFS chars, and you want to escape it).<p>- surround variable names in braces (unless you want to use some advanced substitution)<p>- call commands to manipulate I/O; it's baked in.<p>And these are just the things that existed 40 years ago. Bash gives you so much more stuff that makes interactive use a bliss, but I'm not going to dump the man page here.<p>[1]: <a href="https://en.wikipedia.org/wiki/Batch_processing" rel="nofollow noreferrer">https://en.wikipedia.org/wiki/Batch_processing</a></p>
]]></description><pubDate>Sat, 07 Oct 2023 04:12:14 +0000</pubDate><link>https://news.ycombinator.com/item?id=37798959</link><dc:creator>_TwoFinger</dc:creator><comments>https://news.ycombinator.com/item?id=37798959</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37798959</guid></item><item><title><![CDATA[New comment by _TwoFinger in "Most demographers now predict that human population will plateau"]]></title><description><![CDATA[
<p>Ah, we are really just one smart kid away from extinction.<p>Something something boson something neutron, and the Earth goes kaboom.<p>Children can be <i>very</i> dangerous.</p>
]]></description><pubDate>Sun, 01 Oct 2023 05:56:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=37723082</link><dc:creator>_TwoFinger</dc:creator><comments>https://news.ycombinator.com/item?id=37723082</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37723082</guid></item><item><title><![CDATA[New comment by _TwoFinger in "The roots of an obscure Bourne shell error message"]]></title><description><![CDATA[
<p>> Missing semicolon.<p>It's not missing. PP is making a point about "single-command variables."</p>
]]></description><pubDate>Tue, 12 Sep 2023 03:11:19 +0000</pubDate><link>https://news.ycombinator.com/item?id=37476615</link><dc:creator>_TwoFinger</dc:creator><comments>https://news.ycombinator.com/item?id=37476615</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37476615</guid></item><item><title><![CDATA[New comment by _TwoFinger in "Fish – A friendly interactive shell"]]></title><description><![CDATA[
<p>> I had to [...] and set my shell to bash/zsh<p>Most likely a command in your script (or one source-d into it) makes an assumption about your $SHELL or login shell that is true for bash/zsh but not for fish.<p>Merely adding a shebang won't fix such a script.</p>
]]></description><pubDate>Sat, 26 Aug 2023 14:57:29 +0000</pubDate><link>https://news.ycombinator.com/item?id=37273460</link><dc:creator>_TwoFinger</dc:creator><comments>https://news.ycombinator.com/item?id=37273460</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37273460</guid></item><item><title><![CDATA[New comment by _TwoFinger in "Antonmedv/walk: Terminal file manager"]]></title><description><![CDATA[
<p>> having to retype the whole filepath when using mv can lead to errors.<p>If you use bash, or any readline-based command line (in emacs mode):<p><pre><code>  mv long.file.name |^W^Y^Y
</code></pre>
results in<p><pre><code>  mv long.file.name long.file.name |
</code></pre>
(| is the cursor).
Then, you just edit the second copy of the filename.
BTW, M-C-b/M-C-f will move by one whole "argument" (even if it contains escaped spaces).<p>edit: and if your filename has spaces, replace the ^W above with M-C-b C-k</p>
]]></description><pubDate>Tue, 22 Aug 2023 22:47:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=37229594</link><dc:creator>_TwoFinger</dc:creator><comments>https://news.ycombinator.com/item?id=37229594</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37229594</guid></item><item><title><![CDATA[New comment by _TwoFinger in "The Physics of Readability"]]></title><description><![CDATA[
<p>> we effectively have infinite vertical space<p>It's only infinite if you scroll for infinitely long <i>time</i>.<p>I think the author's point was about how much code you have on the screen at any given instant. Without having to scroll or jump.</p>
]]></description><pubDate>Mon, 07 Aug 2023 03:27:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=37029725</link><dc:creator>_TwoFinger</dc:creator><comments>https://news.ycombinator.com/item?id=37029725</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=37029725</guid></item><item><title><![CDATA[New comment by _TwoFinger in "Signal president says company will not comply with U.K. ‘mass surveillance’ law"]]></title><description><![CDATA[
<p>And to <a href="https://community.signalusers.org/" rel="nofollow noreferrer">https://community.signalusers.org/</a></p>
]]></description><pubDate>Sat, 15 Jul 2023 23:01:08 +0000</pubDate><link>https://news.ycombinator.com/item?id=36741698</link><dc:creator>_TwoFinger</dc:creator><comments>https://news.ycombinator.com/item?id=36741698</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36741698</guid></item><item><title><![CDATA[New comment by _TwoFinger in "Fast machines, slow machines"]]></title><description><![CDATA[
<p>I don't use the tiling at all.<p>I use the multiple desktops feature a lot, though. Some programs are pinned to a dedicated desktop and run all day. Others I start in (or move to, later) a numbered desktop, and switch to them by changing the desktop. Often, most of the desktops contain only one window.<p>I once used i3 and sway the right way, of course. I guess I had one too many of those programs that were not designed to work at arbitrary window sizes, added the above rule and called it a day.</p>
]]></description><pubDate>Wed, 28 Jun 2023 16:12:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=36508565</link><dc:creator>_TwoFinger</dc:creator><comments>https://news.ycombinator.com/item?id=36508565</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36508565</guid></item><item><title><![CDATA[New comment by _TwoFinger in "Fast machines, slow machines"]]></title><description><![CDATA[
<p>Just an idea, if you find yourself unable to warm up to tiling:<p><pre><code>  for_window [all] floating enable
</code></pre>
It's stupid, but I've been using this for a couple of years now.</p>
]]></description><pubDate>Wed, 28 Jun 2023 14:28:10 +0000</pubDate><link>https://news.ycombinator.com/item?id=36507003</link><dc:creator>_TwoFinger</dc:creator><comments>https://news.ycombinator.com/item?id=36507003</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36507003</guid></item><item><title><![CDATA[New comment by _TwoFinger in "Show HN: I built a website to buy and sell used clothes in Indonesia"]]></title><description><![CDATA[
<p>> If you're talking about Indonesians refererring to Indonesian in an English language context, yeah<p>yes, my only source for my previous comment was a passport control officer asking me "do you speak bahasa" at the airport :-)</p>
]]></description><pubDate>Mon, 26 Jun 2023 15:44:47 +0000</pubDate><link>https://news.ycombinator.com/item?id=36481275</link><dc:creator>_TwoFinger</dc:creator><comments>https://news.ycombinator.com/item?id=36481275</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36481275</guid></item><item><title><![CDATA[New comment by _TwoFinger in "Show HN: I built a website to buy and sell used clothes in Indonesia"]]></title><description><![CDATA[
<p>Indonesians themselves call it "bahasa". I guess the user you responded to is either Indonesian, or has been there.</p>
]]></description><pubDate>Mon, 26 Jun 2023 15:05:15 +0000</pubDate><link>https://news.ycombinator.com/item?id=36480543</link><dc:creator>_TwoFinger</dc:creator><comments>https://news.ycombinator.com/item?id=36480543</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36480543</guid></item><item><title><![CDATA[New comment by _TwoFinger in "Moving fast with the core Vim motions"]]></title><description><![CDATA[
<p>Your command doesn't sort, only inverses the initial order. It's equivalent to<p><pre><code>  :1,5 !tac</code></pre></p>
]]></description><pubDate>Thu, 15 Jun 2023 05:39:44 +0000</pubDate><link>https://news.ycombinator.com/item?id=36336820</link><dc:creator>_TwoFinger</dc:creator><comments>https://news.ycombinator.com/item?id=36336820</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=36336820</guid></item><item><title><![CDATA[New comment by _TwoFinger in "CLI tricks every developer should know"]]></title><description><![CDATA[
<p>They mention history expansion, but only briefly.
It is a favorite of mine.
Learning the full syntax probably doesn't give good ROI these days of mice, but I think the following shortcut notations are worth knowing:<p>Everything but the last argument:<p><pre><code>  % git add -p dir1
  % !!- dir2
  git add -p dir2
</code></pre>
Everything but the command:<p><pre><code>  % textadept a b c
  % vim !*
  vim a b c
</code></pre>
Substitute a string (once):<p><pre><code>  % echo helo world
  % ^lo^llo
  echo hello world
</code></pre>
First and last arguments:<p><pre><code>  % diff path/a/file path/b/file
  % diff !$ !^
  diff path/b/file path/a/file
</code></pre>
A cool detail is that even a long quoted string containing spaces is considered a single argument, and it all works fine.<p>Also, the bangs can be anywhere on the command line, even inside other kinds of expansion; history expansion has highest priority of all.<p>Edit: the above is csh-style history expansion, available in bash as well.</p>
]]></description><pubDate>Mon, 01 May 2023 12:11:22 +0000</pubDate><link>https://news.ycombinator.com/item?id=35771693</link><dc:creator>_TwoFinger</dc:creator><comments>https://news.ycombinator.com/item?id=35771693</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=35771693</guid></item><item><title><![CDATA[New comment by _TwoFinger in "CLI tricks every developer should know"]]></title><description><![CDATA[
<p>I think M-C-f and M-C-b do that.</p>
]]></description><pubDate>Mon, 01 May 2023 11:34:09 +0000</pubDate><link>https://news.ycombinator.com/item?id=35771396</link><dc:creator>_TwoFinger</dc:creator><comments>https://news.ycombinator.com/item?id=35771396</comments><guid isPermaLink="false">https://news.ycombinator.com/item?id=35771396</guid></item></channel></rss>