OrgMode Tutorial Plans

Rainer König is back, after 15 months, with news of some changes in his life and his plans for his video series. In the latest video, König explains that he’ll be changing jobs soon and is also considering starting his own business consulting on productivity.

One of his problems, he says, is that it’s easy for your Org mode TODO list to become so large that it’s overwhelming. König says that there’s a couple of ways of dealing with that. One way is to become more disciplined about what you add to the list and to realize that you can’t “do it all.” The other thing you can do is allow yourself to say that you don’t feel like working on some task today and put it off for later.

To assist with that second coping mechanism, König has been thinking about writing an addition for Org that he calls “Procrastinate Mode.” The basic idea is that you can mark items on your TODO list to be put off for a while by having them moved into the future. His idea is a little richer than that so you should watch the video for the details. He’s soliciting advice and feedback on his Procrastinate Mode idea so if you have some wisdom to depart, you can leave it in a comment to the video.

I’m glad to have König back and I hope he produces more of his excellent videos.

Posted in General | Tagged , | Leave a comment

Privacy.io

From John Cook’s Data Privacy Twitter feed we have this recommendation:

If you’re at all interested in privacy, you should take a look at the PrivacyTools.io site. It has informative articles but also lists of privacy tools along with recommendations. If you’re wondering what VPN provider to use or you think your current browser is unnecessarily collection information about you, take a look at the recommendations on this site. Similarly, if you’re tired of Google reading your emails, get off Gmail by using one of the privacy-conscious email providers that they list.

This is a great site and resource for those who want to recapture a bit of their privacy. You’re never going to be able to stay completely anonymous while on line but by using the tools discussed on the site you can remain safer and retain more privacy than you otherwise could.

Posted in General | Tagged , | Leave a comment

Custom Highlighting

Last month someone pointed to this Emacs Notes post from last year and I thought some of you might find it handy. As the post points out, syntax highlighting can be a wonderful thing but sometimes you have a weird or custom file format for which no highlighting has been implemented. The author gives a simple example of this and goes on to show how to implement your own custom highlighting.

It probably seems as if it’s not worth the trouble most of the time but once I got used to having syntax highlighting, files seemed “dead” without it. If you have files in strange formats that you use more than very occasionally, you should read over the post to see if it’s worthwhile providing some highlighting.

Posted in General | Tagged | Leave a comment

An Analysis of Some Password Managers

Over at the Independent Security Evaluators site they have an interesting article on the security of of several password managers. It’s virtually universal advice from security experts that you should use a password manager and the authors of the article emphatically agree. They note, however, that every one they examined leaked some information. An attacker would have to have access (either physical or network) to the machine the password manager was on to exploit these leaks but it’s good to have the problems revealed so that the vendors can fix them.

The article begins by proposing a list of security guarantees a password manager should provide and then examines how we those guarantees are met. They look at

  • 1Password4
  • 1Password7
  • Dashlane
  • KeePass
  • LastPass

all running under Windows 10.

The article doesn’t call out any actions for users other than to use a strong master password. My only experience has been with 1Password and they are diligent about fixing problems that come up. On the other hand, it’s discouraging that version 7 leaked more information than version 4 but they’re undoubtedly aware of this research and I expect they will fix things.

The other caveat is that only the Windows 10 versions were tested but there’s probably little reason to expect that the versions for other operating systems would be much different. Again, even the researchers say that password managers great applications and that you should continue to use one.

Posted in General | Tagged | Leave a comment

Open Offices Again

I thought I was finished with writing about the horror known as Open Offices for a while but I just came across an article that so fully mirrors my feelings on the subject that I had to wade into the morass once more. The article, Open-Plan Office: Great for Photo Shoots, Terrible for Collaboration, is over at the Nuclino Blog and does a good job of summarizing the problems with open offices. I’ll let you read the post for those reasons and while you’re there, take a look at the pictures and see if they don’t make your blood run cold. The first one, with its high ceiling and lack of walls reminds me of a local mall whose architecture amplifies every sound and makes it painfully noisy. But there’s one aspect of the article that bears more comment.

I’ve been pretty vocal in my belief that the real driver of open offices is cost savings on real estate and buildout. Sometimes I felt that maybe I was being a bit too cynical or overwrought. The real problem is that I was being naive. I had no idea how large those saving were. I thought it was probably a few hundred thousand dollars for a Google-sized company. Silly me. It turns out that Google—Alphabet, actually—saves about $350 million a year on real estate charges by moving to open offices. That’s chump change, though. JPMorgan & Chase saves over a billion dollars a year with open offices. The article has a chart showing the savings for several large companies.

Those savings, as the article points out, make it unlikely that we’ll ever get rid of open offices. It offers a few suggestions for living with them but, really, your best option is to find a job with a sane office arrangement or that will let you work from home.

