Categories: review

RSS - Atom - Subscribe via email

Weekly review: Two weeks ending December 11, 2024

| weekly

This post covers the week ending Dec 4 and the week ending Dec 11, since it was a bit of a rush leading up to EmacsConf.

  • EmacsConf 2024 went well, hooray! Here are some of my journal entries over the past two weeks:
    • I worked on the BigBlueButton server some more. I used Spookfox to automate Firefox from Emacs Lisp so that I could add moderator codes to all the BBB rooms. That way, speakers can let themselves in if needed, since we might be understaffed. (Might need to ask the mailing list if anyone wants to volunteer to host, which is mostly reading out questions and making conversation.) I also updated the Tampermonkey script so that the user in the VNC session will be able to join the web conference automatically.
    • I added shell scripts to copy the BBB redirect files so that I can easily do that by hand in case I don't get the automation sorted out again over the next week.
    • Livestreaming to Toobnix seems to be iffy at the moment, so I'll just focus on 480p and YouTube. I'll probably end up manually copying and pasting the stream keys for each event, so I've added them to the shift checklists to make that easier for myself.
    • I confirmed crontab and publishing still worked, and I processed some last-minute submissions. I also sent the check-in emails and fixed my email delivery verification.
    • 2024-12-08T00:40:59.681Z

      #emacsconf day 1 wasn't 100% smooth, but it was 100% fun, and people rerouted around all of the tech hiccups. I think we've figured out the color issue (needed to update mpv from 0.35 to 0.38), I updated my scripts to take the video files from the cache directory instead of other directories that I forgot to update, updated the checklist to have the right URLs, enabled case-fold-search on the other Emacs, and added random package mentions to the countdown screen. I forgot to let zaeph know I edited one of the videos, so next time I should flag that somehow. I'm not 100% sure about our BBB setup; a couple of people's computers crashed. On the plus side, this year, sooo many people helped out with captions and quality checks. Improving little by little! :D The important stuff got done: people got to see things and chat with other people!

    • The second day of EmacsConf went pretty well! We managed to handle a couple of last-minute uploads.
    • I processed the EmacsConf Q&As to add chapter indices and correct a number of misrecognized words. I also copied comments from of IRC and YouTube.
    • I modified the VTT separator regexp for subed.el.
    • swapping roles 2024-12-08T02:34:12.554Z

      I had a lot of fun watching Leo Vivier, Corwin Brust, and FlowyCoder fluidly swap roles as needed during #emacsconf . It was like professional jugglers dancing, one tossing a ball up in the air, the other shifting into place to catch it, the third getting the next ones lined up so things keep moving smoothly.

    • I dropped by Lispy Gopher Show again to chat about Emacs, Emacs Lisp, and EmacsConf with screwtape.

      @screwtape I imagine it could be useful to have a smart radio object that could tell someone how many minutes until your next show and where to listen to it (saves us from UTC conversions); do the same for other anonradio shows; search for a keyword in your archives (even just the descriptions); and maybe even allow other people to contribute a note that can be reviewed and included in the archive description for an episode

    • Q&A update 2024-12-12T14:48:25.451Z

      Yay, I've copied the rest of the comments from IRC and YouTube to the #EmacsConf talk pages, so speakers will be able to review them in one go. I've also copied some sections out of the transcripts for quick answers. I might send the speakers the thanks email with the discussion and main talk video links, but without links to the Q&A videos yet.

      BigBlueButton audio mixing was as usual a bit of a challenge, with some participants quiet and some participants louder. BBB saves only mixed audio. It would be nice to see if I can get separate audio recordings next year by configuring https://github.com/bigbluebutton/bigbluebutton/issues/12302 , but that sounds a little complicated. Instead of taking over the task of messing with the audio in the current recordings (which I tend to flub because I don't have the patience for it :) ), I can leave space for other people to do things. Instead, I can focus on the other tasks I've been procrastinating. :)

  • Life:
    • A- felt that the Outschool club was worth keeping because she likes the people.
    • We all practised shinny at High Park. Nice! A- and I worked on our stops once it was time to move over to the leisure skate area. We've also skated even though there was a light drizzle.
    • W- enjoyed helping out with the Bike Brigade.
    • A+'s CCAT scores qualified her for the next step in the TDSB gifted identification process. I've been trying to figure out what this could look like for us. There's probably no gifted program for virtual school, so it might look much like what we've already got. We've been talking about how to adapt to systems that are designed for other people. At the moment, it seems to work better for her if I sit with her during boring parts of class and help her explore things like coding with Python (or help her get her homework out of the way), so I don't have much focused time myself. It's important to us that she feels good about learning and that she learns how to work with/around systems, so spending that time is worthwhile. It just means that I have to be strategic about what I do.
