Welcome to another edition of Eight Questions For …, where I pick the brains of plain text enthusiasts from around the world and around the web.
This time around, I chat with Gabriel Rider, who works for an engineering firm. At the moment, Gabriel works with SQL on PLC ladder logic programming. He also codes helper programs (mostly in QT C++) to help himself and others in his profession accomplish tasks.
Gabriel’s focus with plain text is quite techie. That said, he has a very simple but useful way of using plain text for his to-do lists.
Let’s hear from Gabriel:
When did you start using plain text?
About a year after I started Linux, I was trying to refresh my knowledge of C++. It had been a while since I had a programming class. I was just using QT Creator (a programmer’s tool), but I didn’t realize that a Linux terminal with g++ (a complier) for standard library stuff was much easier.
Why did you start using plain text?
To be honest, because I became a huge fan of Richard Stallman and learned about the creation of Emacs. I figured that if it’s good enough for Richard Stallman, it’s good enough for me.
What do you use plain text for?
Quite a bit. Right now in SQL, I have found that in some cases it is much easier to create certain queries (or at least the structure of certain queries) in plain text rather than in the SQL Server-like Design Mode that the database that I administer supports natively.
When creating a word processor document that my colleagues or customers will expect to be in .docx format, I tend to make it first in plain text, then copy and paste the plain text into the Word document before formatting.
When programming in QT, I use plain text about half the time. Sometimes it is much easier to use the IDE of QT Creator, but sometimes it is much easier to use the tools in Emacs to speed up the process.
I also create daily task lists in plain text. When possible, I prefer to use Emacs SES (Simple Emacs Spreadsheet) to work with formatted spreadsheets than to work in Excel, Calc, or Gnumeric.
What keeps you using plain text?
Simplicity. I just write. If it needs to be formatted later, then I do so. With word processor documents, I find that it provides an extra layer of proof reading and correction of the work.
With C++, SQL, or any other languages, I feel that I know the language better if I can write it in plain text rather than using the IDE helper.
Do you use any markup or formatting languages? If so, which ones and why?
No. I have my own special markups for my to do lists to mark items as done.
- Multiple _XXX_s at the end mean that the item was done.
- Multiple _YYY_s at the end mean that the item was worked on that day.
- Multiple _NNN_s at the end mean that the item is new.
- An item that is surrounded by () needs feedback from a colleague or customer.
- An item that is surrounded by  has problems or setbacks that need to be solved before it can be moved forward with (something out of my control.)
What are your favorite plain text tools or applications?
Emacs for sure. Not just Emacs, but also Ergo Emacs, and my own custom Emacs Lisp functions.
It has been hard so far not to mention, but I don’t think I could do any job nearly as efficiently without these tools. Ergo Emacs is recommended. It makes it much easier to convince anyone else to adopt Emacs if they don’t have to learn all new command for copy/paste/ etc. and everything is actually ergonomic as the name implies.
Some of the custom Emacs Lisp function I have created do the following:
- Generate my to do lists each morning (I know there’s Org Mode, but where’s the fun in that?)
- Mark my to do lists.
- Automtically generate a SQL IN function
- Highlight a series of text by regular expression that when searching lists.
- Generate a change log summary.
- Create a series of SQL Like functions separated by a logical OR.
- Generate a SQL SELECT function via user input.
- Generate a SQL UPDATE function via user input. This one also creates a SQL SELECT function with the same user inputted criteria so that the user can make sure that the “UPDATE” function worked just fine.
Is there one tool that you can’t do without?
Emacs with Ergo Emacs. I seriously don’t understand why there can’t be a word processor such as Libre Office Writer that has the same keybindings. I would probably use Emacs just the same though.
When it comes to hardware, I have recently started using a GoldTouch keyboard — the same model as this one. This, along with Ergo Emacs,has helped save me from a repetitive stress injury that I started to get recently.
Is there anything you can’t do with plain text?
There are some queries that get really complicated. I keep a spreadsheet of all of the tables and fields in our database, as well as the table links and how the tables are linked (both with code and the Design View).
Even with that, it is still difficult to see how tables are linked if I am using more than two or three tables. Most queries are not this complicated, though.
You can learn more about Gabriel’s work on his GitHub page. Gabriel notes that he hasn’t populated it enough yet. Just a simple Bash script so far. I plan on filling it with a few projects soon.