From f8aafe88b3782ea5c6f2d37495c546e47ce59864 Mon Sep 17 00:00:00 2001 From: Dante Catalfamo Date: Mon, 25 Jan 2021 23:14:28 -0500 Subject: Rough draft of emacs eink post --- content/posts/org-agenda-eink/index.org | 71 +++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 content/posts/org-agenda-eink/index.org (limited to 'content/posts/org-agenda-eink/index.org') diff --git a/content/posts/org-agenda-eink/index.org b/content/posts/org-agenda-eink/index.org new file mode 100644 index 0000000..778909b --- /dev/null +++ b/content/posts/org-agenda-eink/index.org @@ -0,0 +1,71 @@ +#+TITLE: Org Agenda Eink +#+DATE: 2021-01-25T22:07:25-05:00 +#+DRAFT: true +#+SHOWTOC: false +#+DESCRIPTION: +#+TAGS[]: +#+KEYWORDS[]: +#+SLUG: +#+SUMMARY: + +I recently made a post [[]] about how I was able to make my new tab page my +org agenda. Since then I've been working on another project similar to +that, trying to take the concept even further. + +A while ago, I purchased an Inkplate 6 [[]] during its crowd funding stage +on crowd source [[]], with the exact intention of creating something like +this. + +Immediately after writing that blog post, I started working to change +agenda-html [[]] in order to make render an output which would be +acceptable for this project. + +At the core of the Inkplate 6 is the ESP32, which is an +Arduino-compatible micro-controller which has built-int WiFi and +Bluetooth. It draws very little power and has many libraries +available, which makes it ideal for something like this, as it stays +on 24/7. + +The way it works is very similar to the org agenda new tab page. The +server, instead of exporting exclusively to HTML, also exports a text +version of the agenda. The ESP32 then fetches this text and prints it +verbatim onto the text screen. This happens every 5 minutes, so it's +always up to date with the server version. It also handles some error +cases, but I have yet to run into those. The sketch for this project +can be found here [[]]. + +What I ended up doing was exporting the org agenda as a text file, +after converting the links to description only. I did the conversion +because otherwise the full link markup text would show up in the +export, which would quite ugly. It would look like the full +=[[https://example.com][Description]]= instead of just =Description=, +which would be quite useless, as you can't click the link on an eink +display. + +I also shortened the server-side cron job repeat rate to every 5 +minutes instead of 15, so it would work better with hour and minute +time-stamped events. That way it also reflect new tasks and TODOs much +more quickly, at practically zero cost. + +This project has many benefits, at least to me. First and foremost, I +can check my org agenda without even turning on my computer. It's +always on off to the side, so I can check it out any time without +having to open either a new tab or Emacs. + +Being an eink display is very important, as it's not bright and +distracting, and doesn't need to be turned off at night. I can check +it any time. It also isn't distracting at all. It sort of just looks +like any other appliance. + +Between this desk version of the org agenda and the new tab version, +my usage of the org agenda has gone up substantially. I used to only +use org for a handful of tasks, but eventually moved over to regular +calendar apps for most things, as they were simply more accessible in +many situations. Now that I have this sort of appliance version of the +org agenda view, I find myself using it for almost everything. + +This really highlights the extreme versatility of Emacs and Org. +While I had to figure out how to make it work, it took very little +modification to Emacs in order to get it to work, and those +modifications I did have to make were all easily accomplished by +changing a couple variables or writing a little elisp. -- cgit v1.2.3