This is an article from a series of blog postings. Please do read my "Using Org Mode Features" (UOMF) series page for explanations on articles of this series.
Similar to my article explaining my file hierarchy, this long article describes my current Org mode files, how they are named, what main headings they contain and some statistics. If you're not an Emacs Org mode fetishist, this is probably not going to be of high interest to you.
I did not sit down and decided on the structure and names of my Org mode files and heading structure properly. The things I'm going to show you are the current results of a "natural development". It wasn't always the way it is now and it most probably will change in the future as well. Some things are "good enough" to stay like they are despite the fact that I can imagine a better concept. Some things stay as they are because they are difficult to change because of migration cost in form of manual effort.
Therefore, there is no hidden message "this is how it should be done". Far from that. Please do not think that I will convince anybody to do it exactly as it happens to be at my side here.
If you expect a clean setup with consistent patterns, you will be disappointed. I even described stuff that is somewhat embarrassing, considering my interest in PIM and self-organization.
This article is for people who are really curious on how my Org mode files are organized. It's a reference I'll use myself. Maybe I'll do a similar article in a couple of years from now and highlight differences. Maybe this is a one-hit wonder due to the considerable amount of time I had to spend describing all those things. Let's see.
Here is an overview of the headings of this article:
- Files in General
- Non-Org Comments
- Main Files
- Some General Comments and the File
~/org/notes.org
- File
~/org/contacts.org
- File
~/org/hardware.org
- File
~/org/public_voit.org
- File
~/org/misc.org
- Business-Related Files
- File
~/org/tags-personal.org
- File
~/org/projects.org
- File
~/org/references.org
- File
~/org/finances.org
- File
~/org/lecturer1.org
- File
~/org/house.org
- File
~/org/issues.org
- File
~/org/archive.org
- File
~/org/yankpad.org
- File
~/org/foodandbeverages.org
- File
~/org/inbox.org
- File
~/org/private.org
- File
~/org/errors.org
- File
~/org/errors_public_voit.org
- File
~/org/tmp.org
- Some General Comments and the File
- Memacs Files
- File
~/org/memacs/files.org_archive
- File
~/org/memacs/www.org_archive
- File
~/org/memacs/phonelog.org_archive
- File
~/org/memacs/tweets.org_archive
- File
~/org/memacs/SMS.org_archive
- File
~/org/memacs/phonecalls.org_archive
- File
~/org/memacs/git.org_archive
- File
~/org/memacs/datebk6.org_archive
- File
~/org/memacs/mbox.org_archive
- File
~/org/memacs/delicious.org_archive
- File
~/org/memacs/news.org_archive
- File
~/org/memacs/bank.org_archive
- File
- Concluding Remarks
Files in General
Most of my Org mode files are locate within ~/org/
. These are my main files (ignoring their archive companions) sorted according to their number of lines, largest on top. The three main sections are a rough separation of large, mid-size and smaller files.
Lines | Size | Filename | Business |
---|---|---|---|
126235 | 5,1M | ~/org/notes.org |
|
77699 | 2,3M | ~/org/contacts.org |
|
66021 | 3,0M | ~/org/hardware.org |
|
53570 | 2,4M | ~/org/public_voit.org |
|
45801 | 2,0M | ~/org/misc.org |
|
39329 | 1,7M | ~/org/company2_general.org |
x |
32816 | 1,6M | ~/org/company1_general.org |
x |
26178 | 1,1M | ~/org/company2_role.org |
x |
17485 | 603K | ~/org/company1_product.org |
x |
17198 | 627K | ~/org/projects.org |
|
15290 | 580K | ~/org/references.org |
|
10563 | 542K | ~/org/company3.org |
x |
10024 | 432K | ~/org/finances.org |
|
6594 | 261K | ~/org/lecturer1.org |
x |
4739 | 202K | ~/org/house.org |
|
4249 | 222K | ~/org/issues.org |
|
4054 | 143K | ~/org/archive.org |
|
2731 | 92K | ~/org/yankpad.org |
|
1659 | 47K | ~/org/foodandbeverages.org |
|
969 | 32K | ~/org/yankpad-company2.org |
x |
859 | 39K | ~/org/inbox.org |
|
607 | 34K | ~/org/private.org |
|
28 | 1,1K | ~/org/tags-company3.org |
x |
25 | 534 | ~/org/tags-company3.org |
x |
18 | 1,5K | ~/org/tags-personal.org |
x |
8 | 176 | ~/org/errors.org |
|
5 | 238 | ~/org/errors_public_voit.org |
|
2 | 112 | ~/org/tmp.org |
Some file names were renamed here for privacy purpose ("company", "lecturer") or to make it more self-explanatory for you ("house", "finances").
Statistics of the .*\.org
files:
25221 headings in 568602 total lines 9586 task headings 15635 non-task headings 169 tagged with @KarlVoit 2019 tagged with "@.+" but not "@KarlVoit" 1879 open tasks: TODO: 1481 STARTED: 294 WAITING: 104 7707 finished tasks: CANCELLED: 1004 DONE: 6703
The archive files are these:
Lines | Size | Filename | Business |
---|---|---|---|
118224 | 4.0M | ~/org/misc.org_archive |
|
63251 | 2.0M | ~/org/archive.org_archive |
|
55283 | 1.9M | ~/org/company1_product.org_archive |
x |
53059 | 1.5M | ~/org/inbox.org_archive |
|
41332 | 1.5M | ~/org/projects.org_archive |
|
33573 | 1.2M | ~/org/company1_general.org_archive |
x |
9320 | 1023K | ~/org/issues.org_archive |
|
24958 | 867K | ~/org/house.org_archive |
|
11796 | 439K | ~/org/lecturer.org_archive |
x |
9504 | 362K | ~/org/hardware.org_archive |
|
7828 | 265K | ~/org/company2.org_archive |
x |
8483 | 225K | ~/org/contacts.org_archive |
|
3302 | 138K | ~/org/company2_role.org_archive |
x |
2340 | 65K | ~/org/notes.org_archive |
|
115 | 3.8K | ~/org/public_voit.org_archive |
|
98 | 2.8K | ~/org/finances.org_archive |
Statistics of the .*\.org_archive
files:
17564 headings in 442468 total lines 12672 task headings 4892 non-task headings 6 tagged with @KarlVoit 2682 tagged with "@.+" but not "@KarlVoit" 199 open tasks: TODO: 151 STARTED: 23 WAITING: 25 12473 finished tasks: CANCELLED: 1260 DONE: 11213
Additionally to that, I've got some Memacs archive files in a sub-directory:
Lines | Size | Filename | Business |
---|---|---|---|
525650 | 113M | ~/org/memacs/files.org_archive |
|
403645 | 26M | ~/org/memacs/www.org_archive |
|
300135 | 7.9M | ~/org/memacs/phonelog.org_archive |
|
91818 | 6.7M | ~/org/memacs/tweets.org_archive |
|
69284 | 2.9M | ~/org/memacs/SMS.org_archive |
|
57750 | 1.9M | ~/org/memacs/phonecalls.org_archive |
|
53656 | 2.8M | ~/org/memacs/archive.org_archive |
|
40487 | 1.8M | ~/org/memacs/git.org_archive |
|
35513 | 969K | ~/org/memacs/datebk6.org_archive |
|
33103 | 8.0M | ~/org/memacs/mbox.org_archive |
|
23155 | 1.4M | ~/org/memacs/delicious.org_archive |
|
7630 | 1.4M | ~/org/memacs/news.org_archive |
|
5920 | 538K | ~/org/memacs/bank.org_archive |
Their statistics:
745766 headings in 1649953 total lines 1861 task headings 743905 non-task headings 0 tagged with @KarlVoit 0 tagged with "@.+" but not "@KarlVoit" 219 open tasks: TODO: 110 STARTED: 107 WAITING: 2 1642 finished tasks: CANCELLED: 1 DONE: 1641
A few smaller files are located in different locations:
- Quite a list of
README.org
files of my various GitHub projects - One-shot Org mode files for generating letters
- Demo files
- Temporary files
- Downloaded Org mode files from other people/projects
The following sections describe the content of the files.
Non-Org Comments
I'm using Syncthing to synchronize most of my Org files between my devices. On my home computer that runs 24/7, I do have gitwatch configured to commit any change to git version control system.
This way, whenever I save a file on my home computer the changes get committed. Any other device that is online syncs back its Org mode file changes to my home computer which then auto-commits those changes as well.
This way, I do have a full history of all of my Org mode changes back to May 16 2011. As of 2020-04-02, the size of the .git
folder is 150 megabytes (almost 70,000 commits). At least this is the size after my weekly git gc
invocations. Before this weekly garbage collecting task, the size is usually between 260 and 400 megabytes. Extremely impressive efficiency of git in my eyes.
As a side-mark, this also enables me to detect unusual numbers of deleted content which results in a warning on my agenda. You might be interested in this workflow in case you worry about accidentally deleting collapsed parts of your Org data.
Main Files
So far, I tried to use fewer but larger files. This enables me to mix different types of headings such as notes, todos and blog entries. The common theme is that I try to keep all things that are related to each other at one place independent of their "type".
There are some exceptions to that rule. For example, contact information is managed within contacts.org
, even when a person is (only) related to one specific project, event, issue and so forth which do have their spot in different files.
All of my main files are part of my agenda except yankpad
, archive
, private
and tmp
.
Some General Comments and the File ~/org/notes.org
This is my personal knowledge base. It's a large Org-based data-base if you will. Other people might use any Org-based Zettelkasten method instead. I might as well try this in the future when I can wrap my head around moving from one big file to many smaller ones.
As I have explained in the section "The Problem With Strict Hierarchies" in this article, the real world can not be mapped into a strict hierarchy. The same holds true for the strict hierarchy of Org mode files and their heading structures. As a workaround, I try to keep it as straight-forward as I can. Additionally, I do maintain a mental map in my brain as a workaround. In general, I do have one single spot for each kind of thing. And if this is not that easy to determine because there are multiple spots that may fit, I am using technical workarounds. Usually, those consist of :id:
property links between different sub-hierarchies.
So whenever you wonder, I most probably would be confused as well and decided in my mental model to use one preferred way of handling the situation. Sometimes, I even re-discover large parts of my Org mode hierarchies I have forgotten and - in the worst case - started a different "spot" for this kind of information somewhere else. That's the way it is with this kind of technology and the human brain. Maybe a technology like Remembrance Agents could help here. Some guy who set up a modern version of it did not find out that this is an efficient tool.
These issues apply to many of my Org mode files. Due to the nature of the content of notes.org
, these issues appear more often in that file than in my other files.
The main structure (with a few more detailed branches) of my notes.org
file with highlighted headings where I spend most of the time:
- some manually curated
id:
links to frequently visited headings below - Ideas
- Collected ideas for my future self
- Talks
- Screencasts
- Books
- Research and Software
- lots of ideas for excellent PIM research papers I will never write
- Music
- MISC Non-IT
- Software
- By far my largest sub-hierarchy anywhere
- Fonts
- Emacs
- Learning Emacs
- History
- Future
- Workshop
- MODES
- PYTHON
- elpy
- proced
- yafolding
- magit
- yasnippet
- yankpad
- csv-mode
- …
- PYTHON
- ELISP
- Org mode
- Introductions
- Installing/Setup
- Syntax
- Alternatives
- How people are using Emacs/Org
- Zettelkasten
- Scaling issues
- TAGS
- DRAWERS
- DEPENDENCIES
- org-depend
- org-edna
- …
- TABLES/CALC/spreadsheet
- REFILING
- AGENDA
- emails
- debugging Org issues
- devops
- authoring books
- diagrams
- encryption
- narrowing
- images
- …
- Windows
- Android
- performance
- other Emacsers
- merging
- calc
- reporting bugs
- …
- Python
- Unison
- Shell and CLI-Tools
- macOS
- LINUX
- SYSTEM SETUP
- basic system
- ssh
- basic packages
- git & etckeeper
- zsh
- vim
- tmux
- Emacs
- xfce
- …
- DISTRIBUTIONS
- NETWORKING
- apt/dpkg/apt
- xfce
- cron
- geeqie
- syscalls
- grml
- XDG
- LUKS
- systemd
- …
- SYSTEM SETUP
- Android
- Windows
- SYSTEM SETUP
- CTRL instead of CAPS LOCK
- chocolatey
- WSL
- Changing to more privacy
- Keyboard: US intl. Deadkeys for umlauts
- Emacs
- Syncthing
- …
- Microsoft
- Word
- Excel
- Windows 10
- Cortana
- OneDrive
- Security/Hardening
- …
- NTFS
- Adobe
- putty
- Symlinks, Junction Points
- FreeCommander
- …
- SYSTEM SETUP
- Ruby
- DOS
- Firefox
- Chromium
- Thunderbird
- Mastodon
- LibreOffice
- LibreELEC
- Jira
- LaTeX
- …
- Services
- TOR
- Newsblur
- Wikidata
- Collaboration tools
- …
- Hardware
- Bicycle
- Keyboards
- Monitors
- Car
- Money
- Raspberry Pi
- Power measurements
- Mobile
- Watches
- Turntables
- Shoes
- Locks
- Batteries
- Clothes
- Plants
- HDMI
- Filofax
- Soldering
- Cats
- Printers
- …
- Leisure time ideas
- Hikes
- Exit the Room
- …
- Sports
- Volleyball
- Diving
- Mountainbiking
- Aikido
- …
- Standards, Laws
- HTTP/HTML/CSS
- ASCII
- Morse
- Markups
- Security
- GDPR
- RGB
- ISO 8601
- Characters
- IBAN
- Licenses
- Scrum
- ISAE 3402
- UNIX
- DRM
- …
- Accounts, Domain
- Statistics
- t-test
- SSD duration
- Correlations
- Cost per laser printer page
- Performance measurements
- Usenet statistics local hierarchy
- Bandwidth
- Crimerates
- Public Transportation Usage
- Power consumption
- Calculate view from elevated spot on earth
- Typing speeds
- Org performances
- Job
- Looking for jobs
- 2012
- 2019
- Paychecks
- Career Planning
- Job interviews
- Ideas for self-employment
- Lecturer
- Looking for jobs
- Presenting, Workshops
- Daylight-saving time
- Elections
- Research
- How to write good papers
- Rebuttals
- Lectures
- MISC
- this section contains a list of topic that don't fit somewhere else and do not deserve their own category
- Languages
- Traveling
- How to pack
- Miles & More
- Tips for planning
- REGIONS
- Asia
- …
- Packing list for …
- Airlines
- Health
- Doctor recommendations
- Medications
- Allergies
- Hygiene
- Training
- Food/Beverages
- everything food-related that is not a recipe
- Garden
- Restaurants
- Fun
- Music
- Books
- Movies
- DateBK6 Memos
- DateBk6 was my notes manager before Org and here are some notes from back then
- Bookmarks
- see this article
- loooong list of bookmarks → may need to move to their own file some day for performance reasons
File ~/org/contacts.org
There is a blog article in my (long-term) blogging pipeline about managing contacts. Until it's done, read this article where I describe how I'm able to assign one single email address to each contact.
The main structure (with a few more detailed branches) of this file with highlighted headings where I spend most of the time:
- some manually curated
id:
links to frequently visited headings below - Us
- Karl Voit
- health
- Body dimensions for clothes
- …
- wife
- Karl Voit
- groups
- relatives
- parents
- brother
- parents in law
- company1
- company2
- company3
- house
- …
- relatives
- people
- long, flat list of single person contacts
- companies
- long, flat list of company contacts
- health
- doctor
- dentist
- …
- services
- gitlab
- Meteogram Widget
- European Parliament
- …
File ~/org/hardware.org
- some manually curated
id:
links to frequently visited headings below - Errands
- Borrowed
- book ""When Cultures Collide" → Peter
- Vouchers
- Book store X (until Dec 2027) SCHEDULED a few months beforehand
- Inventory
- general sections:
- Batteries
- Battery set A1-4 Sanyo eneloop AA 2000
- …
- USB Thumb Drives
- Storage Cards
- Locks
- Clothes
- IP/MAC Addresses Overview
- very long list of all of my hardware items:
- each has name, shop, price, date of purchase
- Fujitsu ScanSnap S1500M (SOMESHOP, 468€, <2011-11-14 Mon>)
- Manuals
- Specs
- Reviews
- Setup with OS X
- Setup with Windows
- Setup with GNU/Linux
- DONE Testing OCR accuracy
- …
- Bicycle: Winora T3 (Kotnik, 2464€, <2013-08-02 Fri>)
- Specs
- Cost of live (summary + statistics)
- Chain service tasks
- Manuals
- DONE Insurance for 1st year
- DONE Blog article 1
- DONE Blog article 2
- DONE Fix flat tire
- DONE Change to winter tires
- …
- really all of my items, computers, … with all TODOs that are associated to them → engineering diary per device
I can not understand how anybody is able to deal with things without an overview of the past issues/things related to one specific thing. I may look up how I fixed things in the past. It has high value to me.
Please notice the difference to the general notes.org
: in hardware.org
, everything is about specific instances of something. Here, I'm collecting, e.g., Linux issues for a certain computer in contrast to "how to do X in GNU/Linux". Sometimes, it is hard to differ between them for me. Whenever I'm in doubt, I may create an id:
link somewhere else to connect two dots.
File ~/org/public_voit.org
Many blog articles are written and archived here. As you can see in other hierarchy examples, I tend to write blog articles wherever I like. This was one of the main reasons I wrote my own blog software. This way, blog articles related to my bicycle are within hardware.org
accordingly. However, there are many articles that do not fit anywhere in my Org mode files. And those articles are located here.
- some manually curated
id:
links to frequently visited headings below - Tagpages
- Migrated from Suderei (which was my previous blogging site)
- Persistent articles
- Blog Series: Design Decisions
- Blog Series: The Downside of Outlook
- Blog Series: Using Org Mode Features
- MISC Finished
- Unfinished (pipe-line)
- As of 2020-04-01 there are 103 excellent articles, yet to be written ;-)
File ~/org/misc.org
Yes, this file is a very large insider-joke to anybody familiar with Personal Information Management. Even I do have some big pile named "miscellaneous".
This file started as something that holds everything that has no place somewhere else. Meanwhile, it may turned out to be more specific. I never cared to find a better name.
- some manually curated
id:
links to frequently visited headings below - shorts
- short, self-contained tasks that are not part of any project and do not have their own spot somewhere else
- viewlist
- cool videos to watch (movies, talks, …), tips for movies, notes on TV series
- Tests
- Recurring
- read this article on recurring Org events
- Anniversaries
- Sports
- Volleyball Group
- Backups
- Household chores
- Regulars' tables
- Security
- Emacs/Org mode
- NEXT Update contacts on Android
- NEXT Review root emails on all computers
- NEXT Android: reset Google ad ID
- …
- Events
- Appointments, events, theater visits, comedy evenings, … with all of their TODOs, reminders, notes, …
- [2020-03-15 Sun 17:00-18:30] Org mode Virtual Meeting
- Where did I spot this event?
- Link to content
- My notes
- …
Business-Related Files
My business--related files are:
~/org/company2_general.org
~/org/company1_general.org
~/org/company2_role.org
~/org/company1_product.org
~/org/yankpad-company2.org
~/org/tags-company3.org
~/org/tags-company3.org
~/org/company3.org
These are the common patterns that developed over time:
- some manually curated
id:
links to frequently visited headings below - Templates
- basically, these are short elisp snippets to invoke misc
org-occur
searches to locate, e.g., tasks tagged with person's names
- basically, these are short elisp snippets to invoke misc
- Office
- knowledge-base on how to do things
- Company basics
- Time tracking
- Vacation
- Journeys
- Health care
- Food
- Money
- Office material
- Meeting rooms
- Business cards
- Writing Proposals
- Appraisal interviews
- Organization chart
- Offices, buildings
- Personal Credentials :crypt:
- Shared Credentials :crypt:
- Press
- Corporate Design
- IT
- Services
- Wiki
- Phones
- ConfCalls
- Support
- Backups
- Network drives
- WiFi
- Printers
- VPN
- …
- Software
- PlantUML style
- docgen-pandoc
- …
- Services
- Products
- general knowledge-base on products
- Domain knowledge
- Glossary
- entries using triple angular brackets (radio targets) for glossary entries → extremely powerful feature
- Glossary
- shorts
- non-project related tasks
- Projects
- Customer 1
- Project 1A
- shorts
- NEXT Set of tasks
- …
- Project 1A
- Customer 2
- Project 2A
- Customer 1
- Events
- non-project related events and all of their notes, tasks, …
- [2019-08-16 Fri] Summer Party
When I had to create a separate Org mode file (e.g., for a different role), I had to put common tags in separate files. They were included in all business-related Org files accordingly:
tags-company1.org
company1.org
→ includestags-company1.org
company1-role1.org
→ includestags-company1.org
- and so forth
Current approach is to limit myself for one file for the current company/job which has some benefits. For example, I may have one common glossary using radio targets that got linked in all data related to one company.
File ~/org/tags-personal.org
Here, I maintain my set of tags. Not all of my Org files include this file. Basically, it's for notes.org
(mainly bookmarks) and the tags for my blog.
I started using those tags before I even understood how tagging works. Therefore, I'm still violating my own rules on how to use tags by having too many pre-defined tags. I guess most of the older ones are not in use by me any more. I'll have to schedule some time to replace the more specific tags with some more general ones, reducing the total number of different tags.
File ~/org/projects.org
This is a fork from misc.org
because of a growing amount of content here.
I already described how I define an Org mode project. My projects.org
holds all kinds of projects that don't fit somewhere else. Sometimes, they would fit somewhere else but I decided to put them here anyway. I'm not always consistent myself. ;-)
A few examples of the probably hundred unfinished projects of my pipeline:
- STARTED [1/3] testing org-edna as alternative to org-depend
- NEXT [0/6] combined new aspell dictionary setup with English and
German
- avoiding language switching
- NEXT [0/0] Create my own Python template file with frequently used functions
- STARTED [2/8] Improve Org mode project management workflow
- STARTED [1/4] Visualize arbitrary date-based data sets
- STARTED [4/27] Memacs
- I've got such a project for my most important GitHub projects
- NEXT [0/3] Setup org-protocol (or similar) for copying selected HTML as Org syntax
- SOMEDAY [0/0] Proper title capitalization → create Emacs package + publish
- SOMEDAY [0/0] Authenticate on my hosts via 2FA
- …
File ~/org/references.org
I developed this literature/reference management system during writing my PhD thesis, approximately in 2011. It consists of entries like:
**** DONE Voit2012b - TagTrees: Improving Personal Information Management using Associative Navigation :PIM: CLOSED: [2012-11-18 Sun 14:43] :PROPERTIES: :CREATED: <2012-09-17 Mon 17:48> :ID: Voit2012b :END: [[bib:Voit2012b][Voit2012b.bib]] [[pdf:Voit2012b][Voit2012b.pdf]] ***** Abstract #+BEGIN_QUOTE This dissertation gives an overview of research related to Personal Information Management (pim). After discussing some challenges that [...] #+END_QUOTE
The structure is quite simple. In the following headings, there are headings for each article, paper or book like the one example above:
- My Publications OR supervised by me
- PIM Projects
- MyLifeBits
- lifestreams
- Presto, Placeless Documents
- …
- PIM MISC
- CHI2012
- PIM2012, CSCW2012
- Org-mode
- MISC
After finishing my PhD and leaving academia, I did not add much content to the file. A few years ago, I started to add simplified headings for each book I read:
**** <2017-11-17 Fri>-<2017-12-03 Sun> Dan Brown: Origin :PROPERTIES: :CREATED: [2017-11-18 Sat 15:21] :END: - read on my mobile - awesome thriller!
File ~/org/finances.org
The original (German) file name is finanzen_behoerden_versicherungen.org
which may translate to finances_authorities_insurances.org
. For the sake of simplicity, I used an abbreviated name in this article.
- some manually curated
id:
links to frequently visited headings below - bank account 1
- [2017-02-02 Thu] Changes in terms and conditions
- DONE Clarify issues with weird transactions
- …
- credit card
- Insurances
- Pension fund
- Life insurance
- Legal protection
- Accident insurance
- Bicycle insurance
- [2011-07-15 Fri] Check on my finances
- Investments
- Tax Declarations
- Taxes 2019
- Taxes 2020
- …
- Dismissal pay
- SEPA
- Credit
File ~/org/lecturer1.org
I'm in the lucky position to be able to conduct a lecture on Personal Information Management at the University of Applied Sciences St. Pölten in my spare time. This file holds everything related to this.
- some manually curated
id:
links to frequently visited headings below - shorts
- notes
- Online access
- Contract
- Lecture information
- Online education system Moodle
- Ideas for future lecture content
- Summer term 2020
- approximately 60 tasks that I have to do in order to organize one term
- these tasks are generated using a complex yankpad template and contain dependencies and scheduled dates
It was not until a few weeks ago that this file also contained the script for the students. It is now a separate Org mode document (not described here) within its own git repository. The way it is supposed to be.
File ~/org/house.org
This one started when I organized the building of our house. I was using it more often back then. Large parts are just for reference I guess. Some things got stuck though. Maybe I'm moving large parts to my archive.org
file some day.
- some manually curated
id:
links to frequently visited headings below - Notes
- Cost tracking
- WTF moments
- Lessons Learned
- Price comparisons
- Plans
- Energy certification
- shorts
- some house-related todos
- topics maybe this should be renamed to "projects"? Well, it's a
mixture of notes and projects and knowledge-base.
- Loan
- garbage disposal
- land tax
- water supply
- power supply
- SOMEDAY Shelter for bicycles
- SOMEDAY photovoltaic
- SOMEDAY LED-street-number with Raspberry Pi
File ~/org/issues.org
Someday, I though it would be nice to have one spot for all the open software-related issues and bugs. Either they are just personal, e.g., when Emacs is misbehaving in my opinion, or they are official bugs that I reported to open source projects.
In reality, this file contains issues that are not fitting somewhere else. So I introduced the tag issues
. All of the projects in this file got this tag. The issues and bugs located somewhere else got this tag as well. This way, I could derive a general bug/issue view. I never do that but I got this option.
The rest of the issues and bugs is mostly located within the corresponding software headings in notes.org
or they are sub-headings for specific devices in hardware.org
. Whatever suits me.
Another inconsistency of mine. I might get rid of this in future. For now, it does not hurt too bad.
- Issues :issues:
- STARTED [3/11] Emacs/Orgmode: Org-agenda somehow hides todos
- STARTED can't mount USB thumb drive as user
- NEXT Org: captured entries remove line-break to next main heading despite forced empty line
- NEXT Emacs/dired: loading directory takes very long
- STARTED ob-screen Error:
apply: call-process invoked recursively
- STARTED Org iCal export: Android is missing lots of contacts when importing
- NEXT Banshee stopped working after Debian upgrade
- more issues
File ~/org/archive.org
Well, this is an empty file. Way larger is the corresponding archive.org_archive
which I used to archive all kinds of stuff. Many things from my pre-Org mode era: converted from my great PIM-time with PalmOS, ZIM, old email and Usenet data and so forth.
Furthermore, it contains whole Org mode files that lost its purpose. For example, it contains the content of my phd.org
after I finished my PhD thesis. It contains tagstore.org
from one of the projects I ran during my PhD. After I had to give up some plans for academia, I moved my postdoc.org
to this archive.
I may have used a better name such as cementary.org
or good_old_times.org
or such. ;-)
File ~/org/yankpad.org
I moved from plain yasnippet to yankpad because most of my text snippets are Org mode snippets anyway. Therefore, I prefer to manage them within an Org mode file.
I do have way more than fifty snippets. Many of them are quite short, some of them are really large. As I mentioned in this article discussing task dependencies, one of my most complex "snippet" is the one I use to organize a lecture. It contains all the tasks I have to do to handle one class in one term. There are probably fifty tasks from setting up the lecture material for the online representation up to sending in the marks. All those tasks are linked via dependencies such that new TODO keywords are added to one to many headings when one task gets done.
Here are some of my short ones:
- ff :
$0;%.$1f
- py :
src_python{return($0)}
- tr :
import pdb; pdb.set_trace()
File ~/org/foodandbeverages.org
Not that you think that I'm a chef, cooking all the time. Quite the opposite. However, there are some recipes for food and cocktails I wanted to write down. Here is the spot for this. Almost never visited.
File ~/org/inbox.org
When I do capture stuff on my Android smartphone mostly from RSS/Atom, Twitter, Mastodon, Signal or mobile browsing, it lands here.
Those things then get either:
- handled and archived/deleted
- refiled to somewhere else
- stuck here forever
I tried to get rid of the last category. So far, I failed. Currently, I do have 248 items that I wanted to look at some point in time. One of the embarrassing parts of my own PIM.
The structure is simple: one level of headings, sorted by time added, most of them consisting of an URL only.
File ~/org/private.org
Everybody has some delicate content that needs to be handled with extra care. Maybe it's your bucket list, your passwords, your voting history or some other stuff you want to make sure that nobody else puts an eye onto.
I'm using :crypt:
tags within the other files as well. Somehow, stuff landed in this file. It is not synchronized to all other devices and contains a flat list of headings that each do have the :crypt:
tag.
File ~/org/errors.org
This is one of my newest Org mode agenda files.
After publishing a Python library to generate Org mode content, I wrote appendorgheading which exposes this functionality for easy usage from within shell scripts. While that being very general, I came up with a specific purpose for my daily life: I used this to switch some log- or notification workflows to Org mode.
This is an empty file, except for a brief header comment and the main heading entry. If one of my cron-jobs fail, this gets populated with a notification (a time-stamp that is recurring daily), description on the problem, optional error message output and a link to Org mode headings with directions on how to fix this topic if I already collected information on frequent issues.
I do love this workflow.
Writing those lines, I recognized that this file holds a new heading that informs me that the agenda export failed since more than one day. I'll handle this right now. Usually this issue is solved by fixing a broken :id:
link or similar.
File ~/org/errors_public_voit.org
Similar to the errors.org
file, this file gets populated with errors that occur when my blog is re-generated. Since I wrote my own blog software, I'm limiting myself to the Org mode syntax supported by it. This is why it is very rare that I get errors.
In future, this may be merged with errors.org
.
File ~/org/tmp.org
This is an Org mode file which holds headings that are just for testing stuff. I may remove all of them any time. I consider this as my scratch-buffer but for Org mode.
Memacs Files
Memacs is a platform I wrote for getting non-Org mode stuff into Org mode. Each data source is associated with one Memacs module. The resulting data typically is written into Org mode archive files in order not to clutter my agenda.
Here are my personal active Memacs files that get re-created by cron-jobs:
File ~/org/memacs/files.org_archive
Using the filenametimestamps module, a daily snapshot of all of my files that start with an ISO date-stamp is generated. It looks like that:
* Memacs for file name time stamp :Memacs:filedatestamps: ** <2019-06-03 Mon 22:15> [[file:/home/user/institutions/telco/2019-06-03 phone bill.pdf][2019-06-03 phone bill.pdf]] ** <2007-03-03 Sat 00:27> [[file:[...]/2007/2007-03-02 CLT07/2007-03-03T00.27_img_0475 at the Pub.jpg][2007-03-03T00.27_img_0475 at the Pub.jpg]]
Those lines provide a lookup-table from file base-names to their whole and absolute path. This enables me to link to files independent of the directory they are stored or include them into my blog using a similar mechanism that is independent of the path. All of this is described on this page.
I consider this one of my killer features when using Org mode.
File ~/org/memacs/www.org_archive
This is a meanwhile old artifact from the time where I was able to use a Firefox add-on that stored all web content on my file system. In other words, this stored everything I browsed the web for into HTML files, images and other files onto my disk.
Following the Quantified self approach and the ideas behind Memacs, I got a full history of my web activity. Not only in form of links but in form of actual content. I was able to compare how certain web pages changed over time and a web page going offline was not an issue to me. The answer to the question that you've got in your mind right now is: two to four Gigabytes per month. A very reasonable figure, considering the cost of storage these days. If you run the numbers on nowadays disks, this is a bit over one single Euro per year of storage cost (neglecting backup space).
For practical reasons, I decided to ran the filenametimestamp
module separately for this sub-hierarchy to get a separate index.
With the major changes in the add-on API interface in 2017, I've lost this add-on and did not find a replacement yet.
Therefore, this is a static archive of my 2012 to 2017 complete browser history.
File ~/org/memacs/phonelog.org_archive
This file gets generated by the simplephonelogs module. My Android phone got smart with Tasker. Using this framework, I can now easily log events on my Android device into a simple text file. This file then gets converted and interpreted by Memacs.
With this workflow, my agenda gets populated with lots of interesting context information:
- entering and leaving WiFi zones for my house, the office, my parent's house, and more.
- getting up in the morning and going to bed (powerup and shotdown)
- and so forth.
I also created a simple Android UI to quickly capture arbitrary log text to this workflow.
File ~/org/memacs/tweets.org_archive
I periodically download my Twitter data-set using twython and process it with the Twitter module. Still on my todo list: a similar workflow for Mastodon.
I just realized that I did not execute this process for quite some time due to high manual effort.
File ~/org/memacs/SMS.org_archive
Before I switched to Signal, I was using SMS Backup and Restore and this module to generate the corresponding Org mode file. Signal backups are encrypted which is great but also jeopardized my workflow here.
With signal-back I found a manual solution to decrypt the backup data. Until I do not implement a Memacs module for this result, this file is a static archive of my mobile messages.
File ~/org/memacs/phonecalls.org_archive
With the phonecalls module, I converted the Call Logs Backup & Restore archive to Org mode files.
I just realized that I did not execute this process for quite some time.
File ~/org/memacs/git.org_archive
The Git module provides me all of my Git commits on my agenda.
File ~/org/memacs/datebk6.org_archive
This static archive holds many years of data from DateBk6 from PalmOS. This was an amazing piece of great PIM software I used way longer than PalmOS was a large thing. I more or less switched directly from PalmOS DateBk6 to Org mode in 2011.
Back then, I wrote a Python script that converted my PIM data into Org mode format for archiving purposes.
File ~/org/memacs/mbox.org_archive
Mbox is a storage format for emails. On a monthly basis, I convert the emails that are older than fourteen months from my usual maildir to mbox format in order to archive them. Using this non-standard Memacs module, I convert it to this Org mode file.
The module is non-standard because it's a quick hack without using the usual framework functions of Memacs. Somebody should move it to the Memacs framework some day. ;-)
File ~/org/memacs/delicious.org_archive
Delicious once was the perfect solution for web bookmarks. Unfortunately, the service entered a long and painful demise. So I had to switch to my current Org mode based bookmark method. The data from the period before is archived here via the RSS module.
File ~/org/memacs/news.org_archive
Fortunately, there is still a more or less active Usenet community at our local University of technology which I'm part of. Since my news client uses the same mbox standard format as mentioned above to store its postings, I am using the same Memacs module to derive this file.
File ~/org/memacs/bank.org_archive
Another non-standard Memacs module is the one for my bank statements. I regularly have to download CSV files from my net-banking site. This module then converts all of my banking events to Org mode.
Concluding Remarks
If you have read through the whole article, I think you must be either insane or really dedicated to Org topics. (No offense.)
I'm very interested in your lessons learned (if any). So please leave a comment below so that I might blog about your favorite workflows in a separate article.