Time
Category The other week % Last week % Diff % h/wk Diff h/wk
Discretionary - Productive 7.6 26.3 18.8 44.3 31.5
Business 0.2 1.6 1.4 2.7 2.3
Discretionary - Play 0.0 0.6 0.6 1.0 1.0
Discretionary - Social 0.0 0.0 0.0 0.0 0.0
Discretionary - Family 0.9 0.0 -0.9 0.0 -1.6
Personal 8.3 6.9 -1.4 11.6 -2.4
Unpaid work 4.3 0.9 -3.4 1.5 -5.7
Sleep 35.0 29.4 -5.6 49.4 -9.4
A- 43.6 34.2 -9.4 57.5 -15.8
View org source for this post

Wednesday weblog: week ending November 20, 2024

| weekly, weblog, review
  • Reflection on writing style - 2024-11-18T00:44:18.080Z

    I notice that I have a lot more fun writing tiny workflow tweaks (mostly #Emacs ) and sharing them on my blog versus, say, insightful reflections developed over a longer period of time. I think it's the payoff of being able to enjoy those tweaks. Sometimes abstract thoughts help me come to realizations that I can then try to use to change my concrete behaviours, but it's a lot less straightforward.

    Also, I notice that I prefer to write with a curious, exploratory tone instead of an authoritative one, which is probably also related to my focus on "I" rather than "you". Kinda like: here's what I'm experimenting with, sharing in case it's helpful (and also because I want to be able to find it again), everyone's different and that's awesome, curious about what works for you. :) I'm glad other people can pull off being authoritative/persuasive, though.

    23+ years #blogging and still learning more!

  • Sketchnote blogs - 2024-11-17T18:19:47.826Z

    I'm surprised by how few active blogs I could find about #sketchnotes (or had a category feed for sketchnotes). It's mostly rohdesign and Verbal to Visual, I think. Sketchnote Army still comes out with episodes, but the posts themselves don't seem to be very visual, so people have to click through to the person's website. I guess a lot of people are on Instagram, but that doesn't seem to support RSS any more, and I'm not really keen on scrolling through that. Ah well!

  • dark mode sketch filter - 2024-11-14T13:41:01.165Z

    I tweaked my dark-mode sketch CSS rule thanks to stefanvdwalt's comment. Now I've got

      @media (prefers-color-scheme: dark) {
      .sketch-full img, .gallery img, .left-doodle, .right-doodle,
      .center-doodle { filter: invert(1) hue-rotate(180deg) brightness(150%)
      contrast(0.9); }
      }
    

    Updated: https://sachachua.com/blog/2024/11/using-a-coloured-template-on-my-supernote-a5x/

  • Researched BBB hosting options and compared the costs with self-hosting on Linode.
  • Checked the shell scripts to make sure that hosts can start the videos by using shortcuts.

Quotes

  • Excerpts from Rebecca Solnit's "A Field Guide to Getting Lost" (2006) - 2024-11-19T12:52:11.878Z

    One of the books that has just arrived from the library is "A Field Guide to Getting Lost" (Rebecca Solnit, 2006), which was recommended to me by @janoli .

    Here are some snippets that have resonated with me so far:

    p5. Love, wisdom, grace, inspiration–how do you go about finding these things that are in some ways about extending the boundaries of the self into unknown territory, about becoming someone else?

    p10. and there's another art of being at home in the unknown, so that being in its midst isn't cause for panic or suffering, of being at home with being lost.

    p14. The historian Aaron Sachs, about explorers: "In my opinion, their most important skill was simply a sense of optimism about surviving and finding their way."

    p80. Even in the everyday world of the present, an anxiety to survive manifests itself in cars and clothes for far more rugged occasions than those at hand, as though to express some sense of the toughness of things and of readiness to face them. But the real difficulties, the real arts of survival, seem to lie in more subtle realms. There, what's called for is a kind of resilience of the psyche, a readiness to deal with what comes next.

    p99. Probably it had its origins in protective urges, but it had gone sour long ago.

  • Excerpts from Bill Watterson's speech at Kenyon College in 1990 - 2024-11-19T12:19:15.286Z

    Thanks to @kims for sharing Bill Watterson's speech at Kenyon College, Gambier Ohio, to the 1990 graduating class (https://web.mit.edu/jmorzins/www/C-H-speech.html)

    This section particularly resonated with me: "Creating a life that reflects your values and satisfies your soul is a rare achievement. In a culture that relentlessly promotes avarice and excess as the good life, a person happy doing his own work is usually considered an eccentric, if not a subversive. Ambition is only understood if it's to rise to the top of some imaginary ladder of success. Someone who takes an undemanding job because it affords him the time to pursue other interests and activities is considered a flake. A person who abandons a career in order to stay home and raise children is considered not to be living up to his potential-as if a job title and salary are the sole measure of human worth."

    I also appreciated his resistance to commercializing Calvin & Hobbes:
    "Selling out is usually more a matter of buying in. Sell out, and you're really buying into someone else's system of values, rules and rewards.
    The so-called 'opportunity' I faced would have meant giving up my individual voice for that of a money-grubbing corporation. It would have meant my purpose in writing was to sell things, not say things. My pride in craft would be sacrificed to the efficiency of mass production and the work of assistants. Authorship would become committee decision. Creativity would become work for pay. Art would turn into commerce. In short, money was supposed to supply all the meaning I'd need.
    What the syndicate wanted to do, in other words, was turn my comic strip into everything calculated, empty and robotic that I hated about my old job. They would turn my characters into television hucksters and T-shirt sloganeers and deprive me of characters that actually expressed my own thoughts."

Other links

View org source for this post

Wednesday weblog: Week ending 2024-11-06

| review, weblog, weekly

I used to write weekly reviews. Nudged by Doing weeknotes, I want to get back to doing them. I'm still figuring out how I'd like to put these notes together as part of a weekly review process picking up some stuff from my blog posts, toots, Org inbox, and journal entries. That way, I can revisit fleeting notes and flesh them out a little more, notice and celebrate progress, and radiate intent.

Do I want to leave it on Wednesdays (chosen for its alliteration with weblog, with no particular deep thought about it) or go back to Fridays like before? Wednesdays might be a good idea, actually, since I might still be able to schedule some tasks for Thursday and Friday.

Anyway, over the last seven days:

  • EmacsConf:
    • Improved the Makefile we use in EmacsConf so that it detects the prefixes from the original files in the directory and builds various intermediate files (reencoded.webm, opus, vtt, normalized opus, main.webm).
    • While the kiddo was at an extracurricular activity, I listened to talks for the upcoming EmacsConf and annotated transcript PDFs so that I can edit the captions later. It was very enjoyable and something I could do with gloves on, which was great because the weather's getting pretty cool. I'm looking forward to using pdf view to flip through the exported annotations in Emacs. Yay! (toot)
    • Processed lots of talks and captions.
    • Wrote some code to skim the starts of subtitles to check the timing.
    • Got Icecast, OBS, and Emacs set up for the upcoming conference, and I disabled screenlock in our i3 config.
    • Still haven't been able to fix bbb.emacsverse.org. I've asked Corwin to look into Galene. I think meet.jit.si might not be solid enough for us (potentially throttling issues like several years ago).
  • Other Emacs stuff:
    • Wrote a function for storing a link to a blog post from the Org subtree for it. (my-org-store-blog-post-link in Linking to blog posts).
    • Experimented with moving lines around for fixing the text conversion of sketches, but I think it feels like more work than just retyping.
    • Figured out that I needed to set :comments no on the Org source block that had ;; lexical-binding: t on it. (toot)
    • Used org-html-htmlize-generate-css to export CSS from Modus Vivendi to use as my dark-mode colours
  • Other tech:
  • Life:
    • Read Tiny Habits and made sketchnotes. I also listened to a podcast on The Feel-Good Method of Productivity, which touched on some of the same points about joy and celebration. (toot)
    • A thought as things become more tangled: Here are some of the things I am working on learning as I grow up: how to navigate uncertainty with curiosity, how to use conflicts to figure out priorities, how to face regrets with acceptance, and how to transform grief into an even fiercer love.
    • Parent-teacher interview and progress report: A+ is doing well. No exemption from synchronous learning this year. Oh well. We'll just have to figure out how to work with the system for now, or decide when it's not working well enough for A+.

Links

View org source for this post

Wednesday weblog: Toots ending 2024-11-06

| review, roundup
  • embark-org-insert-link-to - 2024-11-02T15:49:09.420Z

    Ooh, it looks like `consult-org-heading` already lets me use embark-act with the shortcut `j` to call `embark-org-insert-link-to`. It doesn't feel like a "j" shortcut, though, so I'll just bind it to `L` for "link" instead: `(keymap-set embark-org-heading-map "L" #'embark-org-insert-link-to)`

  • EmacsConf progress: intros - 2024-11-01T18:32:21.973Z

    #emacsconf progress: I've recorded intros for all the talks so that speakers can review them, and some of the talk videos have started coming in. I'll ask the speakers for feedback after the video upload target date. Still slightly stressed about the prospect of replacing or re-setting-up BigBlueButton; corwin has taken over the stressing out about it at the moment.

  • Planet Emacslife CSS tweaks - 2024-11-01T13:14:52.582Z

    More tweaks to https://planet.emacslife.com: now using flex layout, so it should be a bit more responsive to screen size; sticky headers on large screens so that you can see which post it is when you scroll down. Does it make sense to do sticky headers on small screens? I don't want long titles taking up too much screen space on phones…

  • Emacs commits in Planet Emacslife? - 2024-11-01T11:14:53.651Z

    How do people feel about automatically including #Emacs commits affecting etc/NEWS and Org Mode's ORG-NEWS in https://planet.emacslife.com ? Handy for staying up to date? Too much, since it's easy to subscribe separately?

  • Thinking about navigating a large archive - 2024-10-30T14:48:16.127Z

    I use the 11ty static site generator to publish my blog as plain HTML pages. I have a lot of posts in some categories, like Emacs. I want to generate some of the pages for easier browsing, but I'm not sure it makes sense to generate all of them. Right now I generate 5 pages of posts and then a page that links to all of them. (Ex: https://sachachua.com/blog/category/emacs). It occurred to me that it might not be obvious that there are more than 5 pages of posts (since we're more used to dynamic systems that paginate as much as needed). I wonder how I can make that clearer - oh, maybe I can add the number of posts.

    There's probably stuff I can do to make the All Posts easier to explore, too. I've started making topic pages. I'm also curious about implementing the stacked-cards navigation you see in digital gardens like https://notes.andymatuschak.org/ .

    Ideas? Pointers to other statically generated blogs with large categories who've figured some of this out?

  • Living in the shallows - 2024-10-30T00:24:48.668Z

    Juxtaposing "The Shallows: What the Internet Is Doing to Our Brains" (Nicholas Carr), "Deep Work" (Cal Newport), and "Four Thousand Weeks: Time Management for Mortals" (Oliver Burkeman), I find myself leaning more towards Burkeman's acceptance of limits and lack of control. I'd rather figure out how to embrace these shallows than to write off large portions of my life: parenting a young child with all the attendant interruptions (which I am learning to welcome) and preparing for eventual old age.

    One of the things I've learned while doing Emacs News is that even things I can do in the shallows can be useful. Organizing information and passing it along does not require deep reflection or a quiet mind.

    I can read in short bursts here and there, take notes, and share them.

    Most of my Emacs tweaks are short, but they accumulate.

    Now I am learning to write small thoughts. They are not amazing insights, but they are enough for me, and sometimes they resonate with other people.

    Besides, even when I had full autonomy during my experiment with semi-retirement, it's not like I did amazingly deep stuff either. So that's all cool and I don't have to kid myself or feel like I'm missing out. Instead, I can enjoy this time in the shallows, when doing the dishes or tidying up is pretty much on the same level as many other things on my list of things I could do (probably more useful than most things, even). I can let myself be interruptible, and I can play with the fragments of my attention.

    Follow-up post: Embracing the shallows

  • The Imagination Muscle - 2024-11-02T21:22:36.486Z

    AoM podcast on The Imagination Muscle:

    My notes:

    • Observation is the start of imagination.
    • Commonplace book, sketches
    • Observational closure
    • Reading many books at the same time, connecting commonplace books - this makes me think of dancer curiosity
    • History of coffee shops in London, clusters

    I wonder how I can use sketches and/or microblog posts and my Org files as commonplace books…

  • Doodling in blog posts - 2024-11-04T21:17:03.208Z

    I had fun breaking up the monotony of text with doodles: https://sachachua.com/blog/2024/11/a-year-with-my-cargo-bike/ Also, yay #biking!

