Orgtbl Mode

Like most Org users, I was aware of orgtbl-mode. It’s a minor mode that brings the power of the Org mode table editor to other modes. Because just about everything I do that might require a table gets done in Org mode, I never paid very much attention to it. I envisioned it as an easy way of generating ASCII tables like

|       Date | Item      |  Cost |
|------------+-----------+-------|
| 2014-03-14 | Book      | 12.95 |
| 2014-05-01 | Batteries |  7.50 |
| ...        |           |       |

in, say, an email or some other non-Org file.

It turns out, though, that Orgtbl mode is much more powerful than that. For example, all the spreadsheet functions are there so I could have added a Total row to the above table and had the costs summed automatically. That still doesn’t exhaust the power of Orgtbl, however.

Here’s a two minute video that shows how powerful it can be. You add a comment with the Org style table in it, put another comment where you want the table to appear in your source code, press 【Ctrl+c Ctrl+c】 and the table is added to your file in HTML. If you write a lot of HTML that has tables in it, this can be a real time saver.

Orgtbl has built-in conversion engines for HTML, LaTeX, and texinfo. The manual gives some hints on writing your own if you have special needs.

Posted in General | Tagged , | Leave a comment

Some Good News for Org

Bastien Guerry has resumed his role as the Org Mode maintainer.

Guerry has done a lot for Org and was instrumental in moving it forward during his last tenure as maintainer. I’m sure that he’s already at work making it better. Welcome back!

Posted in General | Tagged , | Leave a comment

Sacha Chats with Xah Lee

The indefatigable Sacha Chua has been chatting up a storm lately and has even more scheduled for the near future. Recently she chatted with Xah Lee and discussed his approach to and use of Emacs. It was an interesting chat.

One might call Lee the King of Customization. He, more than anyone else I know, has taken advantage of the near-infinite customizability of Emacs. He’s changed almost every key sequence in his quest for ergonomics in Emacs. This is more than just changing a key sequence to some other random, easier-to-reach set of keys. Rather he has worked to eliminate all chording. He does that by replacing chords with a sequential sequence of two or more keys. Watch the video for the details.

I’ve posted many times about the various helper Elisp functions he’s written. One of the reasons for all those functions is that, unlike lazy people such as me, Lee writes his blogs in raw HTML rather than leveraging Org mode or some other higher-level tool. In a sense, that’s a bit like writing in assembly code so Lee needs a lot of help from his editor. Happily, Emacs is up to the challenge and Lee has been able to build a custom environment precisely tuned to his needs and inclinations. The result is that he can write HTML as quickly as most of us can generate the same content with, say, Org mode.

Like most of Chua’s chats, this one is just short of an hour so plan accordingly. I think you’ll find the chat interesting and worth your time. Lee is a man of strongly held opinions, which he is never hesitant to express. Many find this off-putting but I think you’ll find that this video shows that he’s an engaging and interesting guy. An Emacs geek just like the rest of us.

Posted in General | Tagged | 1 Comment

An Honest Mistake

Edward Snowden asks an embarrassing question: Why hasn’t the Director of National Intelligence been punished for lying to Congress? After all, for the relatively trivial offense of lying to Congress about steroid use, Barry Bonds was convicted of a felony. Meanwhile, Clapper continues in his position as DNI and has not been punished in any way.

It turns out it was all just an honest mistake. At least according to the ODNI General Council Robert Litt. You see, even though Clapper’s office had received an advanced copy of Sen. Wyden’s question, Clapper somehow neglected to look at it and then got confused at Wyden’s complicated question. But here, see for yourself.

Does the question seem complicated? Does Clapper look confused? Does his body language tell you anything about the veracity of his statement? All good questions but not as good as Snowden’s. Why hasn’t Clapper been punished?

Posted in General | Tagged | Leave a comment

The Weird Americans

Yesterday, I wrote about the Pacific Standard article on problems with reproducibility in the social sciences. Today I stumbled upon a second Pacific Standard article that discusses another insidious way that distortions can creep into studies in fields like psychology and anthropology: the fact that Americans are highly atypical when compared to most other peoples. That’s important because many studies are conducted using cheap and available American undergraduates as subjects. The problem is, they aren’t really like most people in the world and trying to draw broad conclusions based on them is going to produce erroneous or at least misleading conclusions

This is a long article and a bit out of the usual Irreal fare but it’s very interesting. It turns out that the familiar notion that “most people are the same under the skin” simply isn’t true. People in different cultures really can be substantially different in the way they experience the world. That sounds like it might be a trivial remark but consider the familiar Müller-Lyer illusion where a line with arrow tips is perceived as shorter than the same line with feathered tips. You might think that everyone is deceived by the illusion but it turns out that some cultures do see the lines as being the same length and that Americans, in fact, experience the illusion more strongly than others, even others from Western cultures.

Although from last year, it is, as I said, an interesting article and well worth your time. I found it fascinating. The research it describes is, apparently, shaking up psychology and several other disciplines.

