Categories: geek

RSS - Atom - Subscribe via email

Working on the plumbing in a small web community

| community, connecting, emacs, blogging

The IndieWeb Carnival prompt for May is small web communities. I've been exploring some thoughts on how a little effort goes a long way to connecting a community. Sometimes I think of it as working on the plumbing so that ideas can flow more smoothly. It feels a little different from the direct contribution of knowledge or ideas. I also want to connect with other people who do this kind of thing.

Emacs is a text editor that has been around since the 1970s. It's highly programmable, so people have come up with all sorts of ways to modify it to do what they want. It's not just for programmers. My favourite examples include novelists and bakers and musicians who use Emacs in unexpected ways. Because Emacs is so flexible, community is important. The source code and documentation don't show all the possible workflows. As people figure things out by themselves and together, more possibilities open up.

I love tweaking Emacs to help me with different things I want to do, and I love learning about how other people use it too. I've been sharing my notes on Emacs on this blog since 2001 or so. In 2015, as I was getting ready to become a parent, I knew I was going to have much less time and focused attention, which meant less time playing with Emacs. Fortunately, around that time, John Wiegley (who was one of the maintainers of Emacs at the time) suggested that it would be helpful if I could keep an eye on community updates and summarize them. This worked well with the fragmentation of my time, since I could still speed-read updates and roughly categorize them.

Text from sketch

Community plumbing

You don't have to fill the pipes all by yourself. Just help things flow.

I want to share some of the things we're doing in the Emacs community so that I can convince you that building plumbing for your community can be fun, easy, and awesome. This is great because enthusiasm spreads.

virtuous cycle

  • Other places: YouTube, Reddit, HN, lobste.rs, Mastodon, PeerTube, mailing lists….
  • Blog aggregator
    • Planet Emacs Life (uses Planet Venus) - update: [2025-05-31 Sat] I wrote my own RSS feed aggregator instead.
  • Newsletter: Emacs News, 1-2 hours a week
    • summarize & group
    • announce calendar events
  • User groups
    • [often use Emacs News to get conversations going]
  • iCal & Org files: Emacs Calendar
  • Conference
    • EmacsConf: < USD 50 hosting costs + donated server + volunteer time

Tips:

  • Make it fun for yourself.
  • Build processes and tools.
  • Let people help

2024-01-31-05

Some more notes on the regular flows built up by this kind of community plumbing:

Daily: Lots of people post on reddit.com/r/emacs and on Mastodon with the #emacs hashtag. I also aggregate Emacs-related blog posts at planet.emacslife.com, taking over from planet.emacsen.org when Tess had DNS issues. There are a number of active channels on YouTube and occasionally some on PeerTube instances as well. I don't need to do much work to keep this flowing, just occasionally adding feeds to the aggregator for planet.emacslife.com.

Weekly: I collect posts from different sources, remove duplicates, combine links talking about the same thing, categorize the links, put them roughly in order, and post Emacs News to a website, an RSS feed, and a mailing list. This takes me maybe 1.5 hours each week. It's one of the highlights of my week. I get to learn about all sorts of cool things.

Weekly seems like a good rhythm for me considering how active the Emacs community is. Daily would be too much time. Monthly would lead to either too long of a post or too much lost in curation, and the conversations would be delayed.

Sometimes I feel a twinge of envy when I check out other people's newsletter posts with commentary or screenshots or synthesis. (So cool!) But hey, I'm still here posting Emacs News after almost ten years, so that's something. =) A long list of categorized links fits the time I've got and the way my mind works, and other people can put their own spin on things.

Monthly: There are a number of Emacs user groups, both virtual and in-person. Quite a few of them use Emacs News to get the discussion rolling or fill in gaps in conversation, which is wonderful.

Some meetups use meet.jit.si, Zoom, or Google Meet, but some are more comfortable on a self-hosted service using free software. I help by running a BigBlueButton web conferencing server that I can now automatically scale up and down on a schedule, so the base cost is about 60 USD/year. Scaling it up for each meetup costs about USD 0.43 for a 6-hour span. It's pretty automated now, which is good because I tend to forget things that are scheduled for specific dates. My schedule still hasn't settled down enough for me to host meetups, but I like to drop by once in a while.

Yearly: EmacsConf is the one big project I like to work on. It's completely online. It's more of a friendly get-together than a formal conference. I have fun trying to fit as many proposed talks as possible into the schedule. We nudge speakers to send us recorded presentations of 5-20 minutes (sometimes longer), although they can share live if they want to. A number of volunteers help us caption the videos. Each presentation is followed by Q&A over web conference, text chat, and/or collaborative document. Other volunteers handle checking in speakers and hosting the Q&A sessions.

It's a lot of fun for surprisingly little money. For the two-day conference itself, the website hosting cost for EmacsConf 2024 was about USD 56 and our setup was able to handle 400 viewers online (107 max simultaneous users in various web conferences).

EmacsConf takes more time. For me, it's about 1.5 hours a day for 4 months, but I think mostly that's because I have so much fun figuring out how to automate things and because I help with the captions. Lots of other people put time into preparing presentations, hosting Q&A, participating, etc. It's worth it, though.

I like doing this because it's a great excuse to nudge people to get cool stuff out of their head and into something they can share with other people, and it helps people connect with other people who are interested in the same things. Some Q&A sessions have run for hours and turned into ongoing collaborations. I like turning videos into captions and searchable text because I still don't have the time/patience to actually watch videos, so it's nice to be able to search. And it's wonderful gathering lots of people into the same virtual room and seeing the kind of enthusiasm and energy they share.

