Archive for the ‘Editor’ Category

A (somewhat) Shallower On-Ramp for Emacs

Saturday, November 25th, 2017

Using Emacs – Introduction by Mike Zamansky.

From the webpage:

I’m sure I’ve mentioned that I’ve been an Emacs wonk for decades. Since the mid-80’s in fact. I’ve spent time using other editors, word processors, and development tools but always find my way back.

I recommend that budding computer science students develop a good tool set and encourage them to explore Emacs but while it’s pretty easy to load Emacs and find your way around, particularly if you use the mouse and menus there isn’t a clear path to take you from beginner to using it as an efficient tool let alone customizing it.

Inspired by Mattias Petter Johansson, or MPJ who make a weekly video, I decided to try to create a series of YouTube videos and matching blog posts. I’ll try to post one a week and I’ll try to keep the videos, at least after the first couple to just a few minutes and have them focus on micro-habits – one or two small things that you can bring to your work flow and internalize.

I say “somewhat” shallower because Zamansky presumes you have completed the basic Emacs tutorial (Meta-? t).

After completing the Emacs tutorial, start the Using Emacs Series of thirty-eight (38) videos.

The season of repetitive Christmas “classics” is upon us, making the Using Emacs Series even more welcome. (An observation for the US. I’m not familiar with mindless holiday television schedules in other countries. Consult your local curmudgeon.)

Papers we Scrutinize: How to critically read papers

Thursday, April 13th, 2017

Papers we Scrutinize: How to critically read papers by Tomas Petricek.

From the post:

As someone who enjoys being at the intersection of the academic world and the world of industry, I’m very happy to see any attempts at bridging this harmful gap. For this reason, it is great to see that more people are interested in reading academic papers and that initiatives like Papers We Love are there to help.

There is one caveat with academic papers though. It is very easy to see academic papers as containing eternal and unquestionable truths, rather than as something that the reader should actively interact with. I recently remarked about this saying that “reading papers” is too passive. I also mentioned one way of doing more than just “reading”, which is to write “critical reviews” – something that we recently tried to do at the Salon des Refusés workshop. In this post, I would like to expand my remark.

First of all, it is very easy to miss the context in which papers are written. The life of an academic paper is not complete after it is published. Instead, it continues living its own life – people refer to it in various contexts, give different meanings to entities that appear in the paper and may “love” different parts of the paper than the author. This also means that there are different ways of reading papers. You can try to reconstruct the original historical context, read it according to the current main-stream interpretation or see it as an inspiration for your own ideas.

I suspect that many people, both in academia and outside, read papers without worrying about how they are reading them. You can certainly “do science” or “read papers” without reflecting on the process. That said, I think the philosophical reflection is important if we do not want to get stuck in local maxima.

Petricek goes on to define three (3) different ways to read a paper, using A Formulation of the Simple Theory of Types by Alonzo Church.

Worth reading and following, but consider more concrete guidance as well:

The requirements to make reading and peer review useful activities are well known.

Only you can prevent the failure to meet those requirements in your case. Yes?

Build Your Own Text Editor (“make changes, see the results”)

Thursday, April 6th, 2017

Build Your Own Text Editor by Jeremy Ruten.

From the webpage:

Welcome! This is an instruction booklet that shows you how to build a text editor in C.

The text editor is antirez’s kilo, with some changes. It’s about 1000 lines of C in a single file with no dependencies, and it implements all the basic features you expect in a minimal editor, as well as syntax highlighting and a search feature.

This booklet walks you through building the editor in 184 steps. Each step, you’ll add, change, or remove a few lines of code. Most steps, you’ll be able to observe the changes you made by compiling and running the program immediately afterwards.

I explain each step along the way, sometimes in a lot of detail. Free free to skim or skip the prose, as the main point of this is that you are going to build a text editor from scratch! Anything you learn along the way is bonus, and there’s plenty to learn just from typing in the changes to the code and observing the results.

See the appendices for more information on the tutorial itself (including what to do if you get stuck, and where to get help).

If you’re ready to begin, then go to chapter 1!
… (emphasis in original)

