The Lions Book

There was a time when you couldn’t be a Unix hacker unless you had a copy of John Lions’ A Commentary On The Sixth Edition Unix Operating System. It was supposed to be restricted to holders of a Unix license but was nevertheless copied and passed around. Many Unix hackers had six or seven deep copies of copies.

The book itself contains the complete source of the V6 Unix kernel along with Lions’ commentary on the code. For years it was, as the Jargon File points out, to only detailed description of Unix internals available outside of Bell Labs. In 1996, it was openly republished and is still available from Amazon.

Sixth Edition Unix was still simple enough that you can easily read and understand the whole thing. For that reason, it’s an excellent introduction for anyone who wants to understand Unix. Source code for even modern Unix versions is, of course, available now so someone dedicated to learning how the kernel works could start with the Lions book and go on to later versions.

I just came across an excellent on-line version of the Lions book provided by Warsus. If you’ve ever wanted to take a look at the book, here’s your chance to do so. It’s a great resource but, of course, mostly of historical value now.

Posted in General | Tagged | 6 Comments

A Multiple Cursors Use Case

Our maximal leader, John Wiegley, has posted a very nice video in which he demonstrates one of the ways that he uses Magnar Sveen’s excellent multiple cursors package. There’s more to multiple cursors than just popping up a bunch of cursors and then editing the text under them.

The TL;DR is that Wiegley wants to renumber some of the comments of the form STEP 5 but not all of them. Some of the numbers are already correct and others are references to one of the other steps. To do this he uses mc/mark-next-like-this to put a cursor on the next STEP N and mc/skip-to-next-like-this to skip the ones he doesn’t want to change. Finally, he deletes each of the numbers and uses mc/insert-numbers to renumber the STEP at each of the cursors. It’s a very nice and simple workflow. It’s nice how multiple cursors has all of the tools needed to make this so easy.

The video is only 2 minutes 53 seconds long so there’s no reason not to watch it immediately. It’s a great example of a simple but effective workflow.

Posted in General | Tagged | Leave a comment

Helpful

I haven’t paid too much attention to Wilfred Hughes’ Helpful but judging from Hughes’ latest tweet:

that may have been a mistake.

Is anyone here using it? If so, do you recommend it as a worthy addition to one’s set of packages?

Posted in General | Tagged | 1 Comment

Programmer Wisdom

Sometimes it seems more like 6 seconds, but yes:

Posted in General | Tagged | Leave a comment

After the Laptop

John C. Dvorak, in a typical piece of clickbait for which he is famous, posits that Apple will soon abandon the Mac in favor of iPads and iPhones. His arguments are silly, of course, and are artfully demolished by the Macalope who notes that Dvorak hasn’t been right about Apple since the Eisenhower administration. The Macalope’s takeaway is that Mac fans needn’t start worrying yet.

Still, there will be life after the Mac and, more generally, after the laptop (and Desktop). It’s worth asking what that that life might be like. Mike Elgan notes that today’s smart phones are already as powerful as a typical laptop—or even desktop—and predicts that they will, in fact, replace laptops in short order. He notes that there have already been attempts at this and that while they’ve generally failed, they clearly point the way forward.

This is not a new idea. Back in 2010, Eric Raymond predicted precisely the same thing: your smart phone will be your—main or only—computer and when you’re stationary you will plug in a keyboard and large display giving you essentially the same computing ergonomics that you have now. The difference is that when you leave the house or office you will take your computer with you and use the virtual keyboard and phone display.

The 2012 near-future SF novel A.I. Apocalypse predicts the same thing. In the novel, smart phones have completely replaced today’s conventional computers. At one point in the story, young people, who have never seen a laptop, are surprised at how clunky they are and wonder how people got any work done with them.

There are, of course, details to work out. I’m writing this on my MacBook Pro while sitting on the couch. I do a lot of my work this way and a large screen and keyboard wouldn’t be as convenient. Similarly, some folks take their laptops into meetings and wouldn’t want to try taking notes on their phone. But someone will, I’m sure, come up with an integrated screen and keyboard having approximately the same form factor as my laptop into which I can plug my phone.

This is an attractive future to me because at last I’ll always have my computer and data with me without the need to carry around a laptop in a backpack.

Posted in General | Tagged | Leave a comment

End Your List Items with a Period

Grant Rettke over at Wisdom and Wonder has helped me resolve a long standing conundrum. When I have a list

  • like
  • this