View org source for this post

A year with my cargo bike

| decision, life

Summary: Life with a cargo bike has been working out really well for our family.

Stroller

I used to walk for an hour to get to some of A+'s playdates, pushing her in the Thule bike trailer / stroller that she still fit into. I liked bringing popsicles during the summer so that A+ could share them with her friends, so I often balanced a small cooler on top of the stroller and walked as briskly as I could. The popsicles were usually still reasonably cold by the time I got to the park. We'd spend a few hours playing there, and then there would be another hour's walk back. A+ usually napped on the way, so it was a chance for me to listen to podcasts.

Car

Sometimes we biked to the playdate instead. That was much faster in terms of getting there, even with a popsicle break halfway through. Those popsicles were only for us, since I couldn't bring a cooler on my bike. Also, A+ was usually too tired to bike back, or it was too dark for her to be safe biking on the busy streets between the park and our house, so we often waited in the mall parking lot for W- to pick up A+ and her bike in his car. Then I biked back by myself.

Dumped

We'd been considering cargo bikes for a while, and eventually things lined up to make it possible. It was a carefully-considered decision. I did a bunch of test rides using different models of cargo bikes. My height (or lack of it) ruled out many of the models designed for taller people. A+ was quite vocal about her preference for the suspension on the R&M Load cargo bikes, and she liked the view from the front-loaders more than the longtails. I rented the Load 75 and the Load 60 to try them out, accidentally tipping over onto the side an embarrassing number of times; A+ was safely buckled in but very grumpy about it.