I mention this tutorial because:

  • It’s an opportunity to see editor issues “from the other side.”
  • Practice reading and understanding C
  • I like the “make changes, see the results” approach

Of the three, the “make changes, see the results” approach is probably the most important.

Examples that “just work” are great and I look for them all the time. 😉

But imagine examples that take you down the false leads and traps, allowing you to observe the cryptic error messages from XQuery for example. You do work your way to a solution but are not given one out of the box.

“Cryptic” is probably overly generous with regard to XQuery error messages. Suggestions of a better one word term, usable in mixed company for them?

Adding custom menus to Google docs [productivity for writers]

Sunday, March 20th, 2016

Adding custom menus to Google docs by Bob DuCharme.

From the post:

I’ve been using Google Docs more because at work it’s great for collaboration, and also, for shopping lists and notes to myself, I can easily edit the same documents from my phone, tablet, and laptop. I found out that it’s pretty easy to add menus that perform custom functions, so I created a few menu choices… and then found out that they weren’t available on my phone or tablet. Still, it’s good to know how easy it is to automate a few things.

Bob has a number of productivity tips for authors who use Google docs.

I prefer to make the NSA work for copies of my documents (not on Google docs) but each to his own.


BTW, if you don’t know Bob’s work, you should. His writings about XML, XSLT and SPARQL are all useful but even more importantly, they are a joy to read.

Some authors can cover a subject correctly. It is a much smaller number who can cover it correctly and make it a pleasure to read.

Bob’s publications fall into the correct and pleasure to read category. (I won’t mention examples of candidates for the other categories.)


Emacs – Helm and @ndw

Sunday, January 3rd, 2016

A Package in a league of its own: Helm

From the webpage:

Helm is incremental completion and selection narrowing framework for Emacs. It will help steer you in the right direction when you’re looking for stuff in Emacs (like buffers, files, etc).

Helm is a fork of anything.el originally written by Tamas Patrovic and can be considered to be its successor. Helm sets out to clean up the legacy code in anything.el and provide a cleaner, leaner and more modular tool, that’s not tied in the trap of backward compatibility.

I saw the following tweet from Norman Walsh today:

Been hacking #Emacs again the past few days. Serious fun. Also: finally became a helm convert. Seriously productive.

I know better.

I should look away, quickly when I see “Emacs” and “Norman Walsh” in a tweet together.

But, just like every other time, I follow the reference, this time to Helm (see above).

I will become more productive, from using Helm or learning more about Emacs in the process. It’s a win either way.

The downside, not too serious a downside, is that I will lose N hours this week as I pursue this lead.

It’s one of the risks of following someone like Norman Walsh on Twitter. But an acceptable one.


Cursive 1.0, Gingerbread Cuneiform Tablets, XQuery

Thursday, December 10th, 2015

Cursive 1.0

From the webpage:

Cursive 1.0 is finally here! Here’s everything you need to know about the release.

One important thing first, we’ve had to move some things around. Our website is now at, we’re on Twitter at @CursiveIDE, and our Github handle is now cursive-ide. Hopefully everything should be redirected as much as possible, but let me know if you can’t find anything or if you find anything where it shouldn’t be. The main Cursive email address is now but the previous one will continue to work. The mailing lists will continue to use the previous domain for the moment.

Cursive 1.0 is considered a stable build, and is now in the JetBrains plugin repo (here). Going forward, we’ll have a stable release channel which will have new builds every 2-3 months, and an EAP channel which will have builds more or less as they have been during the EAP program. Stable builds will be published to the JetBrains repo, and EAP builds will continue to be published to our private repo. You’ll be prompted at startup which channel you’d like to use, and Cursive will set up the new URLs for the EAP channel automatically if required. Stable builds will be numbered x.y.0, and EAP builds will use x.y.z numbering.


Cursive is available as an IntelliJ plugin for use with the Community or Ultimate editions, and will be available in the future as a standalone Clojure-focused IDE. It is a commercial product, with a free non-commercial licence for open-source work, personal hacking, and student work.

I’m not brave enough to install software on someone’s computer as a “surprise” holiday present. Unless you are a sysadmin, I suggest you don’t either.

