## Zamansky 30: Elfeed (2)

Mike Zamansky has video number 30 up in his Learning Emacs series. It’s the second video in his series about Elfeed, an RSS reader for Emacs.

Zamansky says that he generally likes Elfeed but that it’s inconvenient to jump to a category of feeds. For example, if you want to see all the entries tagged “Emacs” you have to type in a longish search string. Zamansky solved this with a hydra. He types one key to bring up the hydra and then another to choose the category he wants to see. That works well and makes navigating your feed almost frictionless.

If you’d like to try Elfeed, you’ll want something like Zamansky’s solution to speed things up. The video is a little over 11 minutes so it should fit well in a coffee break.

Posted in General | Tagged | 1 Comment

## Emacs vs. Vim

Emacs versus Vim. It’s an always entertaining argument and we all have fun with it from time to time. My own views, as I’ve expressed often on Irreal, are that they’re both really good editors and the editors of choice for most serious, topnotch developers.

There is, to my mind, a difference: If you want a fast simple editor that does one thing well, Vim is probably your best bet. If you want a programming/editing platform that provides a framework that allows you to build the perfect (for you) editing and workflow environment, Emacs is probably the right choice.

Chris Siebenmann has a post that approaches the problem from the point of view of someone conversant in both. Although he appears to be most comfortable in Emacs, he’s been using Vim a lot and likes it. He’s been wondering if he should switch to Vim and be done with it. At the end of the day, he chose to remain with Emacs for the same sort of reasons that I expressed above: Emacs is so easily configurable and there are so many 3rd party packages for it that it seemed like a better choice for him.

Be sure to take a look at his post to get his unfiltered opinions on the subject. I can only say that I came to Emacs (from Vim) because of the Lisp integration (Slime, etc.) and stayed because it provides me with a wonderful, flexible, work environment.

Posted in General | Tagged | 3 Comments

## Emacs as a LaTeX Editor

Piotr Kazmierczak has a nice post on how to configure Emacs as a LaTeX editor. That involves AUCTeX, of course, but there’s some nonobvious configuration that can make things a bit better.

At one time, everybody not using Word or one of its evil offspring pretty much worked in $\LaTeX$ and if you were an Emacs user it would be silly not to use AUCTeX. These days it’s easier to just write in Org mode and export to $\LaTeX$. For nontechnical documents that’s certainly easier but even for serious scientific writing you can probably get by with Org mode as John Kitchin has demonstrated more than once.

Still, sometimes it’s convenient to drop into $\LaTeX$ and AUCTeX and for those times, Kazmierczak’s post is helpful. Get it set up and when you need it, it’s there.

Posted in General | Tagged | 2 Comments

## Zamansky 29: Elfeed (1)

Mike Zamansky has another video in his Using Emacs series up. It is the first of two or three posts on Elfeed. For those who don’t know, Elfeed is an Emacs-based RSS reader written by Christopher Wellons. If you’re striving to live in Emacs and have an RSS feed, this may be just what you need.

Like Zamansky, I’m a Feedly user and really like it. If you’re still looking for a Google Reader replacement, I can’t recommend it enough. Still, it would be nice to move this functionality under Emacs. I’ve often been tempted to try out Elfeed but Feedly was working for me and, as they say, the perfect is the enemy of the good. Of course, I thought that about ido until Zamansky convinced me to try swiper and counsel and now I wouldn’t go back.

My only sticking point is that, as far as I can tell, I wouldn’t be able to read my feed on my iOS devices. I don’t do that very often but it’s a consideration.

If you find yourself in my position, be sure to check out Zamansky’s video. I’m going to watch the rest of the series before I make up my mind on whether or not to change but it has given me another attractive option to consider.

The video is 13 minutes, 43 seconds long so it should be easy to find some time to watch it.

Posted in General | Tagged | 4 Comments

## Red Meat, Editor Edition

Struggling to get through the midweek hump? Here’s a bit of red meat to get you revved up.

Posted in General | Tagged | 1 Comment

## Using a Local Bibliography File with Org

Charl Botha has posted a handy guide to using a paper-specific bibliography file with Org mode. His use case is roughly that he wants to manage his bibliography with Zotero but wants to use Org Mode and John Kitchins org-ref package to write his papers. He also wants a small, paper-specific bibliography file that he can keep with the paper source.

