Sanctum (Tom Ryder)

sanctum.geek.nz · Personal blog · on HN since 2016

Tom Ryder writes about Unix tools, Vim, shell scripting and the ed editor, plus some opinion pieces on software hosting.

What HN saysCommenters often cite his Unix as IDE series as a favorite way to work, and his ed post draws curiosity.
49HN people shared it
23linked it in comments
29stories submitted
2.1Kstory points
6 months agolast shared
2016people per year2026

Most-shared posts

  1. 1
    Unix as IDE
    12 people · 551 points · first shared 2016 · 209 comments on HN
  2. 2
    Actually using ed (2012)
    10 people · 122 points · first shared 2016 · 88 comments on HN
  3. 3
    Vim Koans
    6 people · 78 points · first shared 2018 · 3 comments on HN
  4. 4
    Vim Anti-Patterns
    5 people · 848 points · first shared 2016 · 238 comments on HN
  5. 5
    Why Not GitHub? (2017)
    4 people · 8 points · first shared 2019 · 1 comments on HN
  6. 6
    Vim Misconceptions
    2 people · 77 points · first shared 2016 · 16 comments on HN
  7. 7
    Unix as IDE
    2 people · 3 points · first shared 2017 · discussion on HN
  8. 8
    Emperor sh and the traveller
    2 people · first shared 2022
  9. 9
    Better Bash History (2012)
    1 people · 267 points · first shared 2019 · 83 comments on HN
  10. 10
    Cron best practices
    1 people · 97 points · first shared 2016 · 19 comments on HN
  11. 11
    Linux Crypto
    1 people · 12 points · first shared 2016 · 3 comments on HN
  12. 12
    GNU/Linux Crypto
    1 people · 3 points · first shared 2019 · discussion on HN
  13. 13
  14. 14
    Passing Runtime Data to Awk
    1 people · 2 points · first shared 2020 · discussion on HN
  15. 15
    Shell from vi
    1 people · 2 points · first shared 2017 · discussion on HN

What HN people wrote when they linked it

