Emacs for the CEO

Back when Josh Stella was coding, he lived in Emacs. Like many of us, he performed most of his everyday tasks—mail, calendar, documents, coding—from within Emacs. Decades later, he'd become the CEO/co-founder of Luminal and had left Emacs behind.

Like many developers—even former developers—he hates context switching, and that's what he found himself doing as he moved from application to application as he went about his day to day duties as a CEO. Each application had it's own UI and its own set of shortcut keys. Recently, he decided to revisit Emacs and to try to do as many of his daily tasks as possible from within Emacs.

Stella describes his new set up and writes about why other CEOs might want to try Emacs too. It's not for everyone, he admits, but if you're the right sort of person, Emacs can revolutionize your work flow and make you more efficient and happier. None of that will come as a surprise to us Emacsers, of course, but I wonder how many CEOs without a technical background will be willing to climb up the learning curve to get those benefits.

To make that climb a bit easier, Stella spends some time describing how to install Emacs and goes over some of the basic navigation. If you're looking for reasons why a non-technical person might want to try Emacs, Stella's post is an excellent place to start.

Posted in General | Tagged | Leave a comment

Why LaTeX is Better Than Word

Many of you are aware, doubtlessly to your sorrow, of my many rants about Word and its evil brethren. If you care—and you should—what your finished writing looks like, you shouldn't be using Word. Journals and publishers who generate printing plates directly from Word are guilty of professional malfeasance as far as I'm concerned. There is just no excuse.

Dario Taraborelli has a nice post that highlights some of the differences between Word's and LaTeX's output. Really, a more accurate description is that the post highlights many of the typesetting errors that Word makes. They are, by and large, small things but they add up to make a Word produced document much less appealing. One of the things I learned from Rich Stevens is that while readers probably won't notice those small mistakes, they will notice that the book or document looks less pleasing than it should.

Taraborelli's post compares things like kerning and small caps. Take a look at the examples and see if you don't agree that LaTeX does a better job of producing pleasing typsesetting.

Posted in General | Tagged | Leave a comment

Mass Surveillance

The New York Times editorial board has a nice editorial on why mass surveillance is not the answer to terrorism. Like the New Yorker article that I wrote about yesterday, the Times calls out Brennan and Clapper for their past and current lies to the American public. They call Brennan's attempt to take advantage of the Paris attacks to advance his pro-surveillance agenda disgusting and cynical. You should definitely give it a read.

On the one hand, it's a “Well, Duh!” moment but it is, I think, significant that a main stream organ like the New York Times—not a libertarian bastion by any means—is editorializing in favor of our right to privacy. Perhaps it will give pause to those politicians who see the debate as an opportunity to posture.

In a similar article, Tech Crunch has a nice piece on how encryption is being scapegoated to mask the failures of mass surveillance. As anyone who's been paying attention knows, the intelligence agencies have been unable to point to a single case of the mass surveillance program helping prevent a terrorist incident. Rather than rethink their policies, Brennan and his cabal are pretending that Apple and Google are enabling terrorism. Terrorism that somehow managed to thrive long before ubiquitous strong encryption.

To channel I.F. Stone, these people are liars and nothing they say should be believed. They know, and we know, that outlawing Apple's and Google's secure chat applications would make no difference at all. There are plenty of open source applications available and even if there weren't terrorists could easily build their own. It's not like the technology is arcane.

Posted in General | Tagged | Leave a comment

Paris and Crypto Panic

After the tragedy and outrage in Paris last week, the usual suspects are running around saying, “See? This is what happens when things go dark.” Except, of course, there's no evidence that the perpetrators used encryption and plenty of indications that they didn't. The cell phone that led authorities to Abdelhamid Abaaoud's safe house was unencrypted as were the text messages coordinating the start of the assault.

As bad as Brennan and the others are, a great deal of the blame goes to the press, which, as the Washington Post reported a senior government official as saying, was lead around by nose by law enforcement. They even had breathless stories blaming Snowden and claiming the terrorists were so sophisticated they were using Play Stations to communicate. It was all nonsense, of course, as later stories reported. No play stations, no encryption just credulous journalists swallowing whole the government's baloney.

Some news outlets did remember that the United States doesn't have a Ministry of Truth and bothered to do a little investigation of their own. The aforementioned WAPO piece conceded that if we get increased surveillance out of the Paris attacks, the press will share much of the blame. The New Yorker called out Brennan and Clapper and reminded us that they aren't paragons of veracity. Both lied to Congress—Clapper under oath; why isn't he in jail?—and have consistently spread nonsense and fear in their efforts to be able to spy on everyone all day.

Brennan and his cohorts aren't idiots and they know, just as we do, that ISIS and their fellow Jihadists couldn't care less what laws a feckless Congress passes. There's plenty of open source crypto available so beating up on Apple and Google won't do a damn thing except make the rest of us less safe. Really, it's time to tell these guys to cut it out and start using the information they already have instead of whining about the fact that ordinary citizens may not want their government snooping on everything they say or do.

Posted in General | Tagged | Leave a comment

Gnus on Windows

As most Emacers know, two of the most difficult things involving Emacs are

  1. Getting it to work well on Windows, and
  2. Configuring and using Gnus.

