Hidden Gems #4: TODOs

Cheong Yiufung has another great post up in his Org-mode Hidden Gems series. The latest post takes a look at Org-mode TODO functionality. As usual, I learned some new things proving again that the “hidden gems” tag is appropriate, at least for me.

Most Org users know that you can specify your own TOTO tags and make them anything you want. Yiufung shows how you can use that fact to implement a sort of lightweight task assignment system. I’d probably implement this with check boxes under a project heading but you may like Yiufung’s system better: take a look and see.

Next, he discusses TODO statistics. Those are the cookies that tell you how much of a task has been completed. Normally, the statistics cover the entire subtree so that even subtasks are counted. It’s possible, though, to specify that you want them to act in a hierarchical manner. Then, each (sub)subtree is treated as a unit and can have it’s own counter. Yiufung has a video that shows this and makes it clear how the two modes differ.

Finally, he looks at the Org habits functionality. This is useful for repetitive tasks such as exercising when you want to track your progress. Org gives you a nice graphical summary of how well you’re doing. Again, take a look Yiufung’s video to see what it looks like.

Posted in General | Tagged , | Leave a comment

The Story of VisiCalc

Via Karl Voit I found this video of Dan Bricklin telling the story of how VisiCalc came to be. Many younger Irreal readers probably don’t remember Lotus 1-2-3 let alone VisiCalc so it’s worth mentioning that VisiCalc was the first electronic spreadsheet.

It’s a typical hacker story of writing some code to scratch an itch. Bricklin was getting his MBA at Harvard where the curriculum was based on case studies and involved, among other things, making manual spreadsheet calculations. Bricklin found that it was easy to make a calculation error and of course that error would propagate to other rows and columns. Since grading was based in large part on class participation, it was important to have the calculations correct in order to contribute in an intelligent way.

Bricklin had an undergraduate degree in Computer Science from MIT so automating the calculations on a computer seemed a natural solution. Along with his classmate Bob Frankston, Bricklin starting working on VisiCalc. This was in 1979 when the only reasonable small computer available was the Apple II. Although it ran on the Apple II, VisiCalc was developed on a Multics system that Bricklin and Frankston had access to.

An interesting part of Bricklin’s talk is how he struggled to find the right interface for the program. These days the grid paradigm with numbered rows and lettered columns is so well established that it’s hard to imagine any other way of doing it but Bricklin tried several schemes before settling on the now familiar pattern.

It’s an enjoyable talk and well worth the 12 minutes it takes to watch it. Steve Jobs said that VisiCalc was largely responsible for the early success of Apple so it’s more important than you might think.

Posted in General | Tagged | Leave a comment

A Year of Emacs

Jonathan Bennett has an interesting project underway. He’s a longtime Vim user whose evolving needs led him to Emacs. At first, he used Spacemacs but he had problems with its speed and had difficulties configuring it. So he moved on to vanilla Emacs and used it to write his Masters thesis.

Now he’s planning on writing a blog post every week for a year that considers a single Emacs package or use case. His first post, Introduction to a Year of Emacs, recounts his journey from Vim to Emacs and his plans for his “Year of Emacs.”

I’m looking forward to his posts. I like that they’ll be appearing regularly and will consider a single subject in depth. He has an RSS feed so it should be easy to keep up with the series.

Posted in General | Tagged | Leave a comment

Taking It Very Seriously

The other day I wrote about the costs Equifax is finally having to bear for its 2017 breach of 150 million consumer records. Apparently, First American Financial Corporation upon learning of the Equifax breach said, “Hold my beer.”

Over the Memorial Day weekend Brian Krebs tweeted about a “Truly massive—possibly superlative—sensitive data exposure.” That turned out to be First American’s leak of hundreds of millions of mortgage deal documents from 2003 to present. Those documents included tax returns, bank account numbers and statements, social security numbers, driver’s license images, and other sensitive information. You can read Krebs’ full article here.

