Window shopping

Sun Aug 17 2025

I've been window shopping for a new role for a few weeks. This time around I want to create a tool to quickly customize my resume to each job to hopefully score more interviews.

I used to use Figma to create my resume. It worked for me at the time and it helped me get exactly the look I wanted, but it was tedious moving text boxes around on the page, and the output seemed to cause a few issues with ATS systems. Here's the file.

My plan is to keep the resume in text form. When I find an appropriate job listing, I'll use the contents to tailor the skills and or summary sections. I could even do something cheeky like put sections of the job description or llm prompts in invisible text. Then, I'll use a tool to convert the text to a pdf. I'll use Pandoc for now as it seems powerful enough and the pdf generation part is extensible by different pdf engines.

Gotta blast. More soon.

Leave a comment

Clock 2

Sun Jul 27 2025

I'ts been a while. Let's continue working on the word clock configurator so one day I might have one less unfinished project.

I decided to switch from Pro Search to Grok 4 to continue the project. I expected it to change the style of the output. Here is how Grok 4 thinks this tool should look. I also asked it to please highlight the current time which it seems to be doing a good job at, except lots of the words are out of order. I noticed that it put the word "to" before "quarter", and it got worse the more I looked at it. This was after telling it one of my main constraints was that words towards the top, "it" "is" "about" "half" "past" "quarter" "to" had to be in order. Oh well I thought, maybe it needs a bit of encouragement to get it right. Then I had this interaction.


Word Clock Grid with Random Fill

Here's the complete grid with your word clock words placed and all blank spaces filled with random letters:

I T S A B O U T T O E M O W K
Q U A R T E R C C J N W D A V
H A L F R R K F C D K B J M M
F I V E A D T T Y N J I U D N
T E N N R S Q L P K B U T Z T
T O R G N H W D E S M P Z U N
P A S T Z X K B J T J X E G Z
O N E A T W O D Z L G K T R E
T H R E E A F O U R Z Y U V H
F I V E P T E N I Q N J P N Q
M I D N I G H T T H Q S G I B
N O O N J O C L O C K L J Q O
Grid Layout Details

The grid shows:

  • 15 columns × 12 rows (180 total cells)
  • Word clock vocabulary placed left-to-right, top-to-bottom
  • Random letters (A-Z) filling all empty spaces
Placed Words

The following words from your three groups have been positioned:

Group One Words
  • "IT'S ABOUT" → Row 0, starting at column 0
  • "QUARTER" → Row 1, starting at column 0
  • "HALF" → Row 2, starting at column 0
  • "FIVE" → Row 3, starting at column 0
  • "TEN" → Row 4, starting at column 0
  • "TO" → Row 5, starting at column 0
  • "PAST" → Row 6, starting at column 0
Group Two Words (Hour Numbers)
  • "ONE" → Row 7, starting at column 0
  • "TWO" → Row 7, starting at column 4
  • "THREE" → Row 8, starting at column 0
  • "FOUR" → Row 8, starting at column 6
  • "FIVE" → Row 9, starting at column 0
  • "TEN" → Row 9, starting at column 5
Group Three Words (Special Times)
  • "MIDNIGHT" → Row 10, starting at column 0
  • "NOON" → Row 11, starting at column 0
  • "O'CLOCK" → Row 11, starting at column 5

This grid layout maintains the required group ordering (Group 1 → Group 2 → Group 3) while efficiently using the available space and filling all remaining cells with random letters for a complete word search-style appearance.


This was just after telling it group two had the numbers one through twelve. Ok so it's not going to do a good job at figuring out what words it needs to represent time this way. So let's do it ourselves and then maybe we can come back to the thinking machine to design the final interface.

I attempted to make the smallest grid to represent five minute intervals of time and ended up with this 11 letter square grid.

it#is#about
quarterfive
ten#half###
pasto###ten
oneighthree
twofourfive
twelveleven
seveninesix
twentyforty
thirtyfive#
oclockampm#

I came up with this while trying to fall asleep and I think I did a pretty good job. There's some letter reuse to minimize the number of letters. The "#" symbols are where random letters could be placed.

Do you think you could make a smaller grid? Let me know below. What's that? You can send me a comment now? That's right, I also implemented this comment box so that your comments are delivered to me. Until next time.

Leave a comment

Clock

Thu Jul 10 2025

Recently came across this set of led filament letters. Immediately thought about creating a word clock configurator.

I decided to vibe up a prototype with my good buddy good pal Pro Search. It did a good job. You can see the current prototype here. The basic idea is that the user will pick options for their word clock on the right and will be able to fine tune the results on the left. Pro Search did a good job and figured out a matrix data structure for words and filler letters. Next up is figuring out how to get the words corresponding to times so that I can validate that each time has a string. Right now, it is missing some words in some sections.

Minimum minimum mvp needs the following still


Cooper Netties

Wed Jul 2 2025

I'd like to share more of my work.

On my GitHub is a public repo with some k8s examples from following some courses on Udemy. I will try to keep this updated as I become a Cooper Netties wizard. I will also share small tools and setups here like the screenshot organization automation that I always set up on a new machine.


KISS

Mon Jun 23 2025

The most important thing you can do for yourself is to create simply so that you can get out of your own way.

This site is running as a foreground process in a tmux. Did I spend a lot of time on a k8s setup? Yes. Did I need to do all that? No. Can I ship that one day? Also yes. But for now, it's a single static template in a tmux.


Noisy fan

Mon Jun 16 2025

The Rat Rig V-Core 4 comes with a 4028 server fan. It's extremely loud at 100% and I'm doubtful that as much airflow is needed for what? Bridging? It's going to blow the bridges away. It's open source so let's fix it.

So I've found how to adjust it, but let's see what it thinks about the fan by default. The machine has a RatOS.cfg file with this block of config.


# Part cooling fan
[fan]
# 4-pin fan connected to 2-pin header on T0 (EBB42 v1.2) - digital pwm
pin: !toolboard_t0:PA0
cycle_time:  0.00004
      

The Klipper reference says I can add max_power to scale fan speed requests. I need to override the settings in printer.cfg. So I've set it to max_power: 0.8 because that's about as much fan noise as I can tolerate.


# Part cooling fan
[fan]
# 4-pin fan connected to 2-pin header on T0 (EBB42 v1.2) - digital pwm
pin: !toolboard_t0:PA0
max_power: 0.8
cycle_time:  0.00004
      

So I'll save that and -- uff da. Klipper says I need to set shutdown_speed. So I set it to shutdown_speed: 0


# Part cooling fan
[fan]
# 4-pin fan connected to 2-pin header on T0 (EBB42 v1.2) - digital pwm
pin: !toolboard_t0:PA0
max_power: 0.8
shutdown_speed: 0
cycle_time:  0.00004
      

And that works but I spent two more minutes looking at the reference and ended up with this config.


# Part cooling fan
[fan]
# 4-pin fan connected to 2-pin header on T0 (EBB42 v1.2) - digital pwm
pin: !toolboard_t0:PA0
max_power: 0.6
shutdown_speed: 0
cycle_time: 0.010
kick_start_time: 0.200
off_below: 0.2
      

ttfn