Open Offices are Bad for You

Who knew? It turns out, though, that besides the noise and risk of contagion, open offices are also bad for your memory. Research shows that we retain more information when we sit in one spot. That’s because ideas and details become associated with surrounding and often ideas and details cannot be recalled outside of those surroundings.

There’s no longer any excuse for open offices. The research is clear: they’re harmful to productivity, the health and well being of employees, and even communication between them (the most often cited “advantage” of open offices). My suspicion is that they’ve now become a fad that everyone follows because the other guys do. “The startup next door has an open office and so does Facebook; we better have one too.” Any amount of checking into the current research on the would show any manager, no matter how pointy his hair, that they’re a bad idea.

On a related issue, David Tate takes a poleaxe to the usual reasons offered for why you can’t work from home. Again, it’s mostly superstition and ignorance but it’s depressingly wide spread.

Posted in General | Tagged , | Leave a comment

Org Mode 9.0.4

Bastien announced a new version of Org Mode.

At the time I posted this, it had not yet appeared in Melpa.

Posted in General | Tagged , | Leave a comment

Tutorial on Building Reveal.js Slides with Org Mode

Scott Nesbitt has posted a very useful tutorial on making Reveal.js slides with Org mode. There are lots of Reveal.js tutorials, of course, including the excellent video from Mike Zamansky but what sets Nesbitt’s tutorial apart is that he approaches the subject from the point of view of someone who doesn’t have Org mode experience. Actually, he doesn’t even assume the reader has Emacs experience but he offers no help there other than to recommend Mickey’s book.

If we stipulate that the reader has an elementary knowledge of Emacs, the tutorial is self contained. Nesbitt shows every step you need to take to put together a slide deck. My only complaint is that he doesn’t provide a complete Org file for a simple two or three slide example.

Everyone says they hate slide decks but everyone uses them. Given that if you gives talks you’re going to need slides, Reveal.js is a nice way of producing them. An added advantage is that the slides don’t require any special presentation software other than a browser. The other nice thing is that it’s very easy to get started and if you follow Nesbitt’s tutorial, there’s virtually no learning curve.

Posted in General | Tagged , | 2 Comments

Saving Keystrokes When Invoking the Agenda

Ben Maughan spent a bit of time getting his Org agenda view just the way he liked it. Evidently, he is more efficient and/or busier than I am because he wanted to shorten the number of keys in the shortcut to invoke the agenda. That turns out to be easy to do as he shows demonstrates at the link.

If you invoke the agenda a lot and are looking for a way to speed things up, be sure to take a look at Maughan’s post.

Posted in General | Tagged , | Leave a comment

The Right Dictionary

A couple of years ago, I wrote about James Somers’ beautiful post on why you are probably using the wrong dictionary. The right dictionary, it turns out, is the 1913 + 1828 Webster’s Revised Unabridged Dictionary. You can read my original post and Somers’ to find out why that’s true.

Sadly, the University of Chicago site that those posts mentioned and that the DuckDuckGo bang shortcut !webster took you to is now offline. It’s even disappeared from DNS so I’m losing hope that it will return. I emailed the responsible folks but have not heard back from them. All we can do is check back with the site once in a while.

Well, actually we can do more. Marcin Borkowski (mbork) was a user of the dictionary and displeased with its demise. Fortunately, he’s figured out a way to download the dictionary and read the StarDict format that it’s encoded in. Even better, he’s figured out how to read it from Emacs. It’s pretty straightforward. You just download the files, unzip them into ~/.stardict/dic, install the sdcv application, and finally install the sdcv-mode package for Emacs. Even if you’re not an Emacs user you can use sdcv as a command line tool.

The only hassle is sdcv. If you’re on a Mac like me it’s hard to get compiled. That’s most likely because I’m using Clang rather than gcc. Happily it’s available with Homebrew and the link even tells you how to load Homebrew if you don’t already have it.

If I learn anything more about the original site, I’ll make a followup post. In the meantime, mbork’s solution is probably better because it’s integrated into Emacs and you have a local copy so you don’t have to worry about sites going offline. If you only occasionally use the dictionary and don’t want to bother loading a local copy, you can find sites offering the 1913 version. Here’s an example. I haven’t found a site offering both versions like the University of Chicago site did.

Posted in General | Tagged , | Leave a comment

Refining Spell Checking in Web-mode

Chen Bin posted some nice Elisp on how to make flyspell at little more useful when dealing with Web-mode buffers. The problem is that many tag elements fail the spell check and you get a lot of spurious misspelling warnings.