When we confirmed that a cargo bike fit into our life, I bought a Riese & MĂźller Load 75 from Curbside Cycle. We picked the Load 75 over the Load 60 because the rain cover was nicer and the extra room could give us more years of use as A+ grows.

Loaded up

I love it. Biking is my favourite way to get around. There's just something so cheerful about it. A+ and I sing as we go around town. We smile at dogs in sweaters. She takes pictures of trees. Sometimes there are cargo bikes in front of us as we wait at the traffic light, and we wave and nod.

We got the Bakkie bag, too. It's designed to tow a kid's bike. That way, A+ can bike wherever she wants. When she gets tired, she can hop into the cargo bike and I can buckle her bike into the Bakkie bag, towing it all the way home. We've been able to go on more bike adventures by ourselves and together with W- because we don't have to worry about exceeding A+'s range.

Hot chocolate

Since we could get to the playground in 15 minutes instead of 60, it was a lot easier to bring snacks to share. We pretty much kept the playground kids well-supplied with free popsicles (and the occasional much-coveted ice cream treat) all summer, and the ice packs came in handy for treating the occasional bumps too. We even brought disposable cups and insulated bottles of hot water for making hot chocolate and instant apple cider in the colder months.

Potting mix

Aside from taking A+ to a wider range of places, we've also used it to bring several bags of potting mix or a propane tank home from the hardware store, carry other bulky items, and take lots of stuff to the community environment days for recycling/donation.

