That was unexpected. Could take things a bit further with chapters or elements that have fun with lyrics, "Phreak on a Leash" etc.
Speaking of KoRN: I never got into the band, but they featured in the excellent Woodstock 99 documentary which is as much a commentary on cultural and demographic shifts as it is about music.
I've had some Issues with KornShell. I wrote a quick unit Counting script, kind of a Dirty hack to try it out. "Let's Get This Party Started," I thought as I hit enter on my keyboard, eager to see the units print on my screen. But it couldn't even count to "4 U". Instead, it printed "./count.sh[3]: syntax error: `(' unexpected" and just stopped Dead. I tried again, thinking It's Gonna Go Away. Nope, No Way. Am I Going Crazy? Somebody Somewhere has to know what's going wrong. Before long, I realized I had to Wake Up and face the truth that KornShell is very particular about whitespace. Those of you who only write in modern languages and environments, I Wish You Could Be Me for just a moment to realize how nice you have it today and how you don't have to put up with Trash that can't parse without whitespace.
Edit: Issues, Counting, Dirty, Let's Get This Party Started, 4 U, Dead, It's Gonna Go Away, No Way, Am I Going Crazy?, Somebody Somewhere, Wake Up, I Wish You Could Be Me, Trash
When I write code with whitespace enforced, I feel my brain slowly falling away from me. But with Python being so popular, I wonder if people look at me like I'm a freak on a leash.
As a fan of Lisp/Scheme, I find it's a bit like parens: if one's editor mostly takes care of it (auto de/indenting) then it's not that bad, otherwise it can get annoying quickly.
The teams/projects I've been part of the last couple of years make heavy use of Nim, which is whitespace delimited. My editor is Emacs and lsp-mode + nimlsp (latter is the LSP server; lsp-mode also leverages nim-mode) do an okay-ish job, but not a great one to be honest. Some days I really wish for curly braces.
I caught the first show on this tour, in Springfield, MO.
It's honestly amazing how well Davis in particular has held up. I first saw them in concert in ~2003, and if anything I think their show's energy has increased.
It's weird being at a Korn concert in 2022 with my teen daughter. There is a lot of that these days; we were far from the only ones.
Nostalgia acts have always been a draw for families. Back in the 90’s the parents would bring the kids to see Crosby Stills and Nash, that sort of thing.
my guess would be that the majority of metal fans who also run Arch will probably have significant overlap with the section of the metal fan base which does not consider nu metal to be metal in the first place
I remember being 12 years old in 1996 looking for Korn websites on AltaVista and found that a solid half of the links being returned were ksh guides. Maybe that's how I turned into such a Unix geek.
The other day I was generating a fictional character using [1] and the random tables dictated that their superpower was activated by eating corn (just the husks). Corn husks are definitely an underrated superfood.
Perhaps you can be designing transonic airfoils in your korn shell, in which case you can use the Korn equation to help analyze their performance (created by the same dave korn).
I designed a keyboard case for the Corne keyboard shaped like a corn husk... I was going to buy yellow keycaps to look like corn kernels against the green case, but my preferred keycap profile wasn't available in yellow.
When I worked on Fiber wifi and sat on the second floor (after it was renovated with a "movement" theme, but still kind of dungeony), David sat across the aisle from me. I didn't know who he was at first, and just thought of him as "perhaps the only extant person my parents' age who listened to the same music I did in middle school".
(And when Fiber's headcount got substantially cut and I needed to find a new team, I ended up working in "Kornistan", so named because the org was run by David's son Jeff.)
68 year old engineers have usually retired long ago by choice. Engineering pays well. There aren't many 65-70+ year old engineers who are even still interested in working, let alone keeping up with modern technologies.
Anyone sticking around that long at a famous company is almost certainly in it for the love of all things computers, not because they need the money.
I had to go to Wikipedia to see if ksh was named after the band,¹ but it turns out that it was created by David Korn and not a metal fan.
⸻
1. Not completely inconceivably given that Python gets its name from Monty Python. I'm thinking there are other similarly fandom-based namings of popular tech tools (the only other one that comes to mind is the occasional assertion that Knuth's choice of TeX was to honor his alma mater CalTech²).
2. I created a short-lived California TeX Users Group in the late 80s/early 90s which we dubbed CTUG after being warned off naming it CalTeX (but being at Harvey Mudd College³ at the time, I was disinclined to name it that anyway).
3. Which, of course, summons to mind one of my favorite pranks⁴ in the HMC-CalTech rivalry in which the freeway sign identifying the exit for CalTech and Pasadena Community College had parentheses added so it read “CalTech (Pasadena Community College)”
4. Most people would consider the Fleming cannon theft to be the pinnacle of the pranks (when I had my pre-frosh campus visit, the cannon had just arrived on the Mudd campus), but I think the freeway sign gets points for being more creative.
is ksh still relevant today? at my first job i worked on IBM AIX systems that only supported ksh, and all the old timers were convinced that bash was inferior
I can almost guarantee in some dark corner there is an organization still using ksh.
I know because I have encountered this for different, otherwise defunct shells.
I've worked at a shop with a lot of legacy code and a very fragile build environment. The myriad of scripts that source scripts that source other scripts to produce a working build were all written in KSH - as well as the majority of the tools to set up an environment to actually run the software. Since these scripts were intended to be sourced, adding a shebang doesn't solve the issue at all.
Fortunately, zsh can operate in ksh emulation mode [1] so I was able to leverage zsh while I was there to some extent.
The system I worked on there is still being actively used and developed today and still relies on a fragile set of ksh scripts to build and run in certain environments.
One reason is that its `getopts` makes it very easy to provide full short and long option processing with help messages; script boilerplate is something like
usage=$'
[-1]
[a:a-long-option?Help text]:[number]
[b:bool-long-option?Helpful text]
'
while getopts "$usage" c
do
typeset opt_$c="${OPTARG:-1}"
done
Another is that the final command of a pipeline runs in the shell environment, so that you can do things like
bunch |
of |
commands |
while read some stuff
do
RESULTS[$some]="$stuff"
done
and then use the $RESULTS. That is fairly painful in bash; basically you have to wrap the entire rest of the script in { … }.
I was an avid reader of RHEL release notes during 6.x/7.x times and I was surprised to see ksh package not only being shipped but being actively maintained and getting several bug fixes at every point release.
My first experience with the korn shell was 20 years ago while trying to prove myself worthy of root on the Solaris boxes that hosted the LDAP servers (iPlanet, of course) I was responsible for. I'd done a lot of Windows shell scripting before that, and had installed Red Hat Linux to a beat up Packard Bell in 1995, but was floored by the seemingly limitless capabilities of Unix userland utilities under the control of ksh. At first I made due with the man pages, but soon started studying Aeleen Frisch's classic Essential System Administration, and finally got hold of the O'Reilly animal book for Korn. I eventually moved on to bash after helping convince my company to get on RHEL, but those formative experiences with ksh will stay with me forever. Tech is my second career, and has only really paid off in the last 10, so I'm among those over 60 guys who will probably stick around past full retirement age (here in the US for those in my age cohort that's 67).
One of the earliest UNIX legend stories I remember being told was this one about a Korn-like shell being announced in Windows, with Korn himself asking some pointed questions about compatibility: https://wiki.c2.com/?KornShellStory
(Remember those crazy days of MS Windows claiming POSIX compatibility so it could win some government bid?)
82 comments
[ 0.25 ms ] story [ 128 ms ] threadSpeaking of KoRN: I never got into the band, but they featured in the excellent Woodstock 99 documentary which is as much a commentary on cultural and demographic shifts as it is about music.
[1] Not really.
I counted 11 KoRn songs in there. (If counted correctly)
Edit: Issues, Counting, Dirty, Let's Get This Party Started, 4 U, Dead, It's Gonna Go Away, No Way, Am I Going Crazy?, Somebody Somewhere, Wake Up, I Wish You Could Be Me, Trash
Thank you. Shine on you crazy WABBLABA DOOOOOO BADIBA DIBBA GO!s
The teams/projects I've been part of the last couple of years make heavy use of Nim, which is whitespace delimited. My editor is Emacs and lsp-mode + nimlsp (latter is the LSP server; lsp-mode also leverages nim-mode) do an okay-ish job, but not a great one to be honest. Some days I really wish for curly braces.
It's honestly amazing how well Davis in particular has held up. I first saw them in concert in ~2003, and if anything I think their show's energy has increased.
It's weird being at a Korn concert in 2022 with my teen daughter. There is a lot of that these days; we were far from the only ones.
Hope the show was good!
Although, thinking about how to explain these jokes to anyone else is difficult. I'll just leave my chuckling confined to my office.
Inside my shell I wait and bleed.
1. https://www.drivethrurpg.com/product/222468/Heroes-Unlimited...
(And when Fiber's headcount got substantially cut and I needed to find a new team, I ended up working in "Kornistan", so named because the org was run by David's son Jeff.)
Anyone sticking around that long at a famous company is almost certainly in it for the love of all things computers, not because they need the money.
⸻
1. Not completely inconceivably given that Python gets its name from Monty Python. I'm thinking there are other similarly fandom-based namings of popular tech tools (the only other one that comes to mind is the occasional assertion that Knuth's choice of TeX was to honor his alma mater CalTech²).
2. I created a short-lived California TeX Users Group in the late 80s/early 90s which we dubbed CTUG after being warned off naming it CalTeX (but being at Harvey Mudd College³ at the time, I was disinclined to name it that anyway).
3. Which, of course, summons to mind one of my favorite pranks⁴ in the HMC-CalTech rivalry in which the freeway sign identifying the exit for CalTech and Pasadena Community College had parentheses added so it read “CalTech (Pasadena Community College)”
4. Most people would consider the Fleming cannon theft to be the pinnacle of the pranks (when I had my pre-frosh campus visit, the cannon had just arrived on the Mudd campus), but I think the freeway sign gets points for being more creative.
https://wiki.c2.com/?KornShellStory
Fortunately, zsh can operate in ksh emulation mode [1] so I was able to leverage zsh while I was there to some extent.
The system I worked on there is still being actively used and developed today and still relies on a fragile set of ksh scripts to build and run in certain environments.
[1] https://zsh.sourceforge.io/Doc/Release/Invocation.html#Compa...
One reason is that its `getopts` makes it very easy to provide full short and long option processing with help messages; script boilerplate is something like
Another is that the final command of a pipeline runs in the shell environment, so that you can do things like and then use the $RESULTS. That is fairly painful in bash; basically you have to wrap the entire rest of the script in { … }.So yes, somebody still must've been using it.
I guess it's time to refresh some memories from the past, Spotify.
(Remember those crazy days of MS Windows claiming POSIX compatibility so it could win some government bid?)