Letters

Why I've Been Reading LJ Since 1996

The January 2019 issue of LJ came to me while I was in my Summer Holidays. Since 1996, I've been an LJ subscriber—maybe I'm even the oldest and farthest (both conditions together) subscriber. Many times I've asked myself why I'm so loyal to the magazine. Well, the January 2019 issue came with an answer.

First was Bryan Lunduke and his comments on the issue. His story about the first Linux installation made me remember my own story. I was in the second year of a PhD course on Astrophysics at Universidad de Buenos Aires (Argentina). At that time (early 1990s), all we had were PCs with Windows for personal use. The Institute had a VAX mostly used for atomic physics calculations, and it bought a SUN for Astronomical data analysis (using IRAF and AIPS) and an IBM for number-crunching (the same atomic physics). These two worked with UNIX. This was my first introduction to the UNIX world.

A young researcher came back to the Institute from the US carrying all his experience with the Internet and UNIX world. So, after some discussion, we concluded that we needed a change of paradigm. The PCs should also work with UNIX, and I helped, with my modest knowledge of UNIX, to make the move. We discovered that the Institute bought a commercial UNIX distribution for PCs that never was installed. The distro came in 5 1/4 floppy diskettes! We installed the basic command-line tools, but the X system never worked. I remember long afternoons trying to find the magic numbers to configure it. We even tried to discover some of them using an oscilloscope. It never worked.

Another young scientist, also from the US, told us about a "UNIX-like" (later we learned its name was Linux) operating system. We decided to give it a try. It was on a bunch (~30) of 3.5" diskettes. The first try we failed; the booting diskette did not pass some of the tests. But then somebody came with another one, and this time everything went smoothly. The best part was the X system. We chose an imitation of the Solaris windows manager, and it worked out of the box. We were completely euphoric. What never worked even after one week of hard work with a commercial system, took a couple hours with this free system. It was love at first sight. I will never forget that SLS distribution with kernel 0.99 PL 12. I never abandoned Linux in my life. Even when my children had their own PCs, I emphatically recommended that they install Linux. Now, there is only one (out of six) double-boot PC at home; the rest are pure Linux.

Then, in the same LJ issue, Doc Searls' gave his views about our non-gravity non-geographical internet world. He tells us that in his first visit to LA, he went to Mount Wilson. I had the opportunity to visit Pasadena in July 2018 during a COSPAR meeting. With three students, I rented a car and drove to Mount Wilson and had a fascinating and charming visit to the old facilities there: the 100" reflector, where Hubble discovered the expansion of the universe, and the 150' heliostat with which Hale demonstrated that sunspots are magnetic structures in essence. As a solar physicist, visiting this old monster of the solar field with my graduate students was very stimulating.

So, that's it. Linux is a community. It's my community, where I find people with similar life stories, and so besides computing, I can share other interests. And Linux Journal is one (the best?) way for the community to be linked. Thank you for the good job. You'll have my support if you keep going this way.

—Guigue

Doc Searls replies: Thanks, Guillermo. Everything we do here is about satisfying, keeping and growing our community. And it really helps when we find, in essays such as the one I wrote about Mt. Wilson, that a non-Linux topic strikes a responsive chord.

Re: "Put Down the Pipe"

Some of the sample shell commands in Kyle Rankin's "Put Down the Pipe" (in the January 2019 issue) are incorrect:


cat file | grep "foo"
...
grep "foo" file

A more exact replacement would be:


grep "foo" < file

which, like the cat ... command, causes grep to read from its standard input. They're nearly equivalent, because grep takes a filename as an argument, but it's good to know the more general solution for commands that behave differently.

Also:


sort < file1 file2 | uniq

This won't work. The < redirection operator cannot take two filenames as an argument. The command is actually valid, but file2 will be passed as an argument to sort. It's equivalent to this:


sort file2 < file1 | uniq

This command:


find ./ -name "*.mp3" -type f -print0 | rm -f

also doesn't work. The find command prints a list of filenames to stdout (separated by null characters due to the -print0 argument). The rm command does not take a list of filenames from standard input. You'd have to use xargs -0.

And then there's this:


find ./ -name "*.mp3" -type f -print0 | echo

Similarly, the echo command does not read from stdin; you'd have to use xargs -0. (Incidentally, I'd use just "." rather than "./". Adding a "/" to ensure that you're referring to a directory can be useful, but "." is always a directory.) Then:


find ./ -name "*.mp3" -type f -print0 | xargs echo
find ./ -name "*.mp3" -type f -print0 | xargs rm -f

You need to use xargs -0.

—Keith Thompson