That turns out to be pretty easy to do. You configure Org to use latexmk in your init.el file and add a few lines of headers to your paper source and everything works as you’d expect. Botha has a small example to show the entire process. See his post for the details.

For another take on the Org mode/Zotero workflow, see this comment by Muad Abd El Hay to a previous post of mine on Zotero workflows. It also uses org-ref but exports the entire bibliography from Zotero every time the database is changed.

## Another Emacs/GCal Solution

Last month, I had three (1, 2, 3) posts on how people are integrating their Google Calendars with Emacs. The common idea was to be able to see some or all of the calendar items in Emacs. Mike Zmansky’s solution goes further and allows you to move data in both directions so that you can add data to your Google Calendar from Emacs.

James Williams has his own take on the problem. Like Zamansky, he uses org-gcal to move entries between Emacs and GCal. He also uses emacs-calfw to get a nice calendar-like display.

Even if you’re not a GCal user, you may be interested in emacs-calfw. It can be configured for use with Org, Emacs diary, iCalendar (GCal, iCal, etc.), and howm.

These four solutions for integrating GCal show again how easily you can adapt Emacs to your workflow. And, of course, how you can spend most of your time in Emacs.

## Migrating Notes from Evernote to Org

I use Evernote to keep copies of resources that I think may disappear over time and I’m pretty happy with it. Recently, they’ve introduced a new fee structure and there’s been some grumbling about finding another platform. As I say, I’m happy with them for now but if you’re looking for a way to migrate off Evernote and you’re an Org mode user, Karl Voit tells us one way to do it

Everorg was written by Mario Martelli to migrate his Evernote data to Org mode because of the new pricing policy. It appears to be pretty complete—see the README—but if you have special needs you may have to do part of the migration by hand.

Again, I’m happy with Evernote for the time being so I haven’t used EverOrg but if you’re looking for a migration solution EverOrg is the best I’ve seen.

## Starting with Scheme

Mike Zamansky has an interesting post on using Scheme as a first language for CS instruction. That’s not a new idea, of course. MIT’s famed 6.001 course (Entry Level Computing) used Scheme and SICP for years. Their course was adopted by over a hundred other universities and still has a die-hard following.

What makes Zamansky’s post a bit different is that he is talking about using it for a first High School course in computing. Many folks are surprised by this because they think of Scheme as being esoteric and hard—it’s Lisp, after all—but the reverse is actually true. Scheme’s trivial syntax makes the language mostly easy to learn and understand. I remember either Abelson or Sussman (I don’t recall which) remarking that in 6.001 they didn’t even bother to formally cover Scheme. The students just picked it up as they went along.

You can see that approach in action in Abelson’s and Sussman’s astounding video lectures based on SICP (here’s YouTube if you prefer). They talk about Scheme and it’s features as they come up in the lectures and don’t bother devoting a separate block to it. (If you haven’t watched these lectures, stop whatever you’re doing and start. I watched them after years of experience and was amazed at how much I learned.)

You can read why Zamansky thinks Scheme is often a good idea for a first course. I mostly agree with him. The only thing I found surprising was that he got some push back from parents for using such a non-mainstream language. It’s encouraging, I guess, that the parents are knowledgeable enough to comment on the choice.

## ESR Evaluates Go

Last month I wrote about Eric Raymond’s (ESR) work on NTPsec and his comparison of Go and Rust with a view of replacing C with one of them as an implementation language. As part of his work on that comparison, he undertook a nontrivial project in Go.

That project was to rewrite (and improve) David Wheeler’s SLOCcount program. Counting program lines may not sound like much of a challenge but it turns out to involve more than just wc. ESR recounts his work and findings in his blog post Grappling with Go. Even if you don’t know Go, it’s interesting and worth a read. I especially liked the way he leveraged the Communicating Sequential Processes model (CSP) to handle synchronization between threads. I remember reading about CSP years ago and I even downloaded some AT&T code to play with it but I’ve never seen it used in a real application.

The project page for ESR’s SLOCcount replacement is here if you want to try it out or you can see the code at the project’s Gitlab page. Even if you’re not conversant with Go, it’s sufficiently C-like that you should be able to understand most of the program if you’re familiar with a C-like language.