Sacha Chua

How I use Emacs


I used to use PlannerMode a lot. Then I switched my blog to Wordpress ( and started using Emacs Org + Toodledo for my task management. Now I use org2blog to post some entries from my Giant Org File of Awesomeness.


I used to use Gnus, the built-in mail/newsreader that slices, dices and juliennes - not as easy to integrate into a Windows-based workflow, though. When I used it, I had basic splitting set up to file my mail into separate groups neatly organized in a hierarchical tree that allows me to see at a glance how much mailing list messages I’ve received. I used “c” to catch-up groups or even whole subtrees, mark threads as read or even uninteresting. Adaptive scoring meant that I don’t have to manually specify my reading preferences - gnus learned what I don’t like to read, so that I don’t have to read related messages next time unless I really want to. I’d set it to score down all messages from hotmail or aol unless I like the author. ;) I elided mailing list identifiers so I don’t see those [….] things, banners like the ads at the end of yahoogroups, really long signatures or To: headers. Gnus is definitely a mail/newsreader for the netiquette-sensitive. :-)

BbdbMode integrated well with Gnus, so I could easily bring up or create contact records for the people I receive mail from. I had Gnus automatically add notes for the people I know, and it’s interesting to see what mailing lists people are subscribed to. I could add notes, check phone numbers, and even see when someone wrote me last. (Time to write a “Haven’t heard from you in a while!” note…)

Mail is a somewhat dangerous thing to experiment with, of course. :-) I had lost some outgoing mail due to masqmail silently failing if you specify the -f flag (evil!), but some debugging later turned up a message-sendmail-f-is-evil variable I could set to t. I have since then moved to postfix so that I could use + as an address separator, so I haven’t needed that.

(outdated - I no longer send text messages from my computer. I’m in Canada now, and text messages are expensive!)

Ah, yes, text messaging. SMS is pretty big here in the Philippines. I am a lazy computer geek who would rather type than fish out my cellphone and start texting. Besides, I kinda like having all of my text messages stored on my laptop - search, store, reply, and even see threaded displays. :-) I used to use gnokii, alamin, postfix, bbdb and gnus in order to have practically seamless SMS sending. :-) Here’s how it works. I’ve set up alamin (a GSM-SMS gateway that can talk to a gnokii-supported phone) to poll my cellphone for incoming text messages and convert any such to e-mail messages from alamin+<SOMENUMBER>@localhost to sacha@localhost. I receive those messages in Gnus in my mail.text group, and BBDB steps in to fill in the name from my contact database thanks to (gnus-summary-line-format “%U%-40,40uB %S\n”), (bbdb/gnus-summary-prefer-bbdb-data t) and (bbdb/gnus-summary-prefer-real-names ‘bbdb) in the group parameters. My reply is processed by postfix and piped through email2sms, a short Perl script I wrote that just invokes alamin’s client program. Alamin queues the message and tries to resend it at regular intervals until it is finally sent. No more dealing with “Message failed.” or lack of signal, and I get a full record of all of my text messages, and I can text while in class.. ;) Unfortunately, I don’t have a serial port any more, and my phone is not Linux-friendly. Can’t pull off this neat hack these days.

Taking notes

I keep my notes in plain text files. I find that typing on my laptop encourages me to keep more complete notes because I can type faster than I handwrite (and it’s much less tiring!). OrgMode makes it easy to keep my notes in outline mode.

Internet relay chat