We are very lucky to have cargo biking as an option. When people ask me how much it is, I ruefully tell them, "Well, it's less than a second car." We weren't actually choosing between this and a second car; even though W- rarely uses his car these days, I'm too anxious to drive. My brain gets a little squirrelly and is prone to attentional hiccups. I don't want a moment of distraction to result in someone's death or serious injury. I'm still on alert when I bike, but it feels a lot more like something I can handle. And biking is so fast and convenient. I don't have to nudge A+ out of a playdate so that we can make it out before the subway gets packed like sardines, or shepherd A+ back home from the subway station ("I'm tiiiired.").

I got the bike in November 2023. Here's how much I biked over the past year:

Month KM
Nov 208
Dec 157
Jan 69
Feb 78
Mar 176
Apr 82
May 106
Jun 143
Jul 135
Aug 96
Sep 212
Oct 120
2024-11-04T14:04:00.159647 image/svg+xml Matplotlib v3.6.3, https://matplotlib.org/
Figure 1: Graph of kilometres by month

I was pleasantly surprised that even during the cold months (and A+'s reluctance to go outside if it was very cold or slushy), and even during the schoolweek, we still managed to get out on the bike.

2024-11-04T13:43:31.432403 image/svg+xml Matplotlib v3.6.3, https://matplotlib.org/
Figure 2: Kilometres by date

I got data from the ebike-connect site using Spookfox using the code below.

Javascript code for extracting distances and times
[...document.querySelectorAll('.activities__ride-menu')].map((o) => {
  return {
    date: o.querySelector('.activities__menu-details > span').textContent,
    distance: o.querySelector('.activities__menu-distance-text').textContent.trim(),
    time: o.querySelector('.activities__menu-details > span:nth-child(2) > span:nth-child(2)').textContent,
  }
});
Emacs Lisp to group distance by month
(let ((by-month (seq-group-by
  (lambda (row)
    (let ((date (plist-get row :date)))
      (when (string-match "[0-9][0-9]\\.\\([0-9][0-9]\\)\\.\\([0-9][0-9]\\) [0-9][0-9]:[0-9][0-9]"
                          date)
        (format "20%s-%s-01"
                (match-string 2 date)
                (match-string 1 date)))))
  trips)))
  (append
   '(("Month" "Distance")
     hline)
   (mapcar
    (lambda (row)
      (list (format-time-string "%b" (date-to-time (car row)))
            (format
             "%d"
             (round (apply '+
                           (mapcar (lambda (entry) (string-to-number (plist-get entry :distance)))
                                   (cdr row)))))))
    (reverse (seq-filter (lambda (o) (string< (car o) "2024-11")) by-month)))))
