COVID-19 and Open Offices

There’s not many beneficial outcomes from the current COVID-19 crisis but The New York Times suggests one possibility: the end of open plan offices. The Times doesn’t say that open plan offices will go away because of the pandemic but does note that they are no longer tenable in their present form.

As Irreal has preached repeatedly, open plan offices are a monstrous scam perpetrated on luckless employees—but somehow never their bosses—in the name of all sorts of fairy tail benefits but are really about saving money. COVID-19 will make it difficult for management to maintain the fantasy that such arrangements are a net benefit. What will happen instead?

No one knows, of course, but the Times says that at a minimum workers will be isolated by “sneeze guards” (tall translucent barriers between desks) that look an awful lot like cubicles. Another, better, alternative is to institutionalize working from home for many or most employees. That has the benefits of reducing the number of people crowded into an office and also saves money on rental space. The transition to work-from-home hasn’t been entirely smooth but for most it’s shown remarkably good results. Many, if not all, employees like it and feel more productive and efficient. There’s every reason to hope that work-from-home will be continue to be popular with companies after the current crisis and that the detestable open plan offices will fade into oblivion.

Posted in General | Tagged , | Leave a comment

Zettelkasten Explained

I’ve finished reading Sönke Ahrens’ How to Take Smart Notes and, as promised, I’ve started exploring Jethro Kuan’s Org-roam as a way of implementing my own Zettelkasten. I’ve downloaded and installed Org-roam and am currently going over the documentation.

In the mean time, I’ve been doing some further reading on the Kettelkasten concept. I’m really excited about the idea and am looking forward to starting my own Zettelkasten. If you think the concept may be helpful in your own work or would like to find out, David B. Clear has an excellent article that explains the Zettelkasten idea and compares it to other ways of taking notes. He even shows you how to implement an index-card-based Zettelkasten similar to Luhmann’s original.

I don’t want to deep dive into the details of a Zettelkasten in this post but the idea that makes it work is the idea of linking notes that are somehow related. Rather than keeping the notes in some sort of hierarchy, they’re kept in a flat store and linked together by concept. Thus a given note might be linked to several other notes and the links might represent different concepts. The closest familiar idea is probably tags, which the Zettelkasten idea also supports, but tags are too coarse a discriminator. The goal is to start with an idea and be able to find all the notes that are relevant to that idea. You can think of the result as a graph where the notes are the nodes and edges are concepts.

That’s a simplified version, of course, so you should really take a look at Clear’s article if you want a more substantial explanation.

Posted in General | Tagged , , | Leave a comment

Red Meat Friday: iPhones and Sanity

The other day, I wrote about Aaron Ogle’s experience in de-Googling his workflow. Although I didn’t mention it, he wrote that part of his de-Googling efforts were to replace his Android phone with an iPhone. It was, he said—undoubtedly tongue-in-cheek—an insane decision that probably cost him 99% of his readers. I thought at the time it was an odd thing to say.

I’m a paid up member of the Apple Cult so suspicions about my objectivity are warranted but I just can’t see Ogle’s point. A case can be made, I think, that iPhones are technically superior even though on any given feature the iPhones and Android phones often trade places for top billing. But put that aside: No reasonable person can doubt Apple’s story on security and privacy is better. The point of Ogle’s journey was to increase his privacy, which is why I don’t understand his remarks on the iPhone.

I’m bringing this up now because of this horrifying story on “Xiaomi Recording Millions Of People’s ‘Private’ Web And Phone Use.” Xiaomi, for its part, isn’t the least bit repentant. When they’re not flat out denying the charges—despite overwhelming, documented evidence—their attitude pretty much boils down to “so what?” You can mock Apple all you want but you know this wouldn’t be happening with the iPhone.

Sure, iPhones like every computer based product have bugs that occasionally lead to data leaks but with Apple, it’s a bug not a feature. Arguably, if you’re concerned about privacy, you shouldn’t have a smartphone at all. I wouldn’t go that far—you all know how I love and depend on my iPhone—but one thing for sure, if you care about your privacy, you shouldn’t have an Android phone and you certainly shouldn’t have any phone or software developed by Xiaomi.