ERC! EmacsIRCClient forever. Well, not really forever, but I’ve tried quite a few Internet relay chat clients and I must say that ERC is really cool. erc-track lets me keep track of channels that have changed even though I’ve got my notes maximized, and since it’s part of my editor I can easily cut/paste/navigate/tweak/do-funky-stuff. I hang out on Freenode #emacs, and it’s tons of fun.



  • 04:34 UTC Book: Helping Children Succeed: What Works and Why (Paul Tough)2020-07-05a Helping Children Succeed – Paul Tough #book #education.png Here are my notes on Paul Tough’s 2016 book Helping Children Succeed: What Works and Why. It turns out that he’s made the book freely available online, so you can read the book with embedded videos and links. The main thing I got from it is […]


  • 18:30 UTC 2020-07-06 Emacs newsEmacs configuration: Adding keybindings to Doom Emacs – Rameez Khan Override global-set-key in Emacs The Pepe Emacs config – autocomplete, magit, neotree, Emacs code browser, tabbar, company, powerline Emacs development: Do pretests reach end users? Will Guilemacs/Remacs ever become a reality? If not, then what will the future of emacs look like? Does emacs need […]


  • 04:23 UTC Weekly review: Week ending July 3, 2020Us: I linked tags and fixed the search feature in my sketch viewer. I added more flexibility in referring to images, got rid of Coffeescript, and updated from Node 8 to 10. I remapped my tablet’s bezel buttons to make it easier to use Krita, and I switched to using Krita’s built-in grid instead of […]


  • 15:28 UTC Monthly review: June 20202020-07-02 June 2020 #monthly #review.png I made a font based on my handwriting using FontForge, Python, Org Mode, and Medibang Paint. I drew with crayons and with my tablet. I tweaked my Krita workflow by remapping buttons. I sketched an overview of the Ontario Kindergarten 2016 curriculum. I made my journal more visual, and I […]


  • 04:35 UTC 2020-06-29 Emacs newsBeginner: Introduction to Emacs – Linux Hint Emacs Notes: Emacs TUTORIAL Re-imagined Roadmap for Emacs Basics (Reddit) Emacs configuration: chemacs, the Emacs profile switcher, is kinda cool | Random Geekery Emacs Lisp: standard-dirs.el: Emacs library for providing platform-specific paths for configuration, cache, and other data. (Reddit) Emacs development: Add NEWS entry for bug-reference auto-setup. The […]


  • 04:53 UTC Weekly review: Week ending June 26, 2020On reflection, I’d like to get back to a weekly review. A month is too long. A week is just about the right size for me to think about things. I’ve been able to fit 2-3 hours of discretionary time after A-‘s bedtime, which is great for making progress on all these things I’ve been […]


  • 05:16 UTC 2020-06-22 Emacs newsBeginner: Exploring Emacs Ⅰ: What Is Emacs and Why Should You Use It? (Reddit) Exploring Emacs Ⅱ: Installation and Basic Usage (Reddit) Emacs configuration: Using Emacs – 10 – org init files – C’est la Z Emacs Lisp: {ANN} A GitHub Action for Emacs Lisp CI What’s in an Emacs Lambda « null program Lindydancer/face-explorer […]


  • 02:16 UTC I’m learning to draw with crayonsWe have a huge box of assorted crayons left over from J-‘s childhood, so I decided to make it one of my life goals to finish the box. Besides, I think A- will develop a stronger appreciation of how fun making art is if she sees me learning how to enjoy it myself. Today she […]


  • 03:00 UTC 2020-06-15 Emacs newsEmacs configuration: Emacs Configurations · Colin McLear Useful Emacs Lisp Scripts � AZZAMSA countdown-timer emrc: EMacsRu metapackages collection Emacs Lisp: Intro to Emacs Lisp: Adding Live Previews when Editing Markdown Files (Reddit) Emacs & Websockets (Reddit) markov-text: Markov chain text generation in Emacs Lisp melpazoid: A bundle of CI scripts for testing Emacs packages, primarily […]


  • 03:08 UTC 2020-06-08 Emacs newsEmacs configuration: modules.el: Organize your emacs config into small manageable modules (Reddit) sunnyhasija’s doom emacs configuration files Emacs development: Compelling reasons to use emacs 27 or 28 right now? Continued discussion on the squareness of Emacs Branching discussion of “What is the most useful potential feature that Emacs lacks?” – collaborative editing The key prefix […]


  • 03:01 UTC Having fun kerning using Org Mode and FontForgeIt turns out that working with font bearings and kerning tables using Org Mode makes lots of things so much easier. While trying to figure out kerning, I came across this issue that described how you sometimes need a character-pair kern table instead of just class-based kerning. Since I had figured out character-based kerning before […]


  • 04:14 UTC Monthly review: May 2020I’ve missed reviewing my journal entries. My weekly and monthly reviews had gotten a little unwieldy because my daily journal entries captured so many of A-‘s adventures. Household I experimented with using Grocy to track our pantry inventory, and I tried to modify the source code to make it easier to get the views I […]



  • 03:29 UTC 2020-06-01 Emacs newsBeginner: How do I actually get into Emacs? Emacs Resources | Patrick Simpson Emacs configuration: {Package of day} Straight – A package manager for Emacs hacker (Reddit) What are your useful hydras? Reflections on turning Transient Mark mode on by default and set mark-even-if-inactive to true by default in Emacs 23.1. Advantages and disadvantages of […]


  • 01:26 UTC 2020-05-25 Emacs newsBeginners: Doom, Emacs & Windows How to learn Emacs | IT PRO – Emacs tutorial that gets to org-babel quickly Emacs configuration: Best way to try out different emacs configs Looking for advice on a .emacs rewrite Assimilate Emacs packages using Git submodules display-buffer-control: Control how to open buffers matching specified conditions Emacs: window rules […]