Posted in General | Tagged | Leave a comment

Benchmarking in Emacs

Marcin Borkowski (mbork) has posted an instructive article on benchmarking Elisp code. He had a theory on the run time of alternative implementations for some code he’d written and rather than wave his arms, he did what we all tell ourselves we’ll do but often don’t: he benchmarked the run time of the two implementations.

He used the benchmark library to do this. It’s worth reading his post just to remember (or familiarize yourself with) the details of benchmark. In any event, he confirmed his suspicions about the implementations but discovered that he was right for the wrong reasons.

Take a look at his post to see the details and discover what he learned about working with strings.

Posted in General | Tagged | Leave a comment

Employees Hate Open Offices

I’m not sure why I bother but here’s another report (from last year) belaboring the obvious: workers hate open office spaces. They hate them for all the obvious reasons: too much noise, lack of privacy, lack of ability to concentrate, and so on.

Oh, and by the way, Mr. Employer, they aren’t buying that nonsense about increased collaboration. They know that that’s a bunch of hooey meant to disguise the real reason you love them: it saves money on office space and buildout.

One interesting result from the survey that the report is based on is that many employees would consider changing jobs to escape an open office environment. Perhaps that’s what it will take to put an end to this abomination. But probably not. Employers will still want to save money and the fairy tale about increased collaboration allows them to convince themselves that open spaces are in everybody’s best interest despite research that shows collaboration decreases in open offices.

Posted in General | Tagged | Leave a comment

Vivek Haldar Reads “Solution of a problem in concurrent programming control”

Last week, I wrote about Vivek Haldar’s reading of Dijkstra’s famous paper, “Go to Statement Considered Harmful.” It turns out that Haldar has a series of posts like that in which he reads a foundational paper from Computer Science. One recent example is his reading of another Dijkstra paper, Solution of a problem in concurrent programming control.

The paper is from 1965 and offered the first solution to locking critical code regions. That seems like old news today. You protect the critical region with a semaphore but back in 1965 computers didn’t have the specialized “test and set” instructions that we use to implement semaphores. At the time Dijkstra wrote his paper, it was an open question as to how to implement what we now know as semaphores.

Haldar does a great job in covering the paper. Dijkstra’s papers are always dense but this one is particularly difficult. The code that Dijkstra presents is in ALGOL or at least is ALGOL-like and the syntax is easy to understand. Although comprising only 16 lines it’s very difficult to figure out what’s going on. Haldar refactors the code a bit and explains what’s happening.

It’s amazing how something we now consider elementary, if not trivial, was once considered so hard that it was an open problem. Of course, a lot of that is that once it was understood that a semaphore was what was needed, hardware primitives were introduced to make implementing them simple.

Posted in General | Leave a comment

Taking Notes in LaTeX

This is astounding. Gilles Castel uses LaTeX to take notes in his Math classes. These aren’t simple notes with a smattering of elementary math symbols; they’re notes for classes like Complex Variables and other advanced topics. Take a look at his post for some examples.

I say it’s astounding because I wouldn’t have believed you could type the LaTeX fast enough to keep up with the instructor. Castel’s goal is to be able to type the LaTeX as fast as the instructor could write the mathematics on the board. To make this possible, Castel uses UltiSnips snippets and Vim. He’s got a number of custom snippets—some quite complicated—that intelligently expand to LaTeX and enable him to enter the mathematics at speed.

Naturally, I started wondering how his procedures would port to Emacs and AUCTeX. I’ve never used UltiSnips but it seems similar to yasnippet except for supporting regular expressions in the keys. On the other hand, AUCTeX provides a lot of functionality that Castel implements with snippets. The post contains several animated GIFs that show how his system works in practice. Watch them and be amazed. If you’re an UltiSnips user, Castel’s snippets are available here for you to try.

Regardless of which editor and snippet package you use, I’d guess that it’s going to take some concentrated practice to get fast enough to actually use in class.

Posted in General | Tagged , , | Leave a comment

Deleting Blank Lines

The Learn Emacs Twitter feed has a handy tip for dealing with blank lines:

It turns out that the delete-blank-lines command is a little more nuanced than that. The actual rules for invoking it (according to the documentation) are:

  1. If the point is on a blank line surrounded by others, delete all the surrounding blank lines, leaving just one.
  2. If the point is on an isolated blank line, delete that line.
  3. If the point is on a nonblank line, delete any blank lines that immediately follow.

This isn’t a command that I’d use everyday but it seems perfect for cleaning up a text file with lots of blank lines. Often times, I see imported data like this so it’s worth remembering the command.

Posted in General | Tagged | Leave a comment