Who were the master crackers behind this exploit? Well, no one. First American simply put them unsecured on the Internet. Anyone with a Web browser who knew just one URL could get access to all the records. First American is, of course, taking the breach “Very Seriously.”

Vicki Boykis has a wonderful post on the event in which she rightly ridicules the “taking it very seriously” line. It is, she says, what companies who have never given a second thought to security or safeguarding consumers’ sensitive information always say when they get caught playing fast and lose with other people’s data. She goes on to say that the real problem is that companies have no incentive to do better.

She notes that Equifax, which is only now beginning to suffer for their negligence, is still in business and none of their executives have gone to jail. There is some hope, however. She notes that the GDPR in Europe and California’s CCPA (California Consumer Privacy Act) have started to worry these companies. As I said in my previous post, until it is crystal clear that collecting and storing people’s information entails an unconditional obligation to keep that information secure and that violating that obligation carries substantial financial and criminal penalties, companies will calculate that the typical penny-ante fines meted out by the government are simply a cost of doing business and nothing will change.

I think Boykis is right. Until the consequences of slipshod handling of consumers’ information is draconian and certain, nothing will change. As for First American, if their executives had any honor they would resign and join a monastery.

Posted in General | Tagged | Leave a comment

More on Multics Emacs

Back in January, I wrote about Bernard Greenberg’s history of Emacs on the Multics system. I just found a set of contemporaneous notes on the first 110 days of Multics Emacs’ development.

What’s amazing is how quickly they were able to get a basic editor framework up and working. As I mentioned in my first post, the Multics system presented some formidable challenges for a full screen editor. Chief among these was that there was no way to do character I/O so the OS itself had to be patched just to get in the game. Achieving a working Emacs was much more complicated than just writing an editor.

After only 110 days, they had an Emacs that was usable as a working editor. Read Greenberg’s notes to get a feel for what a remarkable feat this was. Multics no longer exists—except as a hobbyist project running on a simulator1—so in a way Multics Emacs no longer matters but its enduring legacy is being the first Emacs to be written in Lisp.

If after reading these (fairly short) notes you’d like more information, see Greenberg’s longer history of Multics Emacs. It adds context and details to many of the points in the short notes.

UPDATE [2019-05-29 Wed 11:12]: Lars Brinkhoff comments and also wrote to me out-of-band that, in fact, EINE was the first Emacs to be written in Lisp. Brinkhoff, whom I’ve written about before, maintains a really great repository of old Emacs code. It’s worth taking a look at if you haven’t already.

Footnotes:

1

See the Multicians.org website for more details.

Posted in General | Tagged | Leave a comment

The Past Comes Due for Equifax

For those who have forgotten, 2 years ago Equifax—one of the top three credit reporting services in the world—suffered a catastrophic breach that resulted in the loss of data on 150 million people. The details are drearily familiar: Equifax had an outdated system and had failed to apply patches that had been available for months. Congress and others have accused the corporation of negligence and stupidity.

Now the cost of their negligence is becoming clear. Moody’s, a Wall Street bond rating service, has downgraded Equifax to a negative outlook. Lawsuits and investigations have already cost Equifax 690 million dollars in 2019 and the company is expected to pay out another billion dollars through 2021 to deal with the breach.

Equifax, and companies like it, vacuum up every bit of information that they can about people. Much of it, I’m sure, is only peripherally, if at all, concerned with credit worthiness. That’s bad enough but what’s really bad is that Equifax couldn’t keep that information secure. The data was exposed not from an “act of God” but from negligence and a “who cares” attitude about security.

I doubt their problems are existential but I wouldn’t be sorry to see them sued into oblivion. Until society makes it clear that if you gather people’s information, you’re unconditionally responsible for keeping it secure, we’ll continue to see this sort of thing. Regular readers know that Irreal is invariably suspicious of government attempts to insert themselves into our lives but this seems a case where the government could benefit us all by making the penalties—both financial and criminal—for mistreating citizen’s confidential information explicit.

Posted in General | Tagged | Leave a comment