I can never decide whether or not to end each list item with a period. I can adduce compelling arguments for both choices so I’m always conflicted. Rettke says to always end a list item with a period. The reason, he says, is so that text-to-speech software will pause at the end of each list item rather than running them on.

I never use text-to-speech but I’m willing to concede that someone else reading my writing might want to for various reasons so my new rule is to end the list items with a period. Thanks for clearing that up, Grant.

Posted in General | Tagged , | 4 Comments

Four LaTeX Mistakes

From the excellent TeX Tips twitter feed I got a pointer to a useful article from John Cook. The article is about the top 4 LaTeX mistakes that Cook, a practicing mathematician, sees in books and articles. You might think that these would be esoteric fine points about typesetting but they’re actually elementary things that every \(\TeX\) and \(\LaTeX\) user should know.

The one I liked the most was the second that concerns adding a thin space before a differential. I always do this because it does look better but it never occurred to me why that is. Cook explains it simply in an “aha! moment” for me: the differential, \(dx\) say, is a single unit so you want to set it apart a bit so it doesn’t look like the product, in this case, of \(d\) and \(x\). Notice how much better

\(\int x \, dx\) looks than \(\int x dx\) does. This is actually the most technical of the errors Cook describes. The others are really elementary.

If you’re a \(\TeX\) or \(\LaTeX\) user, even if you’re merely embedding it in an Org file, be sure to give Cook’s article a read. You definitely don’t want to be making any of the mistakes he describes.

Posted in General | Tagged , | Leave a comment

Followup on the Momento Database App

If you enjoyed yesterday’s post on Sacha Chua’s “external brains” workflow, you’ll want to take a look at her followup post on her Momento-centered workflow for dealing with her daily, weekly, and monthly journals.

If you’re like me, the technical details won’t be too useful because

  1. You don’t use an Android phone and thus can’t use Momento Database.
  2. You make a point of not entrusting your data to any Google apps.

Nonetheless, her basic workflow is worth studying and adapting to whatever Apps you do use. Chua has put considerable time and effort in evolving her workflow so this post, like the one I mentioned yesterday, is worth reading for the ideas you can adapt to your situation.

Posted in General | Leave a comment

Sacha on External Brains

Back in September, I wrote about Jeff Terrell’s excellent video on using Emacs and Org Mode as an exocortex. “Exocortex” for these purposes means an “external brain” of some sort that is used for off-loading thoughts and plans that aren’t pertinent to whatever you’re working on or thinking about at the moment.

Sacha Chua has an excellent post on the same ideas. As the busy Mom of a toddler, she needs to keep track of lots of things such as tasks that need doing, child development milestones, activities and the time spent on them, notes, and finances. Like me, she is inveterate record keeper and has developed strategies for easing the collection and recording of all that data.

Her on-the-go note collector is Momento Database on her Android phone. It’s a very nice app that allows her to record timestamped entries of notes for later inclusion in other applications. I have the same needs but my solution is not nearly as nice. I use the Notes app on my iPhone to maintain a “memo book” in which I record my current activities and notes. I have a bit of Elisp that reformats the data and imports it into an Org mode table. I run that every month. That’s pretty easy because the Notes are automatically synced across all my Apple devices.

There are a couple of problems with this scheme. First, I have to manually enter the timestamp for each entry because Notes just records free-form text1. Second, I want to add some of those entries to my Journal, which means I have to copy (and reformat) the data into my journal. Chua has inspired me to look into better solutions. There’s an iPhone app called Momento that doesn’t appear to be related to Momento Database but does the same sort of thing. I haven’t had a chance to investigate it in detail yet but perhaps it will offer a better platform for my memo book.

My data collection and storage routine is like a Japanese garden: it’s an ongoing project that is never complete. I’m always evolving and tweaking it.

In the mean time, if you’re a data junkie like me or just want to get your life better organized, be sure to read Chua’s post. There’s a lot more in it than just Momento Database. It’s full of good ideas.

Footnotes:

1

That’s not quite true. It has other capabilities but none that help with my memo book needs.

Posted in General | Tagged , | 2 Comments

Org 9.1.4

Bastien tweets to let us know there’s a new Org out:

It’s not in Melpa as of [2017-12-05 Tue 13:08] but will doubtless appear in the next build.

Posted in General | Tagged , | Leave a comment