Emacs Lisp to group distance by date
(let ((by-day (seq-group-by
  (lambda (row)
    (let ((date (plist-get row :date)))
      (when (string-match "\\([0-9][0-9]\\)\\.\\([0-9][0-9]\\)\\.\\([0-9][0-9]\\) [0-9][0-9]:[0-9][0-9]"
                          date)
        (format "20%s-%s-%s"
                (match-string 3 date)
                (match-string 2 date)
                (match-string 1 date)))))
  trips)))
  (json-encode (mapcar
   (lambda (row)
     (cons (car row)
           (format
            "%d"
            (round (apply '+
                          (mapcar (lambda (entry) (string-to-number (plist-get entry :distance)))
                                  (cdr row)))))))
   (reverse (seq-filter (lambda (o) (string< (car o) "2024-11")) by-day)))))
Python code for making a bar graph of distance by month
import pandas as pd
import datetime
import matplotlib.pyplot as plt
import seaborn as sns
import json

data = trips
df = pd.DataFrame(data, columns=["Month", "Distance"])
df.set_index('Month')
df['Distance'] = df['Distance'].astype(float)
plt.figure(figsize=(8, 6), dpi=100)
sns.barplot(data=df, y='Distance', x='Month')
plt.savefig('biking-distance-by-month.svg')
Python code for making a heatmap
import pandas as pd
import datetime
import matplotlib.pyplot as plt
import seaborn as sns
import json

start_date = datetime.datetime(2023, 11, 1)
end_date = datetime.datetime(2024, 11, 1)
dates = pd.date_range(start=start_date, end=end_date, freq='D')
data = json.loads(trips)
df = pd.DataFrame.from_dict(data, orient='index')
df.index = pd.to_datetime(df.index)
df[0] = df[0].astype(float)
# Create calendar heatmap
plt.figure(figsize=(16, 3), dpi=100)
pivoted = df.pivot_table(index=df.index.day_name(), columns=df.index.strftime('%Y-%W'))
all_days = ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']
pivoted.index = pd.Categorical(pivoted.index, all_days, ordered=True)
pivoted = pivoted.sort_index()
heatmap = sns.heatmap(
    pivoted,
    cmap="crest",
    linewidths=0.5,
    linecolor='white'
)

# Set the x-axis tick labels to show only the months
month_labels = df.index.strftime('%b').unique()
month_ticks = [i * 4 for i in range(len(month_labels))]
plt.xticks(
    month_ticks,
    month_labels,
    rotation=90
)
tick_positions = [i + 0.5 for i in range(len(all_days))]
plt.yticks(tick_positions, all_days)
plt.title('Distance on dates')
plt.xlabel('November 2023 - November 2024')
plt.ylabel('')
plt.xticks(rotation=90)
plt.savefig('biking-by-day.svg')

I like our cargo bike a lot. I hope to ride it for many years to come.

View org source for this post

Wednesday weblog: Toots ending 2024-10-23

| review, weblog
View org source for this post

Wednesday weblog: Toots ending 2024-10-16