Editorial Afterword:
After I wrote this but before I published it, Josh Rollins commented on my original post that replacing the Android phone would be the hardest part of de-Googling. If I read his comment correctly, he thinks there’s no replacement for the Android and its ecosystem. That goes to show that even though I think the iPhone and its ecosystem is obviously superior (a no-brainer, really) reasonable people can disagree. Of course, that’s what Red Meat Fridays are for.

UPDATE [2020-05-09 Sat 11:54]: should → shouldn’t

UPDATE [2020-06-01 Mon 12:45]: Read → Red

Posted in General | Tagged , | Leave a comment

Learning Emacs with Macros 2–5

After I wrote about the first Learning Emacs with Macros video, I kept an eye out for subsequent episodes because I really liked the first. I didn’t see any but in the latest edition of Sacha’s Emacs News I saw that Subramanian was already up to episode 5. I watched episodes 2 through 5 and can recommend them too.

At first, learning keyboard macros and Emacs at the same time seems odd. How can n00bs possibly understand macros at the same time they’re learning basic Emacs editing? That was my first thought but then I realized that most people learning Emacs are not like my Aunt Millie. Almost all of them are probably developers with experience using another editor and bring a certain sophistication to the endeavor. By combining elementary Emacs actions with keyboard macros, Subramanian helps the new Emacser understand one reason why learning Emacs is worthwhile: it makes it easy to perform complex actions.

These videos carry on with the same base file that the first one produced. Subramanian shows how to perform various transformations on the file using macros and the new Emacs commands that each video introduces. In Video #5, he shows how to generate the original file from scratch using macro counters.

If you’re an experienced Emacs user but you’re not used to using keyboard macros or use them only in an elementary way, you’ll probably learn some useful techniques from these videos. And they’re enjoyable to watch. Definitely recommended.

Posted in General | Tagged | Leave a comment

Vivek Haldar on How Unix Won

Vivek Haldar has an interesting essay on How Unix Won and it why it may now be entering its end phase. From a technical standpoint, the main reason Unix fared so well is that it was written by programmers for programmers. After AT&T pulled out of the Multics project, Ken, DMR, and the others who would go on to build Unix were missing the interactive, programmer-centric environment they’d been used to so the Skunk Works project that later became Unix was born. Programmers everywhere embraced it as a comfortable and productive environment and shepherded it into their companies.

The political reason Unix became preeminent was that, being a monopoly, AT&T was prohibited from selling anything that wasn’t “telephone service” so they basically gave Unix away for the price of the media. Haldar reports that for tax purposes AT&T reported Unix as industrial waste. I hadn’t heard that before but you have to love the irony.

The reason for Unix’s impending eclipse, Haldar says, is a change in hardware capabilities. While it used to be that the CPU was orders of magnitude faster than I/O, that has largely been reversed and server installations, where Linux reign supreme, are interested in getting the most I/O speed they can. The need to maximize I/O throughput argues against the Unix abstraction model. Haldar discusses this situation in one of his read a paper videos.

If you’re a Unix head—and if you’re using Linux or macOS, you probably are—take a look at Haldar’s post. It’s an interesting and entertaining read.

Posted in General | Tagged | Leave a comment

Minibuffer Help

Just a quickie today. Marcin Borkowski (mbork) has a useful post on providing help in the minibuffer. It turns out that you can always type Ctrl+h when responding to a prompt in the minibuffer. If you have some code prompting for input using read-string you can specify what that help will be, either as a string or some other form based on context.

Take at look at mbork’s post for the details. If you’re taking input from the minibuffer it’s a good thing to know.

Posted in General | Tagged | Leave a comment

Compiling Elisp to Native Code

Even if you don’t obsess over Emacs like, ahem, some people, you’ve probably heard about the project to compile Elisp to native code. The idea is that the Elisp byte code would be compiled to GCC IR (intermediate representation) code and then fed to GCC to compile into native code for whatever platform Emacs is running on. This has exciting implications for Emacs’ performance, of course, but it also opens the possibility of replacing some of the C code with Elisp.