So yeah, community plumbing turns out to be pretty enjoyable. If this resonates with you, maybe you might want to see if your small web community could use a blog aggregator or a newsletter. Doesn't have to be anything fancy. You could start with a list of interesting links you've come across. I'm curious about what other people do in their communities to get ideas flowing!

Related: the community plumbing section of my blog post / livestream braindump.

View org source for this post

2025-05-26 Emacs news

| emacs, emacs-news

Links from reddit.com/r/emacs, r/orgmode, r/spacemacs, r/planetemacs, Mastodon #emacs, Bluesky #emacs, Hacker News, lobste.rs, programming.dev, lemmy.world, lemmy.ml, planet.emacslife.com, YouTube, the Emacs NEWS file, Emacs Calendar, and emacs-devel. Thanks to Andrés Ramírez for emacs-devel links. Do you have an Emacs-related link or announcement? Please e-mail me at sacha@sachachua.com. Thank you!

View org source for this post

2025-05-19 Emacs news

| emacs, emacs-news

Links from reddit.com/r/emacs, r/orgmode, r/spacemacs, r/planetemacs, Mastodon #emacs, Bluesky #emacs, Hacker News, lobste.rs, programming.dev, lemmy.world, lemmy.ml, planet.emacslife.com, YouTube, the Emacs NEWS file, Emacs Calendar, and emacs-devel. Thanks to Andrés Ramírez for emacs-devel links and thanks to tusharhero for some links as well. Do you have an Emacs-related link or announcement? Please e-mail me at sacha@sachachua.com. Thank you!

View org source for this post

2025-05-12 Emacs news

Posted: - Modified: | emacs, emacs-news

[2025-05-13 Tue]: Fixed link to The Emacs Widget toolkit. Thanks, MPL!

Links from reddit.com/r/emacs, r/orgmode, r/spacemacs, r/planetemacs, Mastodon #emacs, Bluesky #emacs, Hacker News, lobste.rs, programming.dev, lemmy.world, lemmy.ml, planet.emacslife.com, YouTube, the Emacs NEWS file, Emacs Calendar, and emacs-devel. Thanks to Andrés Ramírez for emacs-devel links. Do you have an Emacs-related link or announcement? Please e-mail me at sacha@sachachua.com. Thank you!

View org source for this post

2025-05-05 Emacs news

| emacs, emacs-news

Links from reddit.com/r/emacs, r/orgmode, r/spacemacs, r/planetemacs, Mastodon #emacs, Bluesky #emacs, Hacker News, lobste.rs, programming.dev, lemmy.world, lemmy.ml, planet.emacslife.com, YouTube, the Emacs NEWS file, Emacs Calendar, and emacs-devel. Thanks to Andrés Ramírez for emacs-devel links. Do you have an Emacs-related link or announcement? Please e-mail me at sacha@sachachua.com. Thank you!

View org source for this post

Looking at my time data from 2012 to 2025

| quantified, time, life

Assumed audience:

  • @tagomago, who was curious about what a typical weekday looked like before I became a parent, following up on my post
  • people who track time, especially my fellow Quantified Self geeks
  • my future self, looking back even further on time and change

