I’m not into emacs, but is there a short summary why one would prefer orgmode over markdown for notes and more specific tools for other jobs (tasks)?
You can use org-mode as a notes-taking system, and that’s how I started using it, but it includes way more stuff:
This covers my use of org, there are many more features that I don’t use!
For me org-mode is a one stop replacement for markdown/jupiter notebooks/literate programming/presentations.
Just think of any time you’ve ever seen a README.md with a code snippet + output and a diagram. Now imagine if the only piece you actually had to write yourself was a code snippet + graphviz snippet.
I’ve used it for more than a decade, for a lot of different things. It started when I studied at a university, to take notes, organize TODOs, grew into managing my schedule (using TODOs , deadlines and…well the schedule feature) and writing drafts for assignments etc. Used it on my very basic netbook with great success.
For work, I’ve used it to keep track of my time reporting, tracking bugs, and taking notes.
I’ve also used the table feature a lot, combined with the calculation functions to replace Excel for simple stuff and some moderately difficult stuff. The timetable plugin is also quite nice if you are using the time tracking.
My most recent hack (from today) is to use bug-reference-mode with a custom regex to make bug numbers clickable, and having these links take me to our ticket system and the correct ticket. This is not org-mode but it’s a part of why I like it so much - you can easily extend org-mode (and Emacs, in general) to make it better for me.
Clojure does as well, as probably most lisps.
Yup, Scheme allows it too
I’m curious about this now. I had thought from my research that Scheme would not allow this in the presence of modules. If I have a Scheme module that defines a and exports b which calls a and c which calls a and b, can I overwrite a from outside the module so that b’s behaviour changes? Or b so that c’s behaviour changes?
If the procedure is not exported, you can’t access it from the outside, which means you can’t change the value of the identifier. However, from inside the module you can change it. If it is exported, it’s undefined behaviour if you may change it or not. CHICKEN allows redefinition of exported identifiers though.
Correct, with the exception of special forms (for example, you can’t re-def let).
That’s something I’ve never actually tried, but makes sense.
I did at some point realise that python allows you to override the __plus__ method, which can lead to… interesting results.