"Way, Way Outside!"

Marcel Gagné's article titled "Linux and the Multiverse", published in the January 2019 issue, featured a subsection titled "Way, Way Outside!" about PonyOS. It is always an honor to see my creations featured in media publications, especially in magazines. As I say on my website, and as Marcel reiterates in the article (though perhaps with a tone that may not convey sincerity), PonyOS is not a Linux distribution—its kernel and core applications instead are derived from my real hobby OS project (ToaruOS), where they were written from scratch by myself and a handful of contributors over nearly a decade. PonyOS is, of course, a joke—a special release, updated once a year on an equally special day. As it's been several months since the last April Fools, much has happened in the upstream project, and as such, the latest release of PonyOS is a sort of time capsule, capturing a bygone era for both projects—rather nostalgic to me! PonyOS and its progenitor ToaruOS are not alone in the hobby OS world—there's plenty of other great projects worth checking out like Sortix, Redox and Kolibri—all with different goals and histories. Thanks again for the article, and I hope you're looking forward to the release of PonyOS 6 in a few months—there's a lot in store for it!

PS. There is a typo in the article: "Mimix" should be "Minix", the OS famed for being the one Linus himself was running while writing Linux.

—K. Lange

Marcel Gagné replies: First and foremost, while I poke fun, I assure you that my intentions were sincere. I have the utmost respect for anyone who puts in as much work as went into PonyOS, even if it's done for laughs. For those laughs, I thank you, again sincerely. Linux Journal is about Linux, but it's also about the nearly infinite world of open source where I see Linux as a kind of poster child. When planning to write about Linux distributions, I chose to wrap up my exploration by stepping outside the mainstream Linux box to other open-source OS projects, which is how PonyOS came to be featured. Thanks for the heads up on Sortix, Redox and Kolibri. I definitely will check them out, but I think I'll start with your own project, ToaruOS. I also will keep my eyes open for PonyOS 6.

As for the "Mimix/Minix" typo, I blame that one on Discord. (My kid made me watch tons of My Little Pony: Friendship is Magic.)

Addendum to Zack Brown's "Non-Child Process Exit Notification Support"

Thanks for writing about this work! I just want to add that the project is ongoing, and that I plan to refresh my non-child wait work after Christian Brauner's pidfd_kill patches land. My current thinking is that a system call returning an exit handle might be a viable alternative to a new readdir-visible proc file.

One unresolved difficulty is figuring out who should be able to read a process's exit status, as in the thread here. Do just parents have access? All processes, as apparently in FreeBSD? Same user only? Root?

Still, the general idea is that you should be able, somehow, to get a file descriptor from which you read(2) a siginfo_t containing exit status (like for waitid(2)), and I'm looking forward to adding this capability to Linux one way or another.

—Daniel Colascione

Re: "All Your Accounts Are Belong to Us"

Although Shawn Powers' article "All Your Accounts Are Belong to Us" was written in 2017, I think it is still very valid.

I just wanted to thank you for the article and at the same time recommend "KeepassXC". It is an open-source fork of the well known Keepass/KeepassX.

Once again, thanks for the article.

—Guillermo Vazquez

Shawn Powers replies: Wow, I'd forgotten all about that article! The stars aligned, and your email came just in time for the Security issue, wherein I cover the topic of password managers in depth. KeeppassXC is indeed one of the managers I highlight, and if I weren't so entrenched in the LastPass world (which, looking back, was the case in 2017's article too), it might be the option I'd choose. Nevertheless, thank you for the great suggestion and the perfect timing!

From Social Media

In response to "If Your Privacy Is in the Hands of Others Alone, You Don't Have Any" by Doc Searls

Christine Hall @BrideOfLinux: Being an old-fashioned human being takes a lot of work in a world where most people are willing cyborgs.

Not very bright and things just got out of hand. @dluippold: Interesting ideas, but a quick note. A person can't be a controller of her own data, because you can't process your own data, and you need to identify the controller/processor to appropriate liability for violations. Great read though, I'm going to share with my team.

In response to "The State of Desktop Linux 2019" by Bryan Lunduke

Chan Lai Sun: I am a Linux user for 20 years and I can say that the it's best PC OS. It's FOC, and it's preloaded with much useful software. It doesn't need anti-virus software, and the OS update has never caused interruptions to PC operations.

Sameer Verma: 2019—the year of the Desktop!

Send LJ a Letter

We'd love to hear your feedback on the magazine and specific articles. Please write us here or send email to ljeditor@linuxjournal.com.

Photos

Send your Linux-related photos to ljeditor@linuxjournal.com, and we'll publish the best ones here.