Lucas Mace
banner
macemke.bsky.social
Lucas Mace
@macemke.bsky.social
Software Developer
Cyclist
Other duties as assigned
www.lucasmace.com
www.namethatpart.com
It is nearly 2026 and Adobe Acrobat still does not have a native Eye Dropper Tool for reading color values from PDFs.

#cunninghamsLaw
October 31, 2025 at 6:43 PM
Year 9 into my #frontEndWebDev career and today I used my first "else if" statement in production.
August 7, 2025 at 10:44 PM
Mistakenly leaving off the Element you're assigning an event listener to is a very confusing bug to figure out 😅

#frontEndWebDev
August 4, 2025 at 8:41 PM
The smallest Play/Pause I could write. Toggle the shapes' display with the parent's aria-label. #frontEndWebDev

April 21, 2025 at 9:22 PM
Lately, my favorite CSS trick has been using the attribute selector to pick out the beginning of class names so I don't need to add two classes to very similar elements.

<img class="foo-left" />
<img class="foo-right" />
[class^="foo"] {}

I'm always looking for tricks like this to ship less code!
February 25, 2025 at 9:38 PM
Updating some legacy code today at work.

I changed a
display property from "table" to "flex".

I can hear 2004 exploding in the distance.

#frontEndWebDev
February 19, 2025 at 8:41 PM
Submitted without context... CSS Grid is amazing.

#frontEndWebDev
February 19, 2025 at 5:02 PM
Wrote a function to front load some easy answers to NTPv2 if the user is a first time player.

Really made it obvious that I need to upload some easier parts because it was pretty difficult to choose.

Hopefully it helps decrease the number of folks only playing once.

#frontEndWebDev
February 19, 2025 at 2:26 AM
What's more important? Fetching less data from your API, or doing less computing on your users' devices?

Right now for my game that most folks play on their phones, I want faster fetches. I might change my mind (again) in the future.

#webDev
February 6, 2025 at 12:38 AM
I've been studying web performance for 3+ years and I still feel like I learn things every week. There are always new techniques and technologies to help if you just do the research and keep testing.

#frontEndWebDev
February 3, 2025 at 2:11 AM
The last few days I've done a lot of studying about what order the browser does things in and what resources block the critical rendering path. I feel like I learned a lot.

But what really helped me understand was creating a custom 2KB/s network throttle and watching the network waterfall.

#webDev
January 31, 2025 at 6:04 PM
Morning commute.
January 30, 2025 at 2:41 PM
The great John Carmack told us to "Act on press" and I think he's right.

I changed namethatpart.com answer buttons to "mousedown" from "click" and I think it makes gameplay feel snappier.

It should also help those competing for the high score squeeze out a few more points.

#frontEndWebDev
Name That Part
A challenging and fun game for bicycle mechanics and nerds.
namethatpart.com
January 28, 2025 at 3:28 AM
If you test your JSON Web Token Auth before you set up your environment variable, the JWT will still verify and you may wonder why.

I'm guessing it's because JWT will coerce "undefined" to a string and treat that as the private key, right?

#frontEndWebDevelopment
January 26, 2025 at 2:35 AM
Just found the editor.linkedEditing preference flag in VS Code for changing the opening and closing element tags in HTML at the same time.

Read: I just saved hundreds of seconds of dev time per year.

#frontEndWebDev
January 24, 2025 at 8:36 PM
Just found out the hard way that array.prototype.toSorted() wasn't available in Node JS until version 20, and I'm using 18 for NTP.

It's not always fun debugging in your deployed site logs, but this one was relatively easy.
January 22, 2025 at 3:33 AM
NTPv2 has a lot of code written specifically for when a user wins a game.

Most players don't win, so I had the idea this morning that I should be dynamically importing the winning code blocks further along in the game.

This should help with front loading too much JavaScript. Let's give it a try!
January 17, 2025 at 3:52 PM
Important camelCase notes.

Does anyone have an answer for fetchPriority in JSX yet?
January 16, 2025 at 5:13 PM
When you decide to rename a component's html id attribute, make sure the rest of the component isn't using that value for a querySelector that will break the component in a very confusing way.
January 15, 2025 at 8:46 PM
One big problem with stepping away from a software project for a while is that you forget you've already written some functions and end up rewriting them.

Especially when using modules and lots of abstractions. Typescript helps with avoiding this, but not perfectly.
January 5, 2025 at 6:53 PM
Launched NTPv2 this week. Just ran a Lighthouse test and it's 1 point away from a perfect score.

I don't think I'll spend too much time trying to get the extra point.
January 2, 2025 at 11:56 PM
Can SVG elements not handle "onClick" events for the enter key?

Work around has me using a listener for "keydown" and using document.activeElement to fire a function.

Does anyone have similar stories?

#webAccessibility
December 31, 2024 at 8:48 PM
Finally got the MySQL database to hook into NTPv2. Getting closer to launch!
December 30, 2024 at 2:21 AM
I'd really like to launch NTPV2 with the (not so) new CSS nesting, but after a friend in the beta test group reported strange style behavior, I fear it is still too early to use in production. They turned off auto-update on their phone and were running an old version of chrome. Must rewrite.
December 27, 2024 at 3:24 AM
Was getting an strange bug testing NTP on my iPad. Connecting to my laptop's Safari I was able to see that randomUUID() is "not a function". This function worked in every other browser context. Found out I wasn't using https by mistake by reading MDN docs. Could have been a long night #readTheDocs
December 26, 2024 at 4:20 AM