Of course, you could take the UPenn instructions for making gingerbread cuneiform tablets and make a “card” for the lucky recipient of a license for the full version of Cursive 1.0.

For that matter, you could inscribe smaller gingerbread pieces with bits of XQuery syntax and play holiday games with arbitrary XML documents. Timed trials for the most imaginative XQuery, shortest, etc.

PS: Suggestions on an XQuery corpus to determine the frequency of XQuery syntax representations? “For,” “(,” and, “)” are likely the most common ones, but that’s just guessing on my part.

todonotes – Marking things to do in a LATEX document

Saturday, October 17th, 2015

todonotes – Marking things to do in a LATEX document

From the webpage:

The pack­age lets the user mark things to do later, in a sim­ple and vi­su­ally ap­peal­ing way. The pack­age takes sev­eral op­tions to en­able cus­tomiza­tion/fine­tun­ing of the vi­sual ap­pear­ance.

The feature of this package that grabbed my attention was the ability to easily create a list of todos “…like a table of content or a list of figures.”

In any document longer than a couple of pages, that is going to be very handy.


Friday, October 16th, 2015


From the webpage:

Markdeep is a technology for writing plain text documents that will look good in any web browser. It supports diagrams, common styling conventions, and equations as extensions of Markdown syntax.

Markdown is free and easy to use. It doesn’t need a plugin, or Internet connection. There’s nothing to install. Just start writing in Vi, Nodepad, Emacs, Visual Studio, Atom, or another editor! You don’t have to export, compile, or otherwise process your document. Here’s an example of a text editor and a browser viewing the same file simultaneously:



Markdeep is ideal for design documents, specifications, README files, code documentation, lab reports, and technical web pages. Because the source is plain text, Markdeep works well with software development toolchains.

Markdeep was created by Morgan McGuire at Casual Effects with inspiration from John Gruber’s Markdown. The current 0.01 beta release is minified-only to find bugs and get feedback, but a full source version is coming soon after some more code cleanup.

You may find this useful but I certainly disagree with writing “design documents, specifications, …., code documentation, lab reports, and technical web pages” in plain text.

Yes, that fits into software development toolchains but the more relevant question is why haven’t software development toolchains upgraded to use XML? Unadorned plain text is better than no documentation at all but the lack of structure makes it difficult to stitch your documentation together with other documentation.

Unless preventing transclusion of documents is a goal of your documentation process?

The XML world has made a poor showing of transclusion over the years. That was driven by the impoverished view that documents are the proper targets of URLs and not more granular targets within documents.

That “document as the target” view perpetuated an eternal cycle of every reader having to navigate the same document to find the same snippet that is of importance.

Perhaps XQuery can free us from that eternal cycle of repetition and waste.

A meaningful and explicit structure to documents is a step towards XQuery accomplishing just that.

Convenient Emacs Setup for Social Scientists

Thursday, October 8th, 2015

Convenient Emacs Setup for Social Scientists Available, Thanks to RTC Team Member

From the post:

QSS consultant Ista Zahn has made work with Emacs a lot easier for social scientists with a package that is now available for users.

Ista Zahn, a member of the Institute’s Research Technology Consulting (RTC) team, became an Emacs user about 10 years ago, because it offered a convenient environment for literate programming and reproducible data analysis. “I quickly discovered,” he says, “as all Emacs users do, that Emacs is a strange creature.” Through nearly 40 years of continuous development, Emacs has accumulated a great many added features, which a user must comb through in order to choose which they need for their own work. Zahn explains how he came about the Emacs setup that is now available:

In the summer of 2014 Gary King asked for an Emacs configuration with a specific set of features, and I realized that my personal Emacs configuration already provided a lot of the features he was looking for. Since that time we’ve worked together to turn my personal Emacs configuration into something that can be useful to other Emacs users. The result is a well-documented Emacs initialization that focuses on configuring Emacs tools commonly used by social scientists, including LaTeX, git, and R.

Ista Zahn’s Emacs package for social scientists is available for download at

I stumbled over the word “convenient” in the title and not without cause.

Ista concedes as much when he says:

What the world needs now…