This is a long post without any particularly ground-breaking insights; more along the lines of "water is wet" (taking care of a kid reduces free time, to no one's surprise). I suppose not a lot of people have 13+ years of time data to analyze, though, so there's some coolness in that. Also, I'm a little proud of the fact that I got the graphs to show up nicely even under EWW, so they work without Javascript. If you view this post on my blog with Javascript enabled, there should be user-interface niceties like being able to switch between years.

I wrote a web-based time tracker back in late 2011 because I was curious about how I was actually using my time. I'd already started planning my 5-year experiment with semi-retirement. I knew that time-tracking was going to be useful for that, especially since I figured consulting was going to be part of it. I had been tracking my time with Tap Log for Android, but writing my own system allowed me to fit it to the way I wanted it to work. 2012 was my first full year of data with it. My time data includes a little bit of my work at IBM, all of my experiment with semi-retirement, and my time as a parent. Time-tracking was something that a number of people in the Quantified Self community were also exploring, so I had fun bouncing ideas and visualizations off other people. At some point, I nudged my categories a little closer to the time use studies I read. (Ooh, I should revisit these…)

I use a hierarchy of categories. Each time segment can have only one category, even if I might combine something like childcare and biking. The hierarchy lets me report at the high level while also letting me break things down further. I can add a note to a segment in order to capture even more detail, like the way that clocking in from my Org Mode tasks automatically fills in the time tracker's note with the task name. It takes me just a few taps to record my data most of the time. If I need to backdate something, I can use a couple more taps to select common time offsets (say, around 5 minutes ago). I can also type in some text to select an uncommon category or specify a different offset.

The data isn't 100% perfect, of course. Sometimes I created an entry a few minutes late or guessed when something started. Sometimes I forgot to track when I went to sleep or when I woke up. Despite the occasionally messy data, it gives me a pretty good idea of the rough categories of my day.

For the time graphs below, each column is one day, starting at midnight. All times are displayed in the America/Toronto time zone, with the occasional indent or outdent because of daylight savings time. Legend:

pinkA+ (childcare)
yellowBusiness - Connect
redBusiness / Work
greenDiscretionary - Play
blueDiscretionary - Productive
dark blueDiscretionary - Productive - Emacs
yellowDiscretionary - Social
purplePersonal
graySleep
orangeUnpaid work

If you click on the graph images, you should be able to get the SVG for each year, which will let you hover over segments for more details in the tooltips. Each SVG is about 1-4 MB, so I didn't want to include them all inline.

Here are some overall graphs of each year, as a sample weekday, and some notes on what was going on in my life then.

2012

2012

Sample weekday: 2012-04-25

22:06 - 06:32: Sleep21:33 - 22:06: Discretionary - Productive - Latin21:03 - 21:33: Unpaid work - Cook20:03 - 21:03: Personal - Walk - Other19:45 - 20:03: Discretionary - Social19:18 - 19:45: Personal - Routines19:18 - 19:18: Personal - Routines18:31 - 19:18: Unpaid work - Tidy up17:08 - 18:31: Personal - Bike08:55 - 17:08: Business - Earn - Consulting - E1 - General08:19 - 08:55: Personal - Bike07:01 - 08:19: Personal - Routines22:23 - 07:01: Sleep

In February 2012, I started my experiment with semi-retirement, shifting from working for IBM to consulting for a couple of clients. My week was still fairly typical, since I planned for 4-5 days of consulting each week. I usually biked or took the subway to the office, where I did some coding or consulting around enterprise social computing.

I wanted to experiment with different business models, so I also started doing some professional sketchnoting and illustration. I guess people liked stick figures. I did a few events here and there, but the semi- part of my semi-retirement was mostly consulting around enterprise social computing, collaboration and technology adoption, Javascript prototyping, and SQL queries.

2012 yearly review

2013

2013

Sample weekday: 2013-04-26

23:37 - 10:17: Sleep23:12 - 23:37: Discretionary - Play - Read - Fiction22:50 - 23:12: Personal - Routines20:50 - 22:50: Discretionary - Family20:33 - 20:50: Personal - Eat - Dinner20:11 - 20:33: Discretionary - Family19:07 - 20:11: Discretionary - Productive - Writing18:57 - 19:07: Unpaid work - Cook18:28 - 18:57: Personal - Walk - Other18:01 - 18:28: Discretionary - Productive - Writing17:00 - 18:01: Business - Build - Paperwork15:47 - 17:00: Business - Connect - Connecting12:00 - 15:47: Business - Earn - Consulting - E1 - General11:20 - 12:00: Unpaid work - Groceries09:06 - 11:20: Business - Earn - Consulting - E1 - General08:39 - 09:06: Personal - Routines23:52 - 08:39: Sleep

I continued to do a lot of consulting, but I started letting myself do some more fun stuff like Emacs and hanging out. The offset part towards the end of the year is when we went to the Philippines to visit family and attend a friend's wedding.

2013 yearly review

2014

2014

Sample weekday: 2014-04-21

23:38 - 00:18: Personal - Routines23:18 - 23:38: Discretionary - Play - Read - Blogs23:12 - 23:18: Personal - Routines19:44 - 23:12: Discretionary - Play - LEGO Marvel19:20 - 19:44: Discretionary - Productive - Gardening19:00 - 19:20: Personal - Eat - Dinner18:27 - 19:00: Discretionary - Play - LEGO Marvel18:25 - 18:27: Discretionary - Productive - Emacs18:23 - 18:25: Discretionary - Play - LEGO Marvel18:00 - 18:23: Unpaid work - Cook17:46 - 18:00: Unpaid work - Cook16:52 - 17:46: Discretionary - Productive - Emacs16:49 - 16:52: Discretionary - Productive - Emacs16:48 - 16:49: Unpaid work - Cook16:13 - 16:48: Discretionary - Productive - Emacs15:32 - 16:13: Discretionary - Productive - Emacs14:23 - 15:32: Business - Build - Delegation13:57 - 14:23: Business - Connect - Connecting13:21 - 13:57: Personal - Eat - Lunch13:16 - 13:21: Discretionary - Productive - Latin12:42 - 13:16: Business - Build - Delegation12:14 - 12:42: Discretionary - Productive - Writing09:54 - 12:14: Business - Build - Quantified Awesome09:21 - 09:54: Personal - Routines01:05 - 09:21: Sleep00:42 - 01:05: Personal - Routines23:37 - 00:42: Business - Build - Quantified Awesome

I ratcheted consulting down further and I gave myself permission to work on more of my own things. I enjoyed hanging out at Hacklab.to.

2014 yearly review

2015

2015

Sample weekday: 2015-05-27

23:49 - 07:55: Sleep23:30 - 23:49: Personal - Routines22:09 - 23:30: Discretionary - Play - Relax21:24 - 22:09: Discretionary - Productive - Drawing20:23 - 21:24: Discretionary - Play - Relax20:08 - 20:23: Personal - Routines19:01 - 20:08: Unpaid work - Clean the kitchen18:47 - 19:01: Personal - Eat - Dinner18:08 - 18:47: Unpaid work - Cook16:06 - 18:08: Business - Build - Quantified Awesome14:27 - 16:06: Business - Build - Quantified Awesome12:02 - 14:27: Discretionary - Play - Ni no Kuni11:37 - 12:02: Personal - Eat - Lunch10:27 - 11:37: Business - Build - Quantified Awesome08:59 - 10:27: Business - Build - Quantified Awesome07:24 - 08:59: Personal - Routines00:36 - 07:24: Sleep23:11 - 00:36: Personal - Routines

I continued to hang out at Hacklab and work on my own stuff, with a little bit of consulting. Towards the latter part of 2015 and the early part of 2016, I felt quite tired because of pregnancy, so I spent a lot more time relaxing.

2015 yearly review

2016

2016

Sample weekday: 2016-04-21

23:46 - 00:15: A+ - Childcare22:51 - 23:46: Sleep22:14 - 22:51: A+ - Childcare21:29 - 22:14: Personal - Routines21:26 - 21:29: Sleep21:14 - 21:26: A+ - Childcare21:11 - 21:14: Personal - Routines21:01 - 21:11: Unpaid work - Clean the kitchen20:40 - 21:01: A+ - Childcare20:20 - 20:40: Personal - Eat - Dinner19:56 - 20:20: Discretionary - Productive - Coding19:26 - 19:56: A+ - Childcare19:04 - 19:26: Discretionary - Productive - Drawing18:23 - 19:04: A+ - Childcare17:57 - 18:23: A+ - Childcare17:27 - 17:57: Business - Build - Paperwork16:57 - 17:27: Discretionary - Social16:26 - 16:57: Personal - Routines16:11 - 16:26: A+ - Childcare15:48 - 16:11: Discretionary - Productive - Tracking14:57 - 15:48: Personal - Walk - Other14:30 - 14:57: A+ - Childcare13:48 - 14:30: Discretionary - Productive - Coding13:00 - 13:48: Discretionary - Productive - Coding12:55 - 13:00: Discretionary - Productive - Coding12:47 - 12:55: Discretionary - Productive - Coding12:27 - 12:47: A+ - Childcare12:27 - 12:27: Discretionary - Productive - Coding12:11 - 12:27: Business - Connect - Connecting11:26 - 12:11: Unpaid work - Laundry11:22 - 11:26: Sleep11:22 - 11:22: Unpaid work - Clean the kitchen11:20 - 11:22: A+ - Childcare11:03 - 11:20: A+ - Childcare11:03 - 11:03: Personal - Plan10:13 - 11:03: Personal - Routines09:56 - 10:13: A+ - Childcare05:30 - 09:56: Sleep05:02 - 05:30: A+ - Childcare02:45 - 05:02: Sleep02:38 - 02:45: A+ - Childcare02:38 - 02:38: A+ - Childcare02:28 - 02:38: A+ - Childcare00:10 - 02:28: Sleep23:49 - 00:10: Sleep

In February, A+ was born. Here's the obligatory visualization of how my sleep shattered into a million pieces and childcare took over my days and nights. If you have ever been the primary caregiver of an infant, you'll know what this is like.

Year Sleep % Avg hours / day
2012 34.6 8.3
2013 36.7 8.8
2014 36.9 8.9
2015 38.1 9.1
2016 34.9 8.4
2017 32.5 7.8

… Sure didn't feel like 8.4 hours a day. Not enough continuous sleep, definitely foggy-brained. Although to be fair, babies also sleep a lot, and I tried to sleep during that time too.

Towards the end of the year, we took A+ to the Philippines to see family. We tried to do the usual short layover and that was miserable because of sleep deprivation, so our other flights included an overnight layover.

I decided that doing my yearly review twice a year was a bit excessive, so I moved to doing it in August for my birthday. This year was split between life as a 32-year-old and a 33-year-old.

2017

2017

Sample weekday: 2017-04-25

23:49 - 01:03: A+ - Childcare23:04 - 23:49: A+ - Childcare22:48 - 23:04: Personal - Eat - Dinner22:32 - 22:48: A+ - Childcare22:19 - 22:32: Personal - Routines20:11 - 22:19: Sleep19:39 - 20:11: A+ - Childcare19:10 - 19:39: A+ - Childcare18:52 - 19:10: Personal - Routines18:48 - 18:52: A+ - Childcare18:12 - 18:48: A+ - Childcare16:44 - 18:12: Unpaid work - Subway14:56 - 16:44: Personal - Walk - Other13:53 - 14:56: Unpaid work - Subway12:36 - 13:53: A+ - Childcare12:27 - 12:36: A+ - Childcare12:03 - 12:27: Personal - Walk - Other11:34 - 12:03: A+ - Childcare11:22 - 11:34: Personal - Routines10:55 - 11:22: Unpaid work - Clean the kitchen10:30 - 10:55: Personal - Eat - Breakfast09:33 - 10:30: Unpaid work - Cook09:28 - 09:33: A+ - Childcare02:31 - 09:28: Sleep01:20 - 02:31: Discretionary - Play - Relax00:58 - 01:20: Discretionary - Productive - Tracking00:43 - 00:58: Personal - Plan00:38 - 00:43: A+ - Childcare00:25 - 00:38: A+ - Childcare00:23 - 00:25: Personal - Plan00:08 - 00:23: A+ - Childcare23:38 - 00:08: Personal - Plan

More childcare. We often went to playgrounds, libraries, EarlyON early childhood centres, museums, and the Ontario Science Centre. I often needed a nap in the evenings.

Another trip to the Philippines. The very regular section was probably when I didn't have a reliable way of updating my time tracker. (Yearly review split between life as a 33-year-old and a 34-year-old)

2018

2018

Sample weekday: 2018-05-08

23:26 - 00:35: A+ - Childcare22:35 - 23:26: A+ - Childcare22:31 - 22:35: Personal - Routines22:02 - 22:31: Unpaid work - Clean the kitchen18:25 - 22:02: A+ - Childcare18:10 - 18:25: A+ - Childcare17:39 - 18:10: A+ - Childcare17:31 - 17:39: Personal - Routines17:23 - 17:31: A+ - Childcare17:12 - 17:23: A+ - Childcare17:04 - 17:12: A+ - Childcare16:31 - 17:04: Unpaid work - Tidy up15:10 - 16:31: Business - Earn - Consulting - E1 - General14:36 - 15:10: A+ - Childcare13:19 - 14:36: Business - Earn - Consulting - E1 - General09:03 - 13:19: A+ - Childcare00:37 - 09:03: Sleep00:19 - 00:37: A+ - Childcare21:24 - 00:19: A+ - Childcare

We went on two trips to the Philippines. My dad died during the first one, and the second one was to keep my mom company. (Yearly review split between life as a 34-year-old and a 35-year-old)

2019

2019

Sample weekday: 2019-04-25

23:53 - 08:34: Sleep23:43 - 23:53: Sleep21:54 - 23:43: Discretionary - Family21:45 - 21:54: Personal - Routines20:40 - 21:45: A+ - Childcare20:22 - 20:40: Personal - Routines08:45 - 20:22: A+ - Childcare08:13 - 08:45: Personal - Routines23:19 - 08:13: Sleep

Sometimes I paid a babysitter so I could do some consulting, but A+ usually didn't like being away from me, so I just didn't do that much. This year was also our last trip to the Philippines before COVID changed the world. (Yearly review split between life as a 35-year-old and a 36-year-old)

2020

2020

Sample weekday: 2020-04-28

23:31 - 00:15: Sleep23:30 - 23:31: Personal - Routines23:03 - 23:30: Discretionary - Play - Read - Fiction22:56 - 23:03: Discretionary - Productive - Writing21:52 - 22:56: Discretionary - Play - Read - Fiction20:45 - 21:52: A+ - Childcare20:25 - 20:45: Discretionary - Productive - Coding20:17 - 20:25: Discretionary - Family19:47 - 20:17: Personal - Routines17:56 - 19:47: A+ - Childcare16:26 - 17:56: Unpaid work - Cook09:01 - 16:26: A+ - Childcare07:02 - 09:01: A+ - Childcare07:01 - 07:02: Sleep01:24 - 07:01: Sleep00:20 - 01:24: Discretionary - Social23:50 - 00:20: Discretionary - Productive - Coding

I started staying up to try to get stuff done. This was sometimes tricky to get right. If I stayed up too late and then A+ woke up early, I got cranky. I did much less consulting. The two dark blue lines towards the later part of the year represent EmacsConf. (Yearly review split between life as a 36-year-old and a 37-year-old)

2021

2021

Sample weekday: 2021-04-29

23:37 - 00:01: Discretionary - Productive - Gardening23:23 - 23:37: Discretionary - Productive - Coding23:11 - 23:23: Personal - Routines21:30 - 23:11: A+ - Childcare20:30 - 21:30: Personal - Routines19:44 - 20:30: Discretionary - Productive - Emacs18:33 - 19:44: A+ - Childcare18:25 - 18:33: Personal - Routines18:23 - 18:25: A+ - Childcare17:23 - 18:23: Personal - Routines16:52 - 17:23: Unpaid work - Clean the kitchen16:32 - 16:52: Unpaid work - Cook09:51 - 16:32: A+ - Childcare08:47 - 09:51: Personal - Routines01:31 - 08:47: Sleep01:11 - 01:31: Personal - Routines23:42 - 01:11: Discretionary - Productive - Emacs

Still staying up to try to have some me-time. The dark blue boxes in the second half of the year show that I started taking a more active role in organizing EmacsConf, mostly by coding stuff late at night. (Yearly review split between life as a 37-year-old and a 38-year-old)

2022

2022

Sample weekday: 2022-04-25

23:21 - 00:15: Discretionary - Productive - Writing22:50 - 23:21: Discretionary - Productive - Emacs20:36 - 22:50: A+ - Childcare20:09 - 20:36: Personal - Routines10:20 - 20:09: A+ - Childcare00:26 - 10:20: Sleep00:24 - 00:26: Personal - Routines21:24 - 00:24: A+ - Childcare

A+ shifted to staying up late too, so I adapted by doing less. Trying to get her to go to bed earlier just resulted in grumpiness and crying. (Sometimes I was the one crying.)

I did a lot more automation for EmacsConf. Sometimes it was because she was attending virtual grade 1 during the daytime, and sometimes it was because she was just chilling out watching videos in the evening. (Yearly review split between life as a 38-year-old and a 39-year-old)

2023

2023

Sample weekday: 2023-04-25

23:23 - 08:05: Sleep21:41 - 23:23: A+ - Childcare21:11 - 21:41: Personal - Routines13:44 - 21:11: A+ - Childcare13:29 - 13:44: Discretionary - Productive - Emacs13:16 - 13:29: Personal - Plan13:02 - 13:16: A+ - Childcare12:47 - 13:02: Business - Earn - Consulting - E1 - General12:45 - 12:47: A+ - Childcare12:34 - 12:45: Business - Earn - Consulting - E1 - General08:34 - 12:34: A+ - Childcare07:28 - 08:34: Personal - Routines23:22 - 07:28: Sleep

A+ started grade 2. We had to wait a little while to get our exemption from synchronous learning approved, so we made an effort to attend school in the beginning. We eventually got the exemption, though. (Yearly review split between life as a 39-year-old and a 40-year-old)

2024

2024

Sample weekday: 2024-04-25

23:06 - 00:36: Sleep20:38 - 23:06: A+ - Childcare20:08 - 20:38: Personal - Routines19:38 - 20:08: Unpaid work - Clean the kitchen08:40 - 19:38: A+ - Childcare08:00 - 08:40: Personal - Routines00:54 - 08:00: Sleep23:15 - 00:54: Discretionary - Play - Read - Fiction

A+ started grade 3. Our application for an exemption from synchronous learning wasn't approved, so A+'s schedule (and mine) tended to follow the school schedule except for the days when I say, hey, let's just go on an informal field trip. I'm glad A+ decided to get on board with waking up at around 7 AM fairly consistently instead of sleeping in. The graph also shows the steadiness of the pink Childcare segments during the 11AM-12PM lunch breaks. Knowing when I'm likely to be interrupted by an armful of kiddo does help me use the morning and afternoon breaks a little more efficiently, although having 1-1.5 hours to think can still feel a little short if I'm trying to do some programming.

Part of this year was covered by my life as a 40-year-old yearly review. I'll write my "life as a 41-year-old" post in August this year.

2025

2025

Sample weekday: 2025-04-10

23:17 - 06:55: Sleep22:19 - 23:17: Personal - Routines18:22 - 22:19: A+ - Childcare17:52 - 18:22: Personal - Routines17:30 - 17:52: Unpaid work - Clean the kitchen14:44 - 17:30: A+ - Childcare14:37 - 14:44: Personal - Routines13:54 - 14:37: Discretionary - Productive - Coding12:42 - 13:54: Discretionary - Productive - Emacs12:10 - 12:42: Discretionary - Productive - Writing12:04 - 12:10: Discretionary - Productive - Emacs11:01 - 12:04: A+ - Childcare10:58 - 11:01: Discretionary - Productive - Emacs10:48 - 10:58: Personal - Routines09:54 - 10:48: Personal - Walk - Other09:37 - 09:54: A+ - Childcare08:27 - 09:37: Discretionary - Productive - Music06:57 - 08:27: A+ - Childcare23:32 - 06:57: Sleep

I started prioritizing practising piano and going for a good long walk at some point in the day, both of which feel very nice. I still usually handle A+'s recess and lunch breaks, but W-'s retired now, so sometimes he handles A+'s lunch while I do things.

How has my time changed over the years?

I usually do a quick check of my time by looking at the category totals and percentages during my monthly and yearly reviews, but seeing it as a day-by-day view like this makes it easier to feel the flow of things, including when I tend to stay up late. (Revenge bedtime procrastination strikes again.)

Still, category totals make it easier to see high-level changes over time. Here's a graph of average hours per day per high-level category per year.

I can see that:

  • childcare mostly came out of my consulting, personal, and play time
  • I've managed to get back to doing more productive stuff and Emacs stuff

Here's the hours-per-day.py script I used to analyze it, using Pandas to sum it up, Matplot to graph it, and mpld3 to add some Javascript interaction so we can hover over points to get the label and value. I wrote a little SetViewbox plugin so that the graph could be more responsive.

Fragmentation

My life is still fragmented, but I'm slowly becoming more okay with this. The general advice is, of course, to try to consolidate some focus time, but my life doesn't work that way. Besides, it's fragmented because the kiddo likes to spend time with me, which is wonderful.

I liked this quote from Eleanor Coppola from this Living with Literature interview:1

The men artists I knew had a studio, and they went out to their studio, and they spent the day, and worked, and then they came back. I once read a book by Judy Chicago, who interviewed all these women artists, and they made their art on the back porch, they made it on top of the washing machine, they made it next to the kitchen sink, and they made it anywhere they could, for the hour and a half while their kid was taking a nap, and for the two hours while they were at the play group. They made it in between. It wasn’t, like, you get to make art for eight hours. You make art in 20-minute snatches, and you don’t, like, fiddle around. I know one time I went to see Francis in his working room, and he had his pencils all laid out, and his espresso there, and there was this whole little ritual of getting into yourself and into your work. There was no time [for women] for the ritual of getting into your work! You just snapped into that taking 10 minutes and making 3 lines on your drawing or whatever was possible. It wasn’t the same as the way men worked. And that’s how women got their work done.

This reminds me of the reflections on interruptibility in Meditations for Mortals (Oliver Burkeman, 2024): yes, try to ringfence three to four hours of your day for focused time, but don't try to control too much of your life; stay distractible, don't fight life, give your full attention once your focus has already been diverted. It also reminds me of Good Mom on Paper (edited by Stacey May Fowles and Jen Sookfong Lee, 2022); there are lots of other people who are finding their way through the "Mom! Mom! Mom!" phase. (A+ still has a finely-tuned attention detector. She can sense the moment I begin to think about something and interrupt it with "Mom, look at this!" even when W- is right there beside her.)

A+ grows more independent every year. It's like life is slowly easing me into this independence too. 2022 looked different from 2025, and 2028 will be different too. I used to have 5-10 minute snippets of time (still do). Now I occasionally get 1-hour chunks. Eventually I'll have 3-hour chunks again. I know from my experiment with semi-retirement that time isn't the thing holding me back from making a useful website or writing a book or saving the world, so that's actually kind of liberating. It can just be about trying things out and seeing where I want to go with that.

Sleep

One of the things I've learned is how much of my day depends on feeling well-rested. When I've slept well, I can parent better and I can take advantage of little pockets of me-time better.

It's surprisingly tricky to get my sleep sorted out. My sleep isn't as fragmented as it used to be in the early days of parenting A+, but it's still a little challenging. These days, I usually start nudging A+ towards bed at 9 PM. I'm still an integral part of her bedtime routine. Sometimes she stays up because she wants to chat or improvise stories, and unless I'm super tired, I like to spend that cozy time with her. I snuggle her until I think she's fallen asleep. Sometimes I try to slip away too early and she sleepily asks for more hugs, so then I snuggle her for another ten or fifteen minutes. I try to stay awake because whenever I fall asleep in her twin bed, we're both a bit tired and cranky in the morning. After A+'s finally asleep, I call my mom to check on her. Sometimes I do a bit of reading or drawing as my personal time.

I can remind myself not to stay up late reading because then I'll get too little sleep and then I'll feel tired. I can find time to read the next day. Come to think of it, this is what I tell A+ too, and just like me, she also finds it hard to put books down.

I could also get a bit more sleep by accepting that A+ will probably wake up at 7:30 or so, and set my alarm for 7:25 instead of 6:55. She usually likes a lot of snuggles before finally waking up, though, so starting the snuggles early in the morning gives us more of a leisurely start to the day.

If I go to bed at about 10 or 10:30 PM, I usually wake up before my alarm goes off. If I move some of my personal reading and writing to that time (RSS, books, etc.), then I can swap out some of the less-useful scrolling through Reddit and start the day better.

Other thoughts

Text from sketch

Time over the years

  • Minutes are not all the same
    • 8.4 hours of sleep, 2 hours of me-time:
      • fragmented < all together
    • family time: 0-18 > 18→
  • How much time I have & how much time I feel I have are two different things.
  • It's okay to have downtime. No sense in grumping at myself about it.
  • Energy matters. Sleep is my foundation for everything else
  • Time comes from somewhere. There's time for everything I really want, just not all at once. Constraints clarify choices. If I want to do more of something, I need to change something else.
  • I like a small, leisurely life.

sachachua.com/2025-04-29-02

Tracking my time is surprisingly reassuring. I can see that I have time for a few discretionary things, and I can see the trade-offs. More time spent doing one thing means less time spent on another, so it makes my actual priorities clear. In the beginning, I tended to fall back to consulting a lot because it came with clear tasks and the satisfaction of helping other people. I'm happy to see that I'm becoming more comfortable with choosing things like playing piano, going for walks, writing, or working on personal projects, or playing Minecraft with W- and A+.

W- does so much around the house, and we really enjoy the benefits. (Mmm, fresh-baked bagels.) It makes me want to increase my "Unpaid work" time so that I can increase the satisfaction I feel from helping improve the household. If I can tempt A+ along (say, cooking or gardening), then that would be an effective way to shift that time around. When I switch from "Personal - Routines" to "Unpaid work - Clean the kitchen," it feels nice. I know it'll add up.

When I don't feel particularly energetic or focused, I've learned to be kind to myself and just chill out with a book or my iPad, or do some tidying around the house. Sometimes I have a nap. No point in grumping at myself about it. I'm learning that I enjoy having a simple, leisurely sort of life, without feeling like I need an internal taskmaster. When I do have an idea, I'm fine with going with it even if there are lots of other things on my to-do list from before. As long as nothing urgently needs to be done, there's room to play, and it's easier to work on stuff I'm curious about or care about, even if it might not be the theoretically optimal way to use that bit of time.

Do I want to find time for the activities I used to spend time on before?

I don't think I'll go back to my pre-parenting socializing any time soon. I miss bumping into interesting ideas and people at tech meetups and Hacklab, and hosting people for tea, but it's okay. We're still taking COVID precautions, so we don't hang out indoors. The weather's warming up so maybe people will be outside more. I bumped into Andrew Louis at a park the other day. That conversation reminded me that there are lots of wonderful people who don't blog nearly as often as I do (and even I don't write as often as I'd like), so spending time with them (either one-or-one or as part of larger conversations) is the main way to find out about the cool things they've been up to, enjoy that feeling of "I'm glad you exist," and perhaps develop friendships further. Someday, maybe. In the meantime, I like EmacsConf, I occasionally join online meetups, and I've dusted off my feed reader and filled it with people whom I also appreciate.

All my gaming time has shifted over to Minecraft because that's what A+ and W- play. I like playing with them. It's a fun way to spend time together and explore different situations.

I probably won't take up Latin or Japanese again for now. I enjoyed feeling my brain get the hang of something new. At the moment, my brain seems to want to get that from piano practice, so that's fine.

I'd like to sew more. A+ wants more skirts, skorts, and dresses, and she doesn't often find clothes to her liking in the stores. She likes it when I wear a matching skirt, too. If I'm working with stretchy fabric, that means using the serger at home. If I'm working with wovens, I can bring the project to the playground for something tangible to work on while the kids play. At home, it tends to feel like a choice between coding, writing, cooking, tidying, or sewing, and I don't pick sewing very often. At the park, sewing gives me something to do while I listen to other grown-ups chat.

I like what I've shifted my time towards: more time outside, time with family, biking and walking (especially awesome when we're out biking as a family!), more gardening, more writing, more drawing. It's okay that other things moved lower on my list.

