Today's sharepiece is progress rendering calendar cells for each month in the right places. Still missing the Word Counting Calendar data! That's next!


I worked on drawing actual calendar data in the correct layout. This extended the cell drawing code from Build Day 19 by using the Word Counting Calendar code I started in 2023.
This is the first time that all 12 months of a calendar year are being drawn, so it's a major milestone! Here's an example render of the December 2025 Calendar:


For the very curious, you can download the 12-month draft PDF below. Be warned, though, that it isn't the complete calendar yet with word calculations and correct start/end data caps.
There was actually a bug in my week calculation that only showed up when the last week of the year in December has an ISO week number for the next year. Because I was basing the number of weeks assuming a monotonicaly increasing week number, the week count would become negative. I found some ancient Javascript code on StackOverflow to calculate it correctly, adapted it to use the Temporal API, then used Claude Code to fix the typo I'd added to it. SHAMELESS SCRIPT KITTY AM I! But as Mikael in the DS|CAFE Computer Science Club said:
Well, if it works...
Yeah, that's right! Moving onward!
BUILD CHALLENGE COMMENTARY
Today wasn't a good day, and I got started on this code rather late to keep my commitment. While I was diagnosing my sudden lack of motivation, I realized that I'd broken an important personal rule:
Don't get stuck on one project goal for more than two, three weeks at most.
Previously, I had tried to apply this rule to contract work more consistently. After three weeks of working on the same project I go a little stir-crazy. This is particularly the case when there is no communication about the work itself; as a solo freelancer, I often have to talk to myself because there is no chatty group of co-developers to run things by. Also, there's no one to set limits and watch out for burnout.
Now that I know that this might be happening, I can make some adjustments. I'm also learning that doing 15-minute dailiesThis is committing to doing 15 minutes of work for the day with the promise of not having to do more than that. This works for me because I always keep going for longer unless I'm really sick. See Fifteen Minute Blocks for more context. is enough to get me started, and the lethargy/demotivation dies off because my analytical problem-solving brain comes to the forefront of my consciousness.
November 2025 Building Challenge Posts
URSYS Web App Template code01
Embedded TypeScript Apps in Eleventy code02
A Review of Old Work and Stories coll01
Eleventy Templates for Atom Feeds blog01
Productivity Energy Crash prod01
Workshopping the 'Activity Bingo' Form prod02
Last Run of ETP Notebook Production tool01
Activity Bingo Form Progress prod03
ETP Mini Notebook Printing Press Tour tool02
Identity and Logo Thinking Pass coll02
Unprofessional Business Cards card01
Word Counting Calendar Reboot wcal01
Word Counting Calendar Interim Release wcal01
Calendar Layout Code Progress wcal02
Super Simple PDF Progress wcal02
Articulating Friendship docs01
First skip day due to day trip to Concord, etc. prod04
A PDF-LIB Reference docs02
Programatic Drawing of Word Counting Calendar Blocks wcal02
Minimum Progress Despite Nausea; useful noobly attitudes wcal03
Calendar Day Drawing Progress wcal04
Progress noted in Groundhog Day Resolutions for November 11 ghdr01
A Mythical Magical Adventure Cat Primer docs03
Correct Calendar Layout Progress wcal05
Calendar Labeling and Space Filling wcal06
A Restorative Visit to the North Shore arts01
Alpha Word Counting Calendar! wcal07
Mini ETP Production Update! tool03
Personal Cards Revisited card02
Visiting an Old Friend in Beverly, MA arts02
Experimental Collaboration
Short Productive Sprint Day
Thanksgiving Reset Break
Mini ETP Notebooks available on Amazon
In the case of my 30-Day Build Challenge, I had passed the three-week mark a couple of weeks ago, and I'm now in week 5. I've been allowing myself skip days and switch-up the projects so it's maybe been fine, but it has been very quiet on the communication front. I like sharing progress in the DS|CAFE Discord and getting these blog posts out onto the couple of federated networks I've started using, but it's one way and so I am facing the same degradation of performance.
It's always a difficult switch for me, moving from "chatty camaraderie-seeking person" to "technical architect and builder" mode.
BONUS ACHIEVEMENTS
Today I learned that I can select a bunch of PDF files in the Finder and use the Combine Files action to concatenate them all together! That's great!
Suck it, Adobe Acrobat Professional! You are terrible software!
Initially, I tried using the new Affinity App (which is now free, guys) to see if it provided some PDF utilities for combining pages. It does allow you to Add a Page to a current document, but you have to do it one at a time and clack your way through a dialog box. Not ideal.
Ultimately, my custom software will do the generation of a multi-page document for me, but the code is still very much in the hacky prototype stage.
We chat about personal projects and challenges on the DS|CAFE Community Discord Server every day. Come visit! Maybe you'll make some friends!
You can reach me at Mastodon or Bluesky. Or subscribe to the blog feed to stay up-to-date.