As of August 5th 2014 there are 2,960 github repositories named or mentioning ‘.emacs.d’, and another 627 named or mentioning “dotemacs”. Some of these are just personal emacs configurations, but many take pains to provide documentation and instruction for adopting them as your very own emacs configuration. And that’s not to mention the starter-kits, preludes and oh my emacs of the world! With all these options, does the world really need yet another emacs configuration?

No, the world does not need another emacs starter kit. Indeed the guy who started the original emacs starter-kit has concluded that the whole idea is unworkable, and that if you want to use emacs you’re better off configuring it yourself. I agree, and it’s not that hard, even if you don’t know emacs-lisp at all. You can copy code fragments from others’ configuration on github, from the emacs wiki, or from stackoverflow and build up your very own emacs configuration. And eventually it will be so perfect you will think “gee I could save people the trouble of configuring emacs, if they would just clone my configuration”. So you will put it on github, like everyone else (including me). Sigh.

On the other hand it may be that this emacs configuration is what you want after all. It turns on many nice features of emacs, and adds many more. Anyway it does not hurt to give it a try.

As he says, it won’t hurt to give it a try (but be sure to not step on your current Emacs installation/configuration).

How would you customize Emacs for authoring topic maps? What external programs would you call?

I first saw this in a tweet by Christophe Lalanne.

Emacs Mini Manual, etc.

Friday, October 2nd, 2015

Emacs Mini Manual, etc.

From the webpage:

Very strong resources on Emacs for programmers.

The animated graphics are a real treat.

I first saw this in a tweet by Christophe Lalanne.

Capturing Quotes from Video

Friday, September 11th, 2015

A new tool from The Times of London lets you easily detect and capture quotes from a video by Shan Wang.

From the post:

“As I went through these articles and came across a text quote, I kept thinking, ‘Why can’t I just click on it and see the corresponding part of the video and get the full experience of how they said it?’”

Surfacing the latest Donald Trump gem from a long, rambling video to share it in a story can be a chore. A new tool from The Times of London called quickQuote, recently open sourced, allows users to upload a video, search for and select words and sentences from an automatically generated transcription of that video, and then embed the chosen quote with the accompanying video excerpt into any article.

Users can then highlight a quote they want to use, edit the quote on the same page to correct for any errors made by the automated transcription service, and then preview and export an embeddable quote/video clip package.

At Github:

This is awesome!

I know what I am going to be doing this weekend!

Emacs for developers

Monday, September 7th, 2015

Emacs for developers by Pierre Lecocq.

Speaking of developers:

This document will (hopefully) help you to use Emacs as a developer.


  • Work in progress, so stay tuned.
  • Exports are handled by the author for the moment and do not reflect the very last changes (but are recent anyway). A scripted solution will be provided soon for contributors.

Contributions or requests

Do not hesitate to send a pull request or open an issue to fix, add, discuss, … etc.

If you are already a developer using Emacs, this document won’t be very interesting. If on the other hand you are a beginning developer or looking for the ultimate in configurability, this may hit the spot.

Even if you are using Emacs for development, scanning the documentation won’t hurt.

I discovered company-mode, “…a text completion framework for Emacs.” Company-mode accepts custom backends. I can think of several potential backends that would be real time savers.

Introducing LegalPad [free editor]

Thursday, July 2nd, 2015

Introducing LegalPad by Jake Heller.

From the webpage:

I’m thrilled to officially announce something we’ve been working on behind the scenes here at Casetext: LegalPad. It’s live on the site right now: you can use it, for free, and without registering. So before reading about it from me, I recommend checking it out for yourself!

A rethought writing experience

LegalPad is designed to be the best way to write commentary about the law.

This means a few things. First, we created a clean writing experience, easier to use than traditional blogging platforms. Editing is done through a simplified editor bar that is there only when you need it so you can stay focused on your writing.

Second, the writing experience is especially tailored towards legal writing in particular. Legal writing is hard. Because law is based on precedent and authority, you need to juggle dozens of primary sources and documents. And as you write, you’re constantly formatting, cite-checking, BlueBooking, editing, emailing versions for comments, and researching. All of this overhead distracts from the one thing you really want to focus on: perfecting your argument.