Chen’s code fixes this so that only appropriate parts of the HTML are checked. He also shows how to extend this to Javascipt as a way of pointing to ways of extending his methods to other modes. If you do a lot of work in Web-mode or you’re looking for a way of solving the same problem in some other mode, take a look at Chen’s code.

Posted in General | Tagged | Leave a comment

Another Workflow

Regular readers know that I’m fond of seeing other people’s workflows, especially those workflows centered around Emacs. Torstein Johansen has an interesting post on his workflow.

Johansen describes his hardware and OS environment (a Thinkpad with 2 external screens running Debian) and then his most used software. Like me, he mostly lives in either his browser or Emacs. He has one speed key to bring up a terminal but everything else is either started at boot time or started from the terminal as needed. I like the basic minimalism of his setup. The usual full set of applications are available for use when needed but his workflow and setup are centered around Emacs and the browser. Of course, he also has a virtual screen for chat applications and a music player, which he controls with shortcut keys.

If you, too, enjoy seeing how others get their work done, take a look at Johansen’s post. In particular, if you’re running Linux you may like his ideas about key shortcuts.

Posted in General | Tagged | Leave a comment

Rust vs. Go

As most of you probably know, Eric Raymond (ESR) is part of an effort to rewrite the Network Time Protocol (NTP) suite to be smaller and more secure. You can follow the project’s progress on their blog. The NTP daemon itself is written in C but ESR and the other developers are already considering the possibility of rewriting it in a safer language.

At this point, they are looking at two languages: Rust and Go. ESR being ESR, he decided to test their suitability by writing a small but realistic program in each language. He’s written up his results in a post that anyone considering learning either of those languages may find useful. The TL;DR is that while each language has some advantages over the other, Rust is not yet mature enough for NTP.

Bear in mind that the comparison was made with NTP in mind and that the conclusions might change for another application. This is a point that ESR stresses but many commenters ignored that nuance in favor of flamethrowers. Regardless, the post is a useful comparison and well worth taking a look at.

While you’re at it, take a look at the NTPsec blog posts to see some of the engineering decisions that the team has made and the rationales behind them. If you’re working with a team that doesn’t have the same discipline, you’ll learn things that will make your own efforts more effective.

Posted in Programming | Tagged | Leave a comment

Dangerous Phishing Attack

There is a dangerous phishing attack being targeted (mostly) at Google Mail. It’s clever enough that it has fooled even sophisticated technical users. What happens is that you get an email from someone you know that includes a clickable image. When you click on the image you are asked to login to Google again. As soon as you do, you’re compromised.

That sounds like a vanilla phishing attack but what is different is that the location bar appears to point to Google so an unwary user will feel safe clicking. If you carefully examine the contents of the location bar you will see that the protocol is slightly wrong. The post linked above has all the details so you should definitely check it out.

The post discusses this in terms of the Chrome browser but from the comments it appears that—at least—FireFox is vulnerable as well. Google is aware of the problem and is working on a fix but if other browsers are vulnerable you will need to be careful regardless of what Google does. Enabling two-factor authentication may or may not help but is always a good idea.

If, like many people, your Google account is tied many other services, having it compromised can be disastrous. Again, you should definitely follow the link and read the post so you know what to look for.

Posted in General | Tagged | Leave a comment

More Experiments with Indexing Org Files

A couple of weeks ago I wrote about John Kitchin’s use of SQLite to index his Org files. Kitchin uses Org mode as a centerpiece of his workflow and has about 5 years of files spread across his local file system, Dropbox, Google Drive, and other places. His idea was to index the files on headline, tags, citations, and a bunch of other fields that you can see by following the above link.

Now Kitchin is continuing his experiment by using the noSQL database MongoDB. It turns out that there are some advantages to using MongoDB but also disadvantages. Follow the link to see how easy it is to build the database and some strategies for getting the information out again. He continues the experiment in a subsequent post on implementing CRUD operations in MongoDB, which you should also read.

Kitchin’s work on indexing Org files along with Karl Voit’s approach to the same problem is really interesting. Those of us who put more and more of our lives and work product in Org files are, sooner or later, going to need something like this. Currently, I rely on tags or, if all else fails, a text search to find the entry I’m looking for but that only works for agenda files. So unless I’m careful to put a link to my work product in my journal (or one of the other agenda files) searching for tags won’t work. There is also, I suppose, a scaling problem. Once I get enough data, searching for tags or text is going to be too slow.

If you find yourself using Org for a significant part of your workflow, you should read these posts to help you get ready for the day that your own files get too large for easy searching.

Posted in General | Tagged , | Leave a comment