Andrea Corallo gave a talk on the project at the 2020 European Lisp Symposium that discusses how the compilation works and where they are right now. It’s currently a feature branch on the Emacs git repository. This is definitely an exciting development for Emacs end users and developers alike. I’ve been trying to maintain my composure about this project in case it fizzled out but now it appears to be a real thing and perhaps we’ll see it appear in Emacs as soon as Emacs 28.

Corallo’s talk is interesting and well worth watching. It’s just short of 27 and a half minutes so you’ll have to put some time aside. The slides for the talk are also available so don’t worry about trying to absorb everything on them during the talk.

Posted in General | Tagged | Leave a comment

One Person’s Take on Dark Mode

This doesn’t quite rise to the level of a Red Meat Friday item—at least I don’t think it does—but some folks do take the light-mode/dark-mode debate very seriously. Over at Gizmodo, Victoria Song reignites the debate with an article telling us to Stop Using Dark Mode.

Song’s article differs from the others that I’ve written about in that she doesn’t rely on scientific opinion for her conclusions, just her own observations. She loves dark mode and was overjoyed when iOS started supporting it systemwide. She switched all her apps to dark mode and felt that it was much easier on her eyes. But then she noticed that she was having difficulty reading her Slack channels. She found it hard to distinguish between channels and found herself having to reread some DMs.

The problems with Slack went away when she switched it back to light mode. Then she tried switching everything back to light mode and found that it was easier to read and retain her emails and other content. She also found that she didn’t miss the dark mode aesthetic as much as she thought she would.

Long before the light-mode/dark-mode squabble became a thing, I was firmly in the light mode camp. I could never understand why anyone would prefer a dismal dark theme. It wasn’t until later that I learned that I was holding a minority opinion. Of course, as I’ve said before, it doesn’t matter. It a matter of choice and there’s no correct answer. Except mine.

Posted in General | Tagged | Leave a comment

Five Underappreciated Reasons to Appreciate Emacs

John Cook is a Mathematician and an Emacs user. He recently posted some thoughts on Emacs that serve as a nice coda to my previous post on the usefulness of Emacs for scientists. If you read that post you know that many of the commenters were mathematicians so Cook’s thoughts fit right in—sort of.

I say “sort of” because his reasons for appreciating Emacs are not what you usually see. His post consists almost entirely of a short list of reasons he appreciates Emacs so I don’t want to step on his post by listing them all but the first is “It doesn’t track me” and the last is “It doesn’t stop working if my internet connection stops working.” They’re all like that. A good summary is that Emacs runs locally and is completely under your control.

That’s a recurring theme here at Irreal. I’m usually ranting about control of your data when I take up that theme but control of your tools and environment is also important and helps with controlling your data.

Cook’s list are not the usual reasons we think of for using Emacs but they are advantages and shouldn’t be underestimated. They’re another example of how Emacs works for you instead of the other way around.

Posted in General | Tagged | Leave a comment

Comments on the Usefulness of Emacs for Scientists

Over at the Emacs subredit, gmu_nu says he’s a graduate student in Physics and wonders about the usefulness of Emacs for scientists who aren’t in CS. The resulting comments are an interesting compendium of the ways that scientists make use of Emacs’ capabilities. Most of the replies are from mathematicians and physicists but Biology and Mechanical Engineering are also represented.

One theme that’s mentioned in many of the answers is that the usefulness of Emacs really took off for the respondent when they discovered Org mode. That’s something that almost every Emacs user who doesn’t restrict their Emacs use to coding has found to be true. Another often repeated theme is that Emacs is a single tool that can be used for many different jobs and that’s beneficial because you have only one tool to master rather than many.

If, like me, you enjoy reading about how others use Emacs, take a look at the answers to gmu_nu’s question. I’m sure you’ll find them interesting.

Posted in Programming | Tagged | Leave a comment