LegalPad was designed to help you focus on what matters and avoid unnecessary distractions. A sidebar enables you to quickly pull up bookmarks collected while doing research on Casetext. You can add a reference to the cases, statutes, regulations, or other posts you bookmarked, which are added with the correct citation and a hyperlink to the original source.

You can also pull up the full text of the items you’ve bookmarked in what we are calling the PocketCase. Not only does the PocketCase enable you to read the full text of the case you are writing about while you’re writing, you can also drop in quotes directly into the text. They’ll be correctly formatted, have the right citation, and even include the pincite to the page you’ve copied from.

LegalPad also has one final, very special feature. If your post cites to legal authority, it will be connected to the case, statute, or regulation you referenced such that next time someone reads the authority, they’ll be alerted to your commentary. This makes the world’s best free legal research platform an even better resource. It also helps you reach an audience of over 350,000 attorneys, in-house counsel, professors, law students, other legal professionals, and business leaders who use Casetext as a resource every month.

LegalPad and CaseNote are free so I signed up.

I am working on an annotation of Lamont v. Postmaster General 381 U.S. 301 (1965) to demonstrate it relevancy to FBI Director James Comey’s plan to track contacts with ISIS over social media.

A great deal of thought and effort has gone into this editing interface! I was particularly pleased by the quote insert with link back to the original material feature.

At first blush and with about fifteen (15) minutes of experience with the interface, I suspect that enhancing it with entity recognition and stock associations would not be that much of a leap. Could be very interesting.

More after I have written more text with it.

How to write a book in Emacs

Tuesday, June 16th, 2015

How to write a book in Emacs by Mickey Petersen.

From the post:

Writing a book is a time consuming process, and if you’re going to dedicate a year, or more, of your life to it, it makes sense to pick the best tool for the job. If you’re technically inclined – and if you use Emacs – then the choice is obvious.

As I recently finished writing a book on Mastering Emacs I figured I would share my thoughts, and ideas, on how to write a book – specifically my own book – in Emacs.

For all of its power, Emacs won’t write the content of the book for you but it can help with the details that go into writing.

I disagree with the choice of reStructuredText as a format but you can ascribe that to a long association with SGML/XML. I can read marked up text almost as easily as I can ASCII. And no I don’t read it in one of the visual editors. Nothing against them but Emacs is just fine.

But read the rest of the post for the many tips therein!

The Beauty of LATEX

Monday, May 25th, 2015

The Beauty of LATEX

From the post:

There are several reasons why one should prefer LaTeX to a WYSIWYG word processor like Microsoft Word: portability, lightness, security are just a few of them (not to mention that LaTeX is free). There is still a further reason that definitely convinced me to abandon MS Word when I wrote my dissertation: you will never be able to produce professionally typeset and well-structured documents using most WYSIWYG word processors. LaTeX is a free typesetting system that allows you to focus on content without bothering about the layout: the software takes care of the actual typesetting, structuring and page formatting, producing documents of astonishing elegance. The software I use to write in LaTeX on a Mac compiles documents in PDF format (but exporting to other formats such as RTF or HTML is also possible). It supports unicode and all the advanced typographic features of OpenType and AAT fonts, like Adobe Garamond Pro and Hoefler Text. It allows fine-tuned control on a number of typesetting options, although just using the default configuration results in documents with high typographic quality. In what follows I review some examples, comparing how fonts are rendered in MS Word and in LaTeX.

I thought about mentioning LATEX in my post about MS Office, but that would hardly be fair. LATEX is professional grade publishing software. Any professional grade software package takes user investment to become proficient at its use.

MS Office, on the other hand, is within the reach of anyone who can start a computer. The results may be ugly but the learning curve looks like a long tail. A very long tail.

Mastering Emacs (new book)

Saturday, May 23rd, 2015

Mastering Emacs by Mickey Petersen.

I can’t recommend Mastering Emacs as lite beach reading but next to a computer, it has few if any equals.

I haven’t ordered a copy (yet) but based on the high quality of Mickey’s Emacs posts, I recommend it sight unseen.