luord · 2020-09-23
My answer is in this excellent series I read a while ago: https://sanctum.geek.nz/arabesque/series/unix-as-ide/ Which, admittedly, is essentially the same as the other answers you got, but that's how I've been working for three years, since I decided to use vim exclusively. At the start, I was really tempted to install plugins, but ultimately I decided not to. Both to practice with the terminal (which has been immeasurably beneficial) and to make it as easy as possible to switch computers at the drop of a hat without losing productivity: just install vim and I'm good to go (and often not even that is required since vim comes preinstalled often enough).
stiff · 2019-02-14
For learning to get things done with Unix, I recommend the two old books "Unix Programming Environment" and "The AWK Programming Language". There are many resources to learn the various commands etc., but there is still no better place than those books to learn the "unix philosophy". This series is also good: https://sanctum.geek.nz/arabesque/series/unix-as-ide/
type0 · 2018-07-08
Great remark at the end: "they had one great disadvantage: none of them were Ken Thompson" Aside from retrocomputing is there any actual use for ed in this day and age though? https://sanctum.geek.nz/arabesque/actually-using-ed/
acgIssues · 2017-11-10
So far, Unix as IDE[1] is my favorite for all of them. Debugging is a bit of a pain sometimes, but can make it work. [1]: https://sanctum.geek.nz/arabesque/series/unix-as-ide/
waldir · 2017-05-23
After reading lots of similar anecdotes about Ed (Steven Levy's "Hackers" dedicates quite a few words to it), I was quite sure it was pretty much unusable for today's UI patterns, but also morbidly curious about how it might eventually work. Then I came across "Actually using ed"[1], which did such a great job at explaining how to use the tool that I decided to throw in my 2 cents by submitting an entry to the tldr-pages project[2]. The rendered page looks can be found on [3]. Any feedback welcome! 1. https://sanctum.geek.nz/arabesque/actually-using-ed/ 2. https://github.com/tldr-pages/tldr/pull/944 3. https://github.com/tldr-pages/tldr/blob/master/pages/common/ed.md
mananaysiempre · 2023-03-11
A young traveller came to visit Emperor Sh, and found him sitting in his sparsely furnished temple. “Emperor Sh,” he said, “I am told you are the greatest scholar of shell that the world has known.” Emperor Sh made no reply. The traveller continued. “I have come to ask your advice. I am thinking of developing a character-based graphing tool. It will interactively change the plot based on key presses. Which shell commands should I use?” “Don’t do it in shell,” said Emperor Sh, curtly. The young traveller was confused. He tried again. “Well… I am also working on a database audit script. It needs to verify that certain characters do not appear in any fields in several tables. What should—” “Don’t do it in shell,” interrupted Emperor Sh. The traveller began to despair. “I have journeyed one thousand miles, tried thirteen distributions of my operating system, and waded through hundreds of badly-written manual pages,” he cried, “and now I have finally come to Emperor Sh, the greatest shell programmer in the world, and I am told to use no shell at all! Perhaps I should do what my Python user friends told me to do, and just pipe together some scripts in venv environments!” “Good idea,” said Emperor Sh. “Do it in shell.” Enlightenment crushed down on the young traveller and he bowed to the Emperor, sobbing with reverent joy. https://sanctum.geek.nz/etc/emperor-sh-and-the-traveller.txt
hashhar · 2016-12-13
I will try to answer your questions as I have seen both sides of the fence. I initially used Visual Studio (around 2012) and really loved the power it gave me. I never felt slow or inefficient until I saw a screencast about Apache config that used vim and I was amazed to see how the person could simply jump to places he wanted. So I set out to try vim. I switched it for all my hobby work but it didn't catch on. So I went back to Visual Studio and in 2014 I thought I should give it another go. This time I started by installing the VsVim extension for Visual Studio. This is how I got good with Vim: - In the beginning (I think 2 weeks) I only focused on using the motions (word, next character, paragraph, blocks and regex motion), common commands like d, c and R. If it helps I saw a screencast (one of the Vim London meetup videos) which broke down Vim into a grammar to be thought of as "operator + count + motion". I also slowed the key repeat rate to make sure I don't hold arrow keys to move. DISABLE ARROW KEYS IN VSVIMRC. - After around 2 weeks I got comfortable with that and switched to pure Vim whenever I could. You can set up an external program to call up on the current file in Visual Studio. I also learned to touch type in the next 2 weeks so that I could reap more benefits. - After a week of moving to Vim, I started writing my vimrc with things like colorcolumn, autoindent and other simple stuff. I also installed relevant text object plugins [1]. I installed some…
Red_Tarsius · 2025-04-17
New readers might enjoy the tale of Emperor Sh and the Traveller: https://sanctum.geek.nz/etc/emperor-sh-and-the-traveller.txt
asdefghyk · 2023-11-03
THere are reasons not to host on GitHub . There are workarounds to hosting on GitHub Google words why not put software on git hub Finds https://sanctum.geek.nz/why-not-github.html OR https://www.wired.com/2015/06/problem-putting-worlds-code-github/
dotancohen · 2020-12-23
Might I be mistaken that the VIM Koans were the original? https://sanctum.geek.nz/arabesque/vim-koans/ The fine article also mentions the VIM Koans.
eatthoselemons · 2020-11-10
There is common name for that, "unix as an ide" I often point people to this blog when asked why I don't use an ide https://sanctum.geek.nz/arabesque/unix-as-ide-introduction/
RMPR · 2020-07-01
I'll argue that the IDE is Unix, not vim, I recently started and endeavour to vanilla Vim and I was baffled by what is possible even without plugins, granted I mostly work with C and a bit of Python, but one thing to consider is that most people using Vim come from an IDE background, so horse for course I guess. https://sanctum.geek.nz/arabesque/series/unix-as-ide/ Edit: Link
ljosifov · 2020-06-06
This (advanced?) vi/m tutorial I really liked and found it useful over the years https://www.ele.uri.edu/faculty/vetter/Other-stuff/vi/009-index.html. It is by Walter Alan Zintz, originally published in UnixWorld Online, dvelves into more advanced vi/m use. From https://sanctum.geek.nz/arabesque/unidex/, that itself I find a gem (e.g https://sanctum.geek.nz/arabesque/series/unix-as-ide/). Long time lurker first time poster, registered for this :-O
asicsp · 2020-03-17
Well, there are ways to use such commands on windows too, like WSL, git-bash, cygwin, etc. And, there's powershell on windows (though I haven't used it and not sure about its capabilities) As to why use shell, that depends on your use case and working environment. Shell is something like an IDE [0] where you can solve multiple tasks from single environment. You don't have to use multiple programs (window manager, text editor, IDE, etc). Since it is all text, you can save and repeat a command, share it with others, edit a previously written command, etc. This is quite different from a GUI based workflow. Personally, I find using command line more productive, but as mentioned earlier, it'll depend on the task at hand. [0] https://sanctum.geek.nz/arabesque/series/unix-as-ide/
stewartm · 2020-01-31
Getting out of telnet? Mere bagatelle compared to trying to get out of `ed` for the first time. At least Telnet attempts to tell you what to do. The defacto ed tutorial exactly predicts/describes my first encounter: https://sanctum.geek.nz/arabesque/actually-using-ed/
oftenwrong · 2018-08-22
You could actually use ed [0] or you could split the file: split data.CSV; vim x* [0] https://sanctum.geek.nz/arabesque/actually-using-ed/
a3n · 2017-03-15
Yet, it feels like a personal wiki to me. :) I think that a focus on low level tools (javascript), or on current and common implementations as the definition of wiki, is unnecessarily restrictive. I was going to "count the ways" that Miki can be considered a personal wiki. It doesn't much matter. It works for me, and I hope maybe a few others. Instead, I'll propose that Miki, and other tools like it, are in the realm of personal wiki, in a similar way that Unix is an IDE. https://sanctum.geek.nz/arabesque/series/unix-as-ide/
shabbyrobe · 2016-10-18
This might be of interest! "Actually using ed": https://sanctum.geek.nz/arabesque/actually-using-ed/
JadeNB · 2016-10-06
> One that I think is more common among intermediate, and even advanced, users is the misuse of tabs, windows, and buffers. The author addresses that, too, in https://sanctum.geek.nz/arabesque/vim-misconceptions: > The model Vim uses for [tabs and windows](https://sanctum.geek.nz/arabesque/buffers-windows-tabs) is rather different from most GUI editors, but both are supported and have been for some time.
dredmorbius · 2025-01-24
You could go back a couple of decades earlier (1960s--1980s) and point at AT&T who specifically prohibited third-party devices on their network (answering machines and even neck-rests or phone-book covers were among the prohibited items),[1] and had flatly rejected packet-switched routing as an obvious threat to their monopoly.[2] Unix itself (and Linux, Android, and MacOS) wouldn't have existed save for a 1954 consent decree which prohibited AT&T from entering the software business.[3] When the company found itself with an accidental operating system the only thing they could do was give it away for free. "From Ken with love".[4] ________________________________ Notes: 1. Partially supported here: <https://www.promarket.org/2023/02/20/when-considering-breaking-up-big-… Phone book covers was AT&T v. Winback & Conserve Program, Inc. Hush-a-Phone was an earlier case in 1956 involving a cup-like device, physical only, with no electrical or electronic components: <https://en.wikipedia.org/wiki/Hush-A-Phone_Corp._v._United_States>. 2. <https://en.wikipedia.org/wiki/Protocol_Wars#Early_computer_networking&… 3. <https://arstechnica.com/tech-policy/2011/07/should-we-thank-for-feds-f… <https://www.aeaweb.org/articles?id=10.1257/pol.20190086> and <https://pubs.aeaweb.org/doi/pdfplus/10.1257/pol.20190086> (PDF) 4. <https://sanctum.geek.nz/presentations/a-brief-history-of-unix.pdf>

Keyboard shortcuts

/Search
j kNext / previous blog
EnterOpen selected blog
vVisit the blog site
fFollow / unfollow
lSwitch grid / list view
dSwitch dark mode
g hHome
g pTop posts
g tTopics
g fFollowing
g lLiked
g yHistory
g qFAQ
EscBack / close