Update: those → others

Update 2: Added link to the article

Posted in General | Tagged | 2 Comments

Another Argument for Reproducible Research

As you all know, I’m a big fan of reproducible research. Most people have an idealized conception of scientific research and that, by and large, it’s all about the pursuit of truth. Sadly that’s not always the case. The problem isn’t that all problematic results are faked; sometimes human nature is enough to corrupt the results.

Over at the Pacific Standard, Jerry Adler has an interesting article that is nominally about research in Psychology but has implications for other scientific research, including, astonishingly, Mathematics.

It’s astounding how often data is massaged to support a preconceived hypothesis. The article describes a study that used real data to “prove” an preposterous result. The study was up front about the silliness of the result and was making a point about how easily data can be manipulated.

Not all of these problems would be solved by reproducible research but having the data and the specific manipulations that it was subjected to available would go a long way towards ending this problem. Read the article to get an idea of the extent of the problem. After reading it, see if you don’t agree that journals should insist that submitted articles provide access to the type of data envisioned by reproducible research. Perhaps, then, the Reproducibility of important research in fields such as bio-medicine would do a bit better than one in ten.

Posted in General | Tagged | Leave a comment

A TeX Spring Cleaning

Every few years Donald Knuth raises his head from his travails on TAOCP and considers the state of TeX. From time to time people submit bugs they’ve found in TeX and during these periodic respites from his life’s work, Knuth addresses those bugs. He considers TeX as converging to a perfect state and uses these periodic reviews as an opportunity to advance that convergence.

The latest cycle happened in 2014 and resulted in a few non-user-visible changes to TeX. The real lesson here is how mature TeX is. There are no glaring, document-destroying bugs. Rather there are a few cobwebs in some obscure corners that scarcely anyone has ever bothered to visit. Consider Knuth’s TeX Tuneup of 2014 for the latest changes. As you can see, there’s nothing in there that would give you the slightest pause.

It’s received wisdom in our field that software is never defect free but TeX is a candidate to refute that. It may not be perfect but it’s certainly converging on it. Tex is surely one of the best pieces of software ever written.

Posted in General | Tagged | Leave a comment

An Emacs FFI

The estimable Christopher Wellons has another great Emacs post. This time he describes an Emacs Foreign Function Interface that he wrote. He considers it a proof of concept and not quite complete but he shows several examples of using it to call external library functions.

The FFI is implemented as a package that communicates with libffi through a pipe. As Wellons points out that has both advantages and disadvantages but it does appear to work well. Read Wellons’ post for the details on how things work and what you can do with it.

If you’ve wished for an FFI for Emacs take a look at the post and the package. Because it’s implemented as a package, it’s available now and doesn’t need to be integrated into Emacs core. Very impressive work, I think.

Posted in Programming | Tagged | Leave a comment

When To Use CLOS

Jean-Philippe Paradis retweeted a link

to this classic Erik Naggum post on CLOS and object-oriented programming in Lisp. Every time I read it I learn something new and understand CLOS just a little bit better. If you’re a Lisper and haven’t read it yet do so right now.

Naggum, in his inimitable way, explains why the message passing approach to O-O—and therefore most common languages claiming to be object-oriented—is fundamentally broken. He says, in fact, that trying to implement object-orientation in a statically typed language is theoretically unsound.

That’s a bit polemical, of course, but whether you agree or not, his discussion of Common Lisp’s approach to object-orientation is useful and enlightening. If you’ve been confused by the claimed superiority of CL’s approach of emphasizing generic functions instead of classes, give this post a read; Naggum explains it well.

If you’re completely new to CLOS and generic functions, you should read Joe Marshall‘s excellent Warp Speed Introduction to CLOS (link fetches the page) before looking at Naggum’s post. Even if you’re not interested in Naggum’s post, you should read Marshall’s article. It’s the best no-nonsense introduction to CLOS I’ve seen.

Update: Parradis → Paradis

Posted in Programming | Tagged , | 3 Comments

Whom We Spy On

The NSA and its apologists are fond of insisting that the NSA’s mission is to monitor our enemies and that any interception of Americans’ or American Allies’ communications are incidental and that such data, once collected, is promptly destroyed. Only the most jejune of us believed that, of course, but even the cynical and curmudgeonly staff at Irreal were not prepared for the truth.

NSA whistle blower Russel Tice, a former NSA agent, says that the NSA spies on Senators, congressmen, military leaders, supreme court justices, and even Barach Obama. Tice’s charges are so explosive that it’s hard to credit them. Except, you know, for everything else we’ve found out recently. Perhaps discovering that they, too, are targets will finally convince Senators and Congressmen to reign these criminals in.

Really, you should read this post. As I say, it’s hard to accept that things could have gotten so far out of hand. If it’s true, there are a bunch of people who need to go to jail. Read it and make up your own mind.

Posted in General | Tagged | Leave a comment