So, of course, Sacha Chua decided to do both at the same time.

In the above post, Chua goes through the configuration she used to get it all working. Since she keeps her Emacs configuration as an Org file, she just cut the Gnus part right out of the configuration file and pasted it into her post. Yet another benefit of keeping your configuration as an Org file.

If you're working on Windows and want to try out Gnus, take a look at Chua's post. She uses Gmail so you can also see how to get that working with Gnus. Like all of her posts, there's a lot of meat in it so it's worth taking a look even if you aren't interested in Gnus at the moment.


Posted in General | Tagged | 2 Comments

Asynchronous Python in Org Mode

John Kitchin is so busy turning out little Emacs jewels it's a wonder he has any time to do Chemical Engineering. Of course, most of those jewels are in the service of solving problems with his research and his latest is no different. The problem is he has some long running Python is an Org file and would like to continue his work in the file while it's running.

He has a post and a video that detail his solutions. That's plural because he provides three ways of doing it. The first two involve tangling the source out to a temporary file, calling Python, and capturing the result. His final and preferred method avoids the tangling to a temporary file and lets you see the results as they are generated instead of all at once at the end.

You may or may not have a need for asynchronous Babel code but like all of Kitchin's work, you're sure to learn a bit from seeing how he approaches and solves the problem. The video is just short of 9 minutes so it should be easy to schedule. I recommend watching the video first and then using the post to study the code at a more leisurely pace.

Posted in General | Tagged , | Leave a comment

Chris Wellons on Emacs and RSA

Chris Wellons likes to make Emacs do unexpected things (see 1, 2, and 3 for instance). His latest example is an implementation of the RSA public key algorithm in Emacs Calc.

It's only a toy implementation, of course, but the wonder is that you can do it at all in an editor. Of course if your editor is named something besides Emacs, you can't but, as I've said many times before, Emacs is more of a Lisp environment with a library optimized for text editing. That still wouldn't be enough because Emacs Lisp doesn't have a full numeric tower. In particular, it doesn't implement large integers.

Fortunately, Elisp is powerful enough to support the Calc library, which does support large integers. I've written about the wonders of Calc before and use it pretty much every day. What Wellons demonstrates is how to use the Calc functionality programmatically. You probably won't have a need for an Emacs implementation of RSA but if you want to make use of the Calc functionality in your own Elisp code, Wellons' post has a lot to teach you.

Posted in General | Tagged , | Leave a comment

Moving Through Edits

Ben Maughan over at Pragmatic Emacs points to a useful package that lets you move back and forwards through editing changes. It's implemented in the Goto Chg package. The easiest way of thinking about it is that it behaves like undo/redo without actually making any changes. It merely goes to the place where the change would be made.

That may not seem to useful at first blush but, in fact, I often find myself wanting to do just that. Sometimes it's just that the buffer is dirty but I don't remember making a change and this package makes it easy to see what that last change is. Of course, undo followed by redo does the same thing but it doesn't allow you to easily scroll back and forth among all the changes.

The goto-chg package is available on Melpa and Marmalade.

Posted in General | Tagged | Leave a comment

John Wiegley on Haskell

Almost every serious Emacser knows by now that John Wiegley has taken over as the Emacs maintainer. Everyone appears united in their belief that this is a good thing and that Wiegley will be a great maintainer.

As you'd expect, Wiegley is an Emacs Lisp export (see this video with Sacha on Elisp development, for example). What you might not be aware of is that Wiegley works primarily in Haskell. There's a wonderful video of Wiegley discussing the benefits of Haskell and his experience with it. He says that the big strength of Haskell is that it's hard to write incorrect code that compiles. If you can get the compiler to accept your code then it will likely work as intended.

Haskell isn't a silver bullet, of course, but according to Wiegley, it does make it easier to write good code. The video is 26 and a half minutes long but worth watching, especially if you're considering trying out the language. After watching the video, I'm considering trying it out myself. There are a number of open source compilers available. The Glascow Haskell Compiler appears to be the favorite but there are others.

Posted in Programming | Tagged | 1 Comment

PDF Tools for Emacs

Over at Thoughts on Code and History, Matt Price has a nice post on Note Taking with PDF Tools and Emacs. PDF Tools is a replacement for DocView but with extended capabilities. Rather than build the PDF image in the file systems, as DocView does, PDF Tools builds it in memory and then allows you to interact with the PDF in various way.

You can get an idea of some of it's capabilities from Price's post and from the PDF README at GitHub. There's also a video that gives an idea of some of it's capabilities.

Sadly for those of us in the Cult, PDF Tools is supported only on Linux systems but the README does say that it has been successfully compiled under OS X. The README gives a couple of hints on how to do this. A Stack Exchange question indicates that it's pretty easy to compile and use under OS X so if you're interested it may be worthwhile giving it a try.

I haven't used it yet but will probably try to install it shortly. I don't use Homebrew—the recommended way of installing the tools—so I'll either have to try compiling it by hand or install Homebrew. If anyone has installed it by hand, drop a comment and let me know of any problems or, better yet, lack of any problems.

Posted in General | Tagged , | 1 Comment