Skip Day 02! Minimum Progress Despite Nausea

Posted Friday, November 7, 2025 by Sri. Tagged JOURNAL

Another skip day, but I managed to add janky word count labels to the PDF renderer then passed out. Bonus thoughts on momentum and loving the journey.

About the Title Picture: Friday was another bad lethargy day, the worst so far this cycle, so I made porridge and just did the very minimum. The theme was just keep moving.A pot of porridge for sick day consumption.A pot of porridge for sick day consumption. (full size image)

I thought I was going to have a good production day, but was struck down by cramps, lethargy, nausea, and fuzzy-headednessI suspect this is a side effect of GAHT.. After battling this without much success, I settled for minimum progress: drawing text in the word counting calendar day block.

Theme of the Day: Sticking to Journey

Figure 1. Added the numbers to the left of the pyramid block, properly aligned based on the text size and height.Closeup of rendered word counting calendar block, ten blocks stacked for rows high in a pyramid shape. Numbers 1750, 2250, and 2500+ show the accrued words for each filled-in block.Closeup of rendered word counting calendar block, ten blocks stacked for rows high in a pyramid shape. Numbers 1750, 2250, and 2500+ show the accrued words for each filled-in block. (full size image)

It took me about 30 minutes to make some janky drawing code so I could see what pdf-lib API methods would give me the dimensions I needed to do the programmatic layoutASIDE: An annoyance I'm facing is that I'm drawing with the origin in the upper left of the page, but PDF puts it in the lower left. That's what the _x() and _y() functions are doing for me, converting coordinates. This affects a lot of things...in the final engine I'll have to revert to PDF-native origin conventions. SO JANKY..

  // DRAW TEXT
const thresh = ['2500+', '2250', '1750'];
let twoff = 0;
for (let label of thresh) {
const tw = helveticaFont.widthOfTextAtSize(label, 9);
if (tw > twoff) twoff = tw;
}
let thoff = helveticaFont.heightAtSize(9, { descender: false });
thoff = thoff + (DIM - thoff) / 2; // center in unit size
let counter = 0;
for (let label of thresh) {
const yy = 10 + counter * 11 + thoff;
page.drawText(label, { x: _x(72 - twoff), y: _y(yy), size: 9 });
counter++;
}

The rest of the day I just slept and tried not to throw up.

Document List

URSYS Web App Template

Embedded TypeScript Apps in Eleventy

A Review of Old Work and Stories

Eleventy Templates for Atom Feeds

Productivity Energy Crash

Workshopping the 'Activity Bingo' Form

Last Run of ETP Notebook Production

Activity Bingo Form Progress

ETP Mini Notebook Printing Press Tour

Identity and Logo Thinking Pass

Unprofessional Business Cards

Word Counting Calendar Reboot

Word Counting Calendar Interim Release

Calendar Layout Code Progress

Super Simple PDF Progress

Articulating Friendship

First skip day due to day trip to Concord, etc.

A PDF-LIB Reference

Programatic Drawing of Word Counting Calendar Blocks

Minimum Progress Despite Nausea; useful noobly attitudes

BUILD CHALLENGE COMMENTARY

I would have liked to have a hugely productive day and finished all this stuff this week, but allowances had to be made for health. I was also inspired by this video by Brainless on YouTube: How to Make Games When You're Bad at Everything

It's a remarkably candid and self-deprecating video about motivation and willpower, describing the journey in terms that anyone doing something huge for the very first time having to be not only persistent, but also fun. If the journey isn't fun, then motivation flags. Willpower can take you a certain distance too, but this is in short supply for someone like myself. It's a great watch and the video editing/production is excellent as well as charming. Kudos!

The video reminded me of my own 30 Day Building Challenge. For once, I'm letting myself not constantly being in the PUSH PUSH PUSH mindset. Recapturing the parts of the creative journey is, perhaps, what I've been missing.

When I was in design school at the RIT Computer Graphics Design department, one of the most profound lessons I learned that my best work seemed to come when I did subversive stuff that secretly pleased me. Remembering to do that, I hope, will pay off with increased capability to do the things I want.

I like writing blog posts, and this kept me going. As a bonus, sharing a media link is a first for this new blog, and I can see this becoming a regular thing in the future, providing commentary on things I like. I used to do that 20 years ago on the old blog, but fell out of the habit for some reason.

The journey of discovery continues!

Share! Share!


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.