Prepending to Living Agenda Documents

I like programming (at work) and learning for fun. You'll often find me cooking and working on my house in my spare time.
Search for a command to run...

I like programming (at work) and learning for fun. You'll often find me cooking and working on my house in my spare time.
No comments yet. Be the first to comment.
Everyday Algorithms shows how algorithms and data structures show up in everyday life.
The perimeter of the board for the game Ticket to Ride has numbered spaces for score keeping. When a player earns points, they advance their token along the perimeter. Say I was on space 30 and scored 5 points. I would move my token "1, 2, 3, 4, 5" t...
I have a credit card that offers cash back on purchases. Credit cards provide a time buffer between when a charge is incurred and when funds leave the checking account paying it off. This helps avoid

I want to get into the Kotlin community to accelerate my learning. Where should I go? Well, this was handy, https://kotlinlang.org/community/. I went through each of these resources. Unless stated oth

We're switching from Clojure to Kotlin at work. Is that good? I don't know yet! Here are some things I love about Clojure: its incredible REPL EDN keywords maps with heterogeneous keys and values

I've been using Arc Browser for a long time. Why? Because I love vertical tabs in my browser. They allow me to read more of each tab's title when I have a lot of tabs. What Are Vertical Tabs? Tabs are

Imagine rows of letters, numbers, and Greek letters: [[:a :b] [:1 :2] [:alpha :beta]] Now, you want to transpose them. You started with a vector of vectors. Clojure's map function is pretty amazing

Imagine you have a recurring meeting with an agenda open to contributions by all participants. Many meetings in the workplace are like this:
1:1s
Sprint demos
Team operational reviews
Perhaps the agenda is written in a Google Doc or a Confluence page. Say have your first meeting on January 3rd. The document will look something like this:
# January 3rd
- Party cleanup (10 minutes)
- Goal review (20 minutes)
Here’s the living agenda document for January 10th:
# January 3rd
- Party cleanup (10 minutes)
- Goal review (20 minutes)
# January 10th
- Printer paper (5 minutes)
- Lunch menu (15 minutes)
You may notice a pattern. Each meeting, the latest agenda gets lower on the page. By the fifth meeting or so, the scrolling becomes tedious.
Enter prepending! It looks like this:
# January 10th
- Printer paper (5 minutes)
- Lunch menu (15 minutes)
# January 3rd
- Party cleanup (10 minutes)
- Goal review (20 minutes)
Enjoy!
For the computer scientists out there, note that the most common access patterns are:
peeking the top item, and
pushing a new top item.
That sounds like a stack! That’s why it’s better to prepend to the agenda. It’s more efficient to access the head of a linked list, O(1), than the tail, O(n). That’s not entirely true since you can hit Command + Down on Mac or End on Windows to jump to the bottom of a document in a browser, but not everyone knows that!