| review, weblog
  • Emacs:
  • Other:
    • Reading books; Atomic Habits - 2024-10-22T13:44:31.682Z

      All right, I'm slowly getting back into reading and sketching books, now that I've discovered that
      Libby lets me export my highlights. =) Here's my #sketchnote of Atomic Habits:
      https://sachachua.com/blog/2024/10/2024-10-21-05-atomic-habits-visual-book-notes-productivity-personal-development/

      Text from the sketch:

      ```
      Atomic Habits - James Clear (2022) - Notes by Sacha Chua 2024-10-21-05

      - time vs results: valley of disappointment: (we expect linear progress)
      - Achieving a Goal only changes your life for the moment.
      - In order to improve for good, solve problems at the system level.
      - Fall in love with process rather than product.
      - Not "what do you want to achieve?", who do you want to become?
      - prove it with small wins
      - habits
      - Problem phase
      - Cue: Make it obvious.
      - point & call: raise level of awareness
      - common cues: time, location, other habits
      - Manage your environment
      - Craving: Make it attractive.
      - Temptation bundling
      - anticipation, dopamine, action
      - Social groups
      - Reframe
      - Solution phase
      - Response: Make it easy.
      - Make it easier to do the right things
      - Motion != action
      - Repetitions, automaticity: habit line
      - Make your habits so easy that you'll do them even when you don't feel like it
      - 2 minutes
      - Reward: Make it satisfying.
      - Immediate
      - Visuals: paper clip strategy, tracker
      - Habits can be easier to change in a new environment. (old cues gone)
      - You have to fall in love with boredom
      - Habit stacking
      - My take aways:
      - Processes, not products
      - Analyze & redesign:
      - habits I have
      - habits I want
      - be thoughtful about helping the kiddo learn
      ```

      (Also, how do I format this text more nicely? I want to preserve indentation, and fencing it with three backticks doesn't seem to be working.)

    • From audio braindumping to a post - 2024-10-16T15:08:13.172Z

      I'm slowly getting the hang of this sketch+audio braindumping thing. I managed to write a fairly long post on #pkm:

      Thinking about 12 aspects of personal information/knowledge management
      https://sachachua.com/blog/2024/10/thinking-about-12-aspects-of-personal-information-knowledge-management/

      Looking forward to exploring more as I dive into reading and conversations!

    • My time data - 2024-10-18T02:39:23.402Z

      I got curious and did a scholar.google.com search for "Sacha Chua." The most amusing thing I found was:

      Joscha Cueppers and Jilles Vreeken. Just Wait For It... Mining Sequential Patterns with Reliable Prediction Delays. In: IEEE International Conference on Data Mining (ICDM). 2020

      which (among other things) had apparently analyzed the time tracking records that I'd intentionally made public:

      "Next we consider Lifelog, which is based on the life of Sacha Chua who logs and publishes all her daily activities. We considered the data over 2017, removing any activities with have the same start and stop timestamp. As this dataset provides many events that are potentially interesting, we consider every e ∈ Ω as target, and have 40 target sequences with Y [i] = 1 iff X[i] = e. In addition, we consider a Y where we marked all business related activities as interesting.
      Over all these datasets, SCIS discovers on average 695 patterns, many of which are redundant and not all make intuitive sense. While SQS only discovers 3 predictive patterns, these do make sense: Cook, Dinner→Clean the Kitchen
      and Subway, Social→Subway. OMEN takes between 6.1 and 37 seconds per dataset, and overall discovers 24 patterns.
      Many of these, such as Sleep→Childcare, Cook→Dinner, Dinner→Clean the Kitchen, predict the next action, i.e. a time delay distribution with a peak at 1. A more interesting pattern is Subway→Subway which has its peak at δ = 2, and for which a natural interpretation is that Sacha takes the subway, logs on average one activity, and then takes the subway back."

      https://publications.cispa.de/articles/conference_contribution/Just_Wait_For_It_Mining_Sequential_Patterns_with_Reliable_Prediction_Delays/24613377?file=43247712

      2017! Bwahaha... I had a one-year-old child and was trying to stay sane by squeezing in some consulting here and there while dealing with sleep deprivation and all sorts of other new-parent challenges. :) I still don't have the time to do lots of different things on one errand, although it's nice that I'm now biking around a lot more than I use the subway. Maybe analyzing 2012-2016 might have been more interesting for their data mining, since that covered a little bit of corporate work time and the transition to self-directed learning in my semi-retirement experiment.

      Cool, cool, very fun, I'm tickled pink that someone else found the data nifty. I recently made quantifiedawesome.com more private, but maybe I should open that part up again.

View org source for this post