summaryrefslogblamecommitdiffstats
path: root/2020/info/02.md
blob: c223104950a8544c506dac44858cba1143a178c0 (plain) (tree)
1
2
3
4
5
6
7
8
9
                                                           

          


                                                                                                                                                                                   

                                                                     
                                                                     












                                                                      
                                            

                                      
                      
 
           
 
                                                     



                                                                 
                                                                                                       


                                             
                                                                                                                                                                                            
 
                                                                          
 
                                                                                                          
 






                                                                      
 
                                                                                                                                                       
 
                                                               
                                                                       


























                                                                           
# An Emacs Developer Story: From User to Package Maintainer
Leo Vivier

[[!template id=vid src="https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--02-an-emacs-developer-story-from-user-to-package-maintainer--leo-vivier.webm"]]  
[Download .webm video, 720p, 296MB](https://mirror.csclub.uwaterloo.ca/emacsconf/2020/emacsconf-2020--02-an-emacs-developer-story-from-user-to-package-maintainer--leo-vivier.webm)

In light of the new development philosophy for Org-mode, I would like
to present my developer story from discovering Org-mode in 2014 to
becoming a maintainer for a big package in 2020.  The goal is to show
the logical progression between interest, gaining skills, becoming an
expert, authoring, contributing and maintaining, in hope that it would
bolster people to do the same.

As someone who majored in a non CS-related degree, I feel that my
story has a potential to grasp the attention of many attendees, since
I basically started from the bottom of the ladder.  Most people should
be able to relate to one step on that ladder, which should hopefully
encourage them to reach for the next step.

My init files, which show the organic growth of my configuration:
<https://github.com/zaeph/.emacs.d>

Org-roam, the package which I am maintaining
<https://github.com/org-roam/org-roam>

<!-- from the pad --->

# Questions

## how did the freedom of Emacs help you on your way?

(was missed and unanswered) no, he said he got into free software
development via emacs

## What's the most recent Emacs package or tool you've discovered that you've added to your repertoire?

 Beacon <https://github.com/Malabarba/beacon>

## Please show off your three-piece suit before you end your talk. (Requires fixing your frozen camera. If this is not possible, please post suit selfies at an easily accessible location.)

## Have you read "Dirk Gently's Holistic Detective Agency"? (Recommended!)

## What is your advice to start learning elisp language ? Any particular good ressource or any other tip ?

- `(info "An Introduction to Programming in Emacs Lisp")` correction:
  `(info "(eintr)")`
- Read code, write code, read documentation, repeat. Eventually you'll
  go from customizing Emacs to writing your own packages.  Emacs
  makes it easy to learn about the bits you're interested in, you can
  get far with taking small steps.
- Mastering Emacs <https://www.masteringemacs.org/>

## Any recommendation for good packaging guides or places to start? I get a bit overwhelmed by some things e.g. the choice of different test frameworks

- See <https://github.com/alphapapa/emacs-package-dev-handbook>
- Old but still relevant: <https://www.youtube.com/watch?v=QRBcm6jFJ3Q>
- Things that a new major mode could hook into:

# Notes

- English Major from France and freelance software engineer
- zaeph is my new role-model for speaking the English language as a
  second language
- Maintainer of org-roam: <https://github.com/org-roam/org-roam>
- Became interested in using plaintext for organisation after reading:
  <http://doc.norang.ca/org-mode.html>
  - accompanying video
    <https://toobnix.org/videos/watch/1f997b3c-00dc-4f7d-b2ce-74538c194fa7>
- <http://doc.norang.ca/org-mode.html> Organize your life in plain
  text
- Supercategory --- yeah I've had that use case :-)
- I really much like this format: insight on personal development
  without screensharing but in person
- <https://www.gnu.org/software/emacs/manual/eintr.html> Beginner
  guide to elisp
- edebug → awesome `(info "(elisp) Edebug")`
- I really like this pad. +1+1+1+1
- Guaranteed best dressed speaker, even before knowing what all the
  others look like ;-)
  - 3-piece suit color-coded to emacs and org-mode
- To newcomers: in my case emacs-devel and emacs-sources were amazing
  resources for learning; the people were SO generous with their time,
  to share comments and ideas to improve code.