You can look inside at the TOC.

If you still need convincing, browse Mickey’s Full list of Tips, Tutorials and Articles for a generous sampling of his writing.


Removing blank lines in a buffer (Emacs)

Saturday, April 18th, 2015

Removing blank lines in a buffer by Mickey Petersen.

I was mining Twitter addresses from list embedded in HTML markup in Emacs (great way to practice regexes) and as a result, had lots of blank lines. Before running sort or uniq, I wanted to remove the blank lines.

All of Mickey’s posts are great resources but I found this one particularly helpful.

Emacs is My New Window Manager

Wednesday, January 21st, 2015

Emacs is My New Window Manager by Howard Abrams.

From the post:

Most companies that employ me, hand me a “work laptop” as I enter the building. Of course, I do not install personal software and keep a clear division between my “work like” and my “real life.”

However, I also don’t like to carry two computers just to jot down personal notes. My remedy is to install a virtualization system and create a “personal” virtual machine. (Building cloud software as my day job means I usually have a few VMs running all the time.)

Since I want this VM to have minimal impact on my work, I base it on a “Server” version of Ubuntu. however, I like some graphical features, so my most minimal after market installation approach is:

Your mileage with Emacs is going to vary but this was too impressive to pass it unremarked.

I first saw this in a tweet by Christophe Lalanne.

Be a 4clojure hero with Emacs

Wednesday, January 21st, 2015

Be a 4clojure hero with Emacs by Artur Malabarba.

From the post:

This year I made it my resolution to learn clojure. After reading through the unexpectedly engaging romance that is Clojure for the Brave and True, it was time to boldly venture through the dungeons of 4clojure. Sword in hand, I install 4clojure.el and start hacking, but I felt the interface could use some improvements.

It seems only proper to mention after Windows 10 an editor that you can extend without needing a campus full of programmers and a gaggle of marketing folks. Not to mention it is easier to extend as well.

Artur has two suggestions/extensions that will help propel you along with 4clojure.


I first saw this in a tweet by Anna Pawlicka.

JSONiq & XQuery Package for Atom

Saturday, January 3rd, 2015

William Candillon tweeted today:

JSONiq & XQuery support for @AtomEditor, powered by XQLint:

From the Atom homepage:

At GitHub, we’re building the text editor we’ve always wanted. A tool you can customize to do anything, but also use productively on the first day without ever touching a config file. Atom is modern, approachable, and hackable to the core. We can’t wait to see what you build with it.

It’s always good to see people not reusing current names in technology that might cause confusion.

If you have ever wondered about the source of semantic ambiguity in any language, find a mirror. It’s us. Every attempt to cure that ambiguity either creates more by re-use of current terminology with more precise meanings or by making up new a terminology, which never fully displaces the old.

Endless Parentheses

Wednesday, December 17th, 2014

Endless Parentheses

From the about page:

Endless Parentheses is a blog about Emacs. It features concise posts on improving your productivity and making Emacs life easier in general.

Code included is predominantly emacs-lisp, lying anywhere in the complexity spectrum with a blatant disregard for explanations or tutorials. The outcome is that the posts read quickly and pleasantly for experienced Emacsers, while new enthusiasts are invited to digest the code and ask questions in the comments.

What you can expect:

  • Posts are always at least weekly, coming out on every weekend and on the occasional Wednesday.
  • Posts are always about Emacs. Within this constraint you can expect anything, from sophisticated functions to brief comments on my keybind preferences.
  • Posts are usually short, 5-minute reads, as opposed to 20+-minute investments. Don’t expect huge tutorials.

The editor if productivity is your goal.

I first saw this blog mentioned in a tweet by Anna Pawlicka.

Emacs and Org Mode:…

Tuesday, December 2nd, 2014

Emacs and Org Mode: What People are Saying by Nick Higham.

From the post:

For a couple of years I’ve been collecting tweets about Emacs and Org mode. With the Twitter app’s new ability to provide code to embed tweets I decided to create a post listing the collection. If you are not an existing user of Emacs or Org mode these tweets should give you a feel for whether you might want to explore further. If you are already a convert then many of the sentiments expressed here will be familiar. Note that the links and hashtags below are clickable. (Like all of this Blog, this post was written in Org mode.)