How much time does it take to track and analyze time?

It doesn't take a lot of time to capture the data: just a few seconds to tap into my most common categories using my phone. I recently added some Tasker tasks and Google Assistant routines so that I can track common categories by voice ("Hey Google, kitchen"), using face unlock to authorize it in case my hands are full. I've written code to automatically add time use tables to my weekly, monthly, and annual reviews, so that's also straightforward.

This particular analysis took me a couple of extra hours spread over several days.

  • I noticed some entries I wanted to clean up (mostly when I didn't track when I slept), so that took a little time.
  • I wanted to tweak my graph visualization to make it easier to visualize a whole year of data, so I modified it to take up the full width instead of a fixed width, changed the outline to a slightly-transparent version of the category colour, and recoloured the categories based on a palette I picked up from somewhere. This meant I needed to re-figure-out how to modify my web-based tracker, as there were some gaps in my notes.
  • I wanted an Emacs Lisp way to visualize a single day, which meant adding quantified-svg-day and other functions to .

    Then I could define a named Org Babel block like this:

      #+NAME: day-graph
      #+begin_src emacs-lisp  :exports results :var day="2012-04-25"
            (with-temp-file (format "weekday-%s.svg" (substring day 0 4))
                    (svg-print (quantified-svg-day day 'horizontal))
                    (buffer-string))
            (format "#+ATTR_HTML: :style margin-top: 0; margin-bottom: 0\nSample weekday: %s\n#+ATTR_HTML: :style width:100%%; height: 20px\nfile:weekday-%s.svg" day (substring day 0 4))
      #+end_src
    

    To call it, I can use:

      #+CALL: day-graph(day="2013-04-26")
    

    Next step would be to visualize the data from a start day to and end day, which could be useful for weekly and monthly reviews.

  • I kept wanting to add more thoughts.

I liked reviewing my data, though. Even with just the numbers and graphs, it was a way to revisit those quite different past selves.

This time data works together with other things. I built myself a web-based journal as well–just quick sentences to capture what happened, roughly grouped into categories. That provides a more qualitative view of my day and helps me flesh out the memories.

Can I share my data?

I used to leave quantifiedawesome.com more open to the web. To my amusement, it's even been used in a machine learning research paper, which, after much crunching of data, concluded that I tend to take the subway to things and then come back.2 Anyway, I noticed my time tracker got a bit slower as bots started trying to crawl through the reports, and it occasionally crashed and needed restarting, so I tucked it behind an IP address range restriction. Not really sure what other people would find interesting in my data, anyhow. =)

Other resources

If you like this sort of stuff, you might also want to check out my other posts about time or Quantified Self, or these other people's time analyses:

If you want to start tracking your time, it might be helpful to try it for a short period (a week, a month, whatever) and then see what surprises you. People can track time using all sorts of things: pen and paper, a spreadsheet, a digital calendar, a time-tracking app… It might take a few tries to find something that fits the way you work, and that's okay.

Interactive figures in blog posts with mpld3 was also helpful for figuring out Javascript-enabled charts from Python, for which of course I totally want a smooth Org Mode workflow.

Looking forward to the next few years

Looking forward, I expect childcare to still be a significant portion of my day, but that's all right. It'll wind down all too quickly, so I might as well enjoy it while I'm here. I think I'd like to do maybe 5-15 hours of consulting a month, which is a few hours each week. I enjoy helping my clients explore crazy ideas. Aside from that, there are lots of other things I want to do with my time, and each day feels nicely full. Now that the weather's warming up, I'd like to become even more comfortable with sitting on the porch with a book or a sketch, or going for a walk with A+ to the ice cream store, or wandering around the city checking out playgrounds.

A+ is 9. I am more than halfway to the end of A+'s childhood, and adolescence is around the corner. I have only so many years in this easy stage with W-. My paternal grandmother had dementia towards the end of her life and my mom is dealing with both physical and cognitive decline due to Parkinson's. Tick tock, memento mori, four thousand weeks go by quickly. I'm half-past that mark, too. But it's not a matter to feel despair about or something that should make me try to hang on to this moment too tightly. Keeping track of my time doesn't mean subjecting myself to some kind of Tayloristic time-and-motion study of the sort that dictates how many packages an Amazon warehouse worker must process each hour, out of the urge to wring out every last bit of productivity possible. It's enough, I think, to savour here and now, to laugh at the things I worried about in the past and to accept that future me will also look back and smile.

I wonder what the next few years could look like. I'd like to keep tracking time as a low-effort way to sketch out the shape of my day, to see my revealed preferences and see if they match up with what I value, and to appreciate how little things add up.

Footnotes

2

J. Cüppers and J. Vreeken, "Just Wait for it… Mining Sequential Patterns with Reliable Prediction Delays," 2020 IEEE International Conference on Data Mining (ICDM), Sorrento, Italy, 2020, pp. 82-91, doi: 10.1109/ICDM50108.2020.00017.

View org source for this post

2025-04-28 Emacs news

| emacs, emacs-news

Links from reddit.com/r/emacs, r/orgmode, r/spacemacs, r/planetemacs, Mastodon #emacs, Bluesky #emacs, Hacker News, lobste.rs, programming.dev, lemmy.world, lemmy.ml, planet.emacslife.com, YouTube, the Emacs NEWS file, Emacs Calendar, and emacs-devel. Thanks to Andrés Ramírez for emacs-devel links. Do you have an Emacs-related link or announcement? Please e-mail me at sacha@sachachua.com. Thank you!

View org source for this post