Toggling iTerm2 Full Screen Mode

This post is Apple Mac specific so Linux and Windows users can have the day off.

I came across this tweet that has a very useful piece of parenthetical information:

I’m a heavy user of winner-mode so that part of the tweet wasn’t news to me. What was news is that ⌘ Cmd+Return toggles full screen mode in iTerm2. I don’t often use a non-Emacs shell but when I do I use iTerm2 and sometimes find it useful to have it in full screen mode but making it full screen in the normal macOS way (clicking buttons) was just enough friction that I often didn’t bother. This method is fast and easy and doesn’t involve the mouse at all.

Posted in General | Tagged , | Leave a comment

Implementing the Eisenhower Matrix in Org-mode

The Eisenhower Matrix—so named because it was used by Dwight Eisenhower—is a technique of visualizing and prioritizing decisions by marking them urgent/non-urgent and important/non-important. If you mark each task with the two attributes, it will fall into one of four quadrants: important/urgent, important/non-urgent, non-important/urgent, non-important/non-urgent. The quadrant a task falls in helps you decide when, if ever, to deal with it. Take a look at the link above to see the details.

A few years ago, Tom Purl wrote a short post showing how to implement the Eisenhower Matrix in Org-mode. His system works pretty much the way you think it would. He has two potential tags for each task: “important” and “urgent”. The tasks get tagged with 0, 1, or 2 of the tags, which effectively puts them in one of the quadrants.

The rest of the system is a set of four agenda searches, which he labels “1”, “2”, “3”, and “4”. For example, the “2” search looks for the tags “+important-urgent”. Take a look at Purl’s post for the others if you are in any doubt.

The idea is simple but effective. If you’re looking for a way to get a handle on your tasks, first read the Eisenhower Matrix article and then Purl’s post for a simple implementation. You won’t need any fancy websites or apps: just Emacs.

Posted in General | Tagged , | Leave a comment

A Long Form Writing Environment

Ryan Rix, who has the most well thought out and complete Emacs environment that I’ve seen has a post on the setup he uses for long form writing. By “long form” he means more than a paragraph or two on some subject. It’s mostly used for his blog and a set of private notes.

Most of the configuration deals with generating static pages for his blog. He uses a package called org-page to do most of the heavy lifting. That and the Org publishing system does just about everything he needs.

If you like Rix’s description of his Emacs working environment, you may enjoy his latest post too.

Posted in General | Tagged , | Leave a comment

Working Remotely

I’ve long been enamored of the idea of working from anywhere. These days, that seems boringly quotidian but just a few years ago it was a radical idea fiercely resisted by the type of manager who believed that unless you could peer over a worker’s shoulder you couldn’t really manage them.

Still, as much as I like the idea and thrive under it, it’s definitely not for everyone. Even more importantly, it’s non-trivial for companies that want to embrace the idea to get it right.

Viktor Petersson has a decade’s experience both working remotely and managing others who do so. He’s written a nice post that explores what he’s learned from a decade of remote working. The post takes the point of view of both the remote worker and his manager. His first point is that the experience is not for everyone. Some workers simply lack the discipline to work remotely. Others miss the face-to-face social interaction with their colleagues.

For those can deal with working remotely, there are many benefits. They save a lot of time commuting that can be spent on more productive activities. Perhaps more importantly, it lets them get a full night’s sleep with all the benefits that brings to both the employee and employer.

The other side of that coin is that companies can’t have it both ways. They must either commit to remote work entirely or not at all. The problem with trying to have it both ways is that the “office workers” come to enjoy a privileged position at the expense of the remote workers.

Those companies that do opt for a remote work force get to choose from a much larger talent pool than those trying to hire locally. Still, in-person interaction is important and Petersson stresses the necessity to have regular face-to-face encounters.

If you’re thinking of working remotely or of managing remote workers, you should definitely give Petersson’s post a read. He’s got a lot of good advice.

Posted in General | Tagged | Leave a comment