SL / EN

Reflection on my Emacs use

Table of Contents

EmacsConf 2024 is a good opportunity to look back at my Emacs journey and reflect. This is the second time we organized pizza and collective watching of the EmacsConf live stream.

How it started

This is a point when I check my CV to check when I enrolled in Uni (wow - it was 2006, so I'm using Emacs since 2007). I studied theoretical physics at Faculty of Mathematics and Physics and we had a decent amount of programming courses at the program so when I started with python I was struggling with setting up an environment and connecting all the libraries (numpy, scipy, matplotlib, tkinter) I needed. It was painful and when trying to figure out how to do it on Microsoft, I read that this is much easier to do on GNU/Linux so I invested a few days into setting up GNU/Linux on my computer and I also read a lot about Free Software on gnu.org. I was frantically expecting the year of the Linux desktop at that time.

Pretty much from the beginning I wanted to live inside of Emacs but wasn't very successful. I did set up gnus to read emails but did not get comfortable using it. Instead I started using webclient through conkeror web browser which is now sadly discontinued but it was greatly influenced by Emacs' philosophy and extensibility. I was very happy when nyxt browser came out but I did not find the time to learn it and start using it.

But what I came up with my Emacs setup was a nice python development environment where I had several windows open, for writing code, running code and writing reports in LaTex. I spent a while configuring Emacs and reading of manual but I never got into inner workings which must be taken as a big note to myself: try to understand harder the Emacs configuration I copy/paste into my dotemacs file.

Anyways, somewhere along the path came Spacemacs, a batteries included Emacs distribution, and it probably set me back with my understanding of Emacs inner workings. It was so easy to use, just add a layer and you automatically get nicely configured set of Emacs packages, focus on usage instead of investigating what's available and how to configure it.

How it's going

Well, I have a chunk of custom configuration in my .spacemacs file, with the really useful custom keybinding:

(spacemacs/set-leader-keys "C->" '(lambda () (interactive) (other-window 1)))
(spacemacs/set-leader-keys "C-<" '(lambda () (interactive) (other-window -1)))

Aside from that, there's also config for mu4e, mastodon, w3m.

I have these layers installed: helm, clojure, auto-completion, markdown, html, emacs-lisp, git, restclient, org, shell, mu4e, python, yaml, w3m, treemacs, scheme and csv.

For the sake of this blogpost I also installed Spell Checking layer.

I have these additional packages installed: all-the-icons, all-the-icons-dired, buffer-move, ac-php, company-php, yasnippet-snippets, crdt, transcription-mode, mastodon, sicp, ob-php.

Timeline

cca 2007
Start using Emacs (and got sucked into Free Software)
cca 2014
Start using Spacemacs
5. 10. 2016
Radio Show: Emacs Vs Vim (in Slovene)
Jan 2023
Join/Start Emacs User Group Slovenia

Emacs user group Slovenia and crdt

Big step forward was joining the Emacs user group Slovenia. @yang gave the initiative. Owlet of Minerva is our most seasoned member and we learned a lot from him. Having people around you that you can ask for help gave me motivation to set new goals.

Another game changer was crdt. We write our EugS meeting notes collaboratively with it and we also do some emacs-lisp hacking that way. With @g1smo we tried different tools to have real time collaborative editing environment for our journalistic endeavors (we are running a monthly tech critical radio show called Techno enema) in Emacs (floobits) with Org mode but the user experience was not satisfying and we settled on using Etherpad. A few years ago we moved to Hedgedoc since we're still missing a public Emacs instance with crdt enabled (that is one of the goals of EugS).

Accomplishments

  • I have my own blog in Emacs (you're reading it)
  • I'm part for a small Emacs user Group from Ljubljana, Slovenia

Where I'd like to be [0/8]

  • [ ] Agenda
  • [ ] mu4e (I have it working but thunderbird has my calendars)
  • [ ] Improve the blog:
    • RSS
    • tagging system
    • gemini protocol
    • activity pub protocol
  • [ ] IDE for Drupal development
    • mostly missing seamless xdebug
  • [ ] irc/matrix chat client
  • [ ] mastodon.el
  • [ ] get proficient in elisp
    • how to debug
  • [ ] Public emacs instance with crdt
    • collaborative org notes
    • collaborative CMS website(s)
    • collaborative project management with org mode and agenda

Date: 2024-12-08 Sun 00:00

Emacs 30.0.92 (Org mode 9.7.11)