Of interest to non-Emacs users.

I hear but don’t understand the objections to markup (XML/SGML) so the need to create plain text is lost on me.

Emacs as an editor is different question. I am currently using Emacs to edit approximately 4800 pages of OCR output. Its regex features are essential.

But if you are going to create plain text, Emacs is the way to go.

I first saw this in a tweet by Christophe Lalanne.

Clojure and Emacs without Cider

Thursday, October 2nd, 2014

Clojure and Emacs without Cider by Martin Trojer.

From the post:

I’ve been hacking Clojure for many years now, and I’ve been happy to rekindle my love for Emacs. The Clojure/Emacs tool-chain has come a long way during this time, swank-clojure, nREPL, nrepl.el and now Cider. The feature list is ever growing, and every-time you look there are some new awesome shortcut that will ‘make your day’.

However, the last couple of months have been rough for the Cider project. I’ve experienced lots of instability, crashes and hanged UIs. Cider has become very complex and is starting to feel bloated. I went from Visual Studio to the simpler & snappier Emacs for a reason, and there is a part of me that feel concerned that Cider is ‘re-inventing’ an IDE inside Emacs. If you want a full Clojure/IDE experience with all the bells and whistles, check out Cursive Clojure, its awesome.

In this post I’ll describe a simpler Emacs/Clojure setup that I’ve been using for the last couple of weeks. It’s much closer to ‘vanilla Emacs’ and thus has much less features. On the flip side, it’s very fast and super stable.

“…very fast and super stable.” That sounds good to me!

As Hesse would say: “Not for Everyone.”

EMACS: The Extensible, Customizable Display Editor

Thursday, August 14th, 2014

EMACS: The Extensible, Customizable Display Editor by Richard Stallman. (1981, Delivered in the ACM Conference on Text Processing)

From the introduction:

EMACS(1) is a real-time display editor which can be extended by the user while it is running.

Extensibility means that the user can add new editing commands or change old ones to fit his editing needs, while he is editing. EMACS is written in a modular fashion, composed of many separate and independent functions. The user extends EMACS by adding or replacing functions, writing their definitions in the same language that was used to write the original EMACS system. We will explain below why this is the only method of extension which is practical in use: others are theoretically equally good but discourage use, or discourage nontrivial use.

Extensibility makes EMACS more flexible than any other editor. Users are not limited by the decisions made by the EMACS implementors. What we decide is not worth while to add, the user can provide for himself. He can just as easily provide his own alternative to a feature if he does not like the way it works in the standard system.

A coherent set of new and redefined functions can be bound into a library so that the user can load them together conveniently. Libraries enable users to publish and share their extensions, which then become effectively part of the basic system. By this route, many people can contribute to the development of the system, for the most part without interfering with each other. This has led the EMACS system to become more powerful than any previous editor.

User customization helps in another, subtler way, by making the whole user community into a breeding and testing ground for new ideas. Users think of small changes, try them, and give them to other users–if an idea becomes popular, it can be incorporated into the core system. When we poll users on suggested changes, they can respond on the basis of actual experience rather than thought experiments.

To help the user make effective use of the copious supply of features, EMACS provides powerful and complete interactive self-documentation facilities with which the user can find out what is available.

A sign of the success of the EMACS design is that EMACS has been requested by over a hundred sites and imitated at least ten times. (emphasis in the original)

This may not inspire you to start using EMACS but it is a bit of software history that is worth visiting.

Software development doesn’t always result in better software. Or at least the thirty-three years spend on other editors hasn’t produced such a result.


Tuesday, July 22nd, 2014


From the webpage:

  • integrated LaTeX environment for Windows
  • powerful LaTeX editor with auto completion
  • full UTF-8 support
  • document navigator for easy navigation and referencing
  • tight viewer integration with forward and inverse search
  • quick setup wizard for MiKTeX
  • trusted by millions of users around the world
  • free and open source (GPL)

I need to install this so I can run it in a VM on Ubuntu. 😉

Seriously, this looks really cool.

