[[!meta title="Productivity Dashboards with Emacs and Kindle"]]
[[!meta copyright="Copyright © 2021 Mehmet Tekman"]]
[[!inline pages="internal(2021/info/dashboard-nav)" raw="yes"]]
<!-- You can manually edit this file to update the abstract, add links, etc. --->
# Productivity Dashboards with Emacs and Kindle
Mehmet Tekman
[[!inline pages="internal(2021/info/dashboard-schedule)" raw="yes"]]
[[!table header="no" class="speaker-details" data="""
Name pronunciation: | Meh-met Teck-man
Pronouns: | He/him
Preferred contact info: | @mtekman:matrix.org
Support: | <https://liberapay.com/mtekman/donate>
"""]]
<https://gitlab.com/mtekman/kindle-sync>
Since 2008, Amazon have released a new Kindle device every year,
supplanting each generation with a newer model that boasts highly
promoted incremental features which greatly devalues the price of
their older models. These forgotten models are sold on Ebay and
other secondhand websites at highly discount prices by owners who
do not see the true potential of these devices: Kindles are
excellent high contrast low-refresh display rate E-Ink devices,
with Wifi capability, that run embedded Linux in the
background. Depending on the model, an idle Kindle can last weeks
before needing a recharge. This makes them ideal as passive image
devices that can be configured easily using a few shell
scripts. Indeed, efforts have been made in dedicated hacker forums
to expose the Linux filesystem and to enable features such as
custom screensavers, SSH networking, and more. By exploiting these
features, and by carefully disabling the software/bloatware that
comes with the device, these Kindles have found new life as online
dashboard devices which can fetch and display information from the
internet at timely intervals.
Here we describe a tool to control multiple Kindle devices with a
single org-mode/shell-based tool, built initially to periodically
serve updated Emacs Org-Agenda views, but later expanded to produce
online local weather reports and work calendar, Emacs calendars
(calfw, org-gcal), daily dietary information (org-calories),
Org-Mode sparse TODO trees, miscellaneous image and text content
(via imagemagick), small messages, and much more.
In this talk, we show how to configure multiple Kindles with any
desired custom content, following any daily/weekly schedule, all
easily managed from Emacs within a single Org-Mode file.
# Discussion
- Q1: I know almost nothing about this stuff so please forgive my
ignorance (Actually, I did I dip a toe into some basic jail
breakage a few years ago and was delighted/intimidated to find a
capable community on mobilereads, as you mentioned; I was living
cheaply at the time, and having KUAL and KO and kterm around
improved my QOL considerably.) As for your talk, I enjoyed it very
much. I was wondering if you\'d given any thought to possible
real-world applications for your dashboards. Just spitballing a
bit, a few possibilities came to mind, like perhaps disseminating
information on a work floor or lab setting where cable runs or
temperature increases from LCD monitors might be unwelcome; or
perhaps doing so in more a public setting like a refugee or
detention camp where power might be limited and where mounting TVs
behind protective glass or restraining them with cables might be
bad for morale. Also, have you thought about putting together
and/or selling \"kits\" so folks with limited time could acquire a
basic setup as a turnkey solution (perhaps with some assembly
required)? Thanks.
- Hi. Lovely idea to use an ebook reader as dashboard. Are all kindle devices supported or only older ones?
- Mehmet Tekman: I recorded this in two parts: with caffeine, and without
- As soon as i can get my hands on a kindle i will give this a try. Lovely Idea.
- Are the images only pushed or can i request for an update from the kindel itself?
- Mehmet Tekman: images are usually only pushed, but it's done over ssh so pulling is also possible. the main idea is that the interaction is only Server → Client
- Thanks for you talk I have just finished watching it on youtube.
- I have some old kobo's rather than kindle's but thinking of nipping onto ebay to get some
- Mehmet Tekman: I think it would work well Kobo's, since that's likely also a linux system right?
- yes they are linux
- Mehmet Tekman: There are only a few kindle-specific commands, but you can comment them out and adapt them for the Kobo
- there was some work getting kde onto them
- Mehmet Tekman: Woah you have access to an X11 session?
- i think the developers helped, but we are talking 7 years ago for the one they helped with
- Mehmet Tekman: it's not mainline then?
- I don't think so I still use them both for reading books so not messed with them just in case they break
- Mehmet Tekman: That's the beauty of the kindle, it's from such a horrible company and it's so cheap that you have no qualms if you break it :P
- Mehmet Tekman: The kindle basically locks you out of X, which is frustrating since the Kindle Touch runs AwesomeWM. If I had money, I would definitely buy one :O
- The use concept is really useful, so thanks for pointing me in the right direction.
- as someone who easily gets distracted it will be usefull to check on what I am supposed to be doing lol
- Mehmet Tekman: Welcome! For a more stripped down version I can really heavily recommend the kindle-dashboard from Pascal Widdershoven
- Mehmet Tekman: And yep -- I can definitely relate!
Links:
- Main Repo : <https://gitlab.com/mtekman/kindle-sync>
- Mobile Read Forum (Kindle) :
<https://www.mobileread.com/forums/showthread.php?t=180113>
- Mentioned Repos :
- <https://gitlab.com/mtekman/org-calories.el>
- <https://github.com/takaxp/org-tree-slide>
- <https://github.com/pascalw/kindle-dash>
# Outline
- 5-10 minutes:
1-3 mins
Talk about repurposing Kindles:
- Cheap second-hand wifi device, hackable
- Low-powered, long battery life, low refresh rate – perfect
for a dashboard
- Timely updated Org-Mode Agendas anyone?
- Reference to inspired projects (kindle-dashboard)
2-3 mins
Generate content
- A static text+picture image easily generated with imagemagick
wrapper
- An image of a sparse tree of org-mode TODO file
- An image of another emacs view (e.g. Calfw, or org-calories)
- Show post-processing for optimizing image for Kindles
1-2 mins
Configuration in a single org-mode file
- Defining Machines
- Defining Commands to generate content
- Defining Schedules to run Commands on multiple Machines at
specific points in the day
1-2 mins
Export and Run:
- Show exported shell configs and generated cronjobs
- Witness multiple Kindles producing desired content with wakeup
timers
<!--
- 20 minutes:
4 mins
Repurposing Kindles
- Cheap second-hand wifi device, hackable
- Low-powered, long battery life, low refresh rate – perfect
for a dashboard!
- Reference to inspired projects (kindle-dashboard)
- Discuss Use Cases:
- Dynamic content: Org-Mode Agendas, Weather Reports, Web
Calendars
- Static content: Gallery, Motivational Messages
- Untapped potential
3 mins
Generate content
- A static text+picture image easily generated with imagemagick
wrapper
- An image of a sparse tree of org-mode TODO file
- An image of another emacs view (e.g. Calfw, or org-calories)
- Show post-processing for optimizing image for Kindles
4 mins
Configuration in a single org-mode file
- Defining Machines
- Defining Commands to generate content
- Types of commands
- Extending the commands with custom
- Defining Schedules to run Commands on multiple Machines at
specific points in the day
6 mins
Export and Run:
- Show exported shell configs and generated cronjobs
- Scripts and Design Considerations:
- Killing services (to keep amazon out)
- Iptables blocking (to keep amazon out)
- What SSH keys are shared and where (to keep amazon out)
- How the Sleep and Wakeup timers work
- Optimizing for longer battery life
- Eips and X
- Minimizing service checks
- Graph of number of screen updates per drop in battery life
- View many Kindles simultaneously in action
3 mins
Final Thoughts
- Limitations:
- Cannot interrupt a device's sleep, it wakes up only when you
last told it to
- Hard to see at night, invest in some LEDs maybe?
- Take back your devices!
- Name suggestions? "kindle-sync", "kindle-cluster",
- Something that won't be forced to change at a later date if
it becomes too notorious.
- Planned features
- Acknowledgments and Resources
- 40 minutes: N/A
-->
[[!inline pages="internal(2021/captions/dashboard)" raw="yes"]]
[[!inline pages="internal(2021/info/dashboard-nav)" raw="yes"]]