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