Let me know what you think. This could make a great recommendation for Windows users.

I first saw this in a tweet by TeX tips.

List of Emacs Starter Kits

Monday, July 14th, 2014

List of Emacs Starter Kits by Xah Lee.

A list of nine (9) Emacs starter kits and links to tutorials.

No, sorry, there is no recommendation on which one is best.

Depends on your preferences and requirements. But unlike some editors, no names, they are completely customizable.

I first saw this in a tweet by ErgoEmacs.

Bad Spellers and Typists Rejoice

Sunday, July 13th, 2014

Bad Spellers and Typists Rejoice

From the post:

Some people are bad spellers or at least consistently have trouble with certain words. Others can spell but are poor typists and constantly mistype words. Some, I suppose, fall into both categories. If any of this describes you, don’t despair: Bruce Connor has a solution for you.

Over at Endless Parentheses he presents a bit of Elisp that will look up the correct spelling with ispell (or aspell or whatever you’re using) and make an abbreviation for your incorrect spelling so that it will be automatically corrected in the future. It’s probably not for everyone but if you consistently make spelling errors—for whatever reason—it may be helpful.

Endless Parentheses is a fairly new blog that concentrates on short, mostly weekly, Emacs-oriented posts. As of this writing there are only eight short posts so you might want to read them all. It won’t take much time and you’ll probably learn something.

It sounds like they are playing my song!

I make the same spelling errors consistently! 😉


Light Table 0.6.7

Thursday, July 10th, 2014

Light Table 0.6.7 by Chris Granger.

From the post:

I just pushed 0.6.7, which while a small release has a few important bug fixes. There’s been a weird seemingly random issue with saving and sometimes evaling that forced you to switch tabs to get things correct again. That has finally been tracked down and fixed. Proxy support was added, initial load of workspace behaviors was fixed, and creating a clojure client by selecting a project.clj has been cleared up to. Thanks to everyone who contributed!

Time to download a new version of Light Table.

Better for errors to be from you than from the iDE. 😉

An Advanced Clojure Workflow

Monday, July 7th, 2014

An Advanced Clojure Workflow

From the post:

This is my workflow. There are many like it, but this one is mine.” –Anon.

This is the first in a sequence of posts about my current workflow for developing in Clojure. I call this workflow “advanced” because it takes time to learn the various tools involved, but also because it allows me to tackle harder problems than I otherwise could.

The basic ingredients of this workflow are:

  • Lisp-related editor enhancements, including parenthesis magic, and, especially, in-editor REPL integration.
  • Continuous testing with instant display of results
  • Notebook-style semi-literate programming with continuous updating of documentation, display of math symbols, and in-page plots.

My setup has evolved over time and I expect it will be different by the time most people read this. I have found, though, that the right combination of tools allows me not only to manipulate Clojure code and see results quickly, but also to think more clearly about the problem at hand. In my experience, this leads to simpler, more elegant, more maintainable code.

These tools and techniques provide a sort of “sweet-spot” – they help me be productive in the language, and I find them fun to use together. Your mileage may vary – I have seen people be productive with vastly different workflows and toolsets.

In the first post in this series (Emacs Customization for Clojure) we learn:

I have been using Emacs since the 1990s, though I still consider myself a novice (Emacs is that way). Though good alternatives exist, over half of the Clojure community has adopted Emacs despite its lack of polish and its Himalayan learning curve. Emacs is massively customizable, with hundreds of plugins available, and can be extended to just about any degree using its own flavor of Lisp.

Could over half of the Clojure community be wrong?

It’s possible, but highly unlikely. 😉

I first saw this in a tweet by Christophe Lalanne.

Read Lisp, Tweak Emacs

Sunday, June 15th, 2014

Read Lisp, Tweak Emacs by Sacha Chua.

Sacha is writing a series of posts on reading Lisp and tweaking Emacs.

Thus far:

And she is writing content for an email course on Lisp and Emacs, that can be found at:

Not that Emacs will ever be a mainstream editor for topic maps but it could be useful to experiment with features for a topic map authoring/editing environment.

How to translate useful features into less capable editors will vary from editor to editor. 😉