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.


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


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.