Mojolicious Gardening - Joel Berger
Mojolicious apps come in two flavors, Lite or Full. Lite apps are great for proof of concept but Full is better for robust apps. Can you move up from Lite to Full? Absolutely, we call it "growing"!
http://npw2018.oslo.pm/npw2018/talk/7476
Growing Guide:
https://docs.mojolicious.org/Mojolicious/Guides/Growing
Jason McIntosh - Whim: A Webmention multitool for the command line - Lighting Talks - Day 3
Whim is a brand-new command-line tool (written with Mojo!) that lets you receive, process, display, and send webmentions from the command line.
https://jmac.org/webmention/
https://www.adamdjbrett.com/blog/enabling-webmentions-in-11ty/
Webmention is a recent, W3C-approved technology that aims to promote the proliferation of independent websites through a simple protocol of open, cross-domain notifications.
I have been obsessed with this technology for the past two years, and I will try to explain why, sharing a lot of resources for further study.
The magic of auto-fit and auto-fill (and the difference between them)
Grid's auto-fit and auto-fill are super useful, and while the declaration is pretty long, and can seem complicated, it's not so bad once you break it down.
✅ Auto-fill vs. auto-fit demo: https://codepen.io/kevinpowell/pen/yyLYoZO
✅ More on getting started with Grid: https://youtu.be/rg7Fvvl3taU
.grid {
display: grid;
gap: var(--gap, 1rem);
grid-template-columns: repeat(
var(--grid-type, auto-fit),
minmax(min(180px, 100%), 1fr)
);
grid-auto-rows: 120px auto auto;
container-type: inline-size;
}
⌚ Timestamps
00:00 - Introduction
00:25 - The basics of grid columns
02:30 - Using the repeat syntax
03:15 - Breaking down repeat auto-fit
05:45 - Preventing overflow
08:00 - Use a variable for the minimum value
08:45 - How to remember this declaration
11:25 - The difference between auto-fit and auto-fill
Choosing the right collection component
Use these guidelines to select a JET collection component based on your user tasks and the features you wish to include. You can choose between the following components:
- List (oj-list-view, 2007.0.0)
- Table (oj-table, 2007.0.0)
- Data grid (oj-data-grid, 2007.0.0)
How to redesign, step by step guide
Change is not an event; it’s a process
Don’t take anything for granted
Your goal is to listen and capture everyone’s thoughts and propositions, but don’t take it as absolute truth. In the end, you are the expert who needs to filter through the noise and find where to focus.
Transitions.dev — Essential transitions for web apps
Collection of the most essential transitions for web apps that you can just copy and paste into any project.
Using safe-area-inset to build mobile-safe layouts | Polypane
Modern phones are not simple rectangles. They have rounded corners, camera cutouts, dynamic islands, and home indicators that double as gesture areas.
Browsers by default will prevent your site from being obscured by the notch or home indicator, so your content will be safe without any special handling. That does come with a downside, which is that the browser will give you a smaller viewport to reserve space:
Oat - Ultra-lightweight, semantic, zero-dependency HTML UI component library
Oat is an ultra-lightweight HTML + CSS, semantic UI component library with zero dependencies. No framework, build, or dev complexity. Just include the tiny CSS and JS files and you are good to go building decent looking web applications with most commonly needed components and elements.
Semantic tags and attributes are styled contextually out of the box without classes, forcing best practices, and reducing markup class pollution. A few dynamic components are WebComponents and use minimal JavaScript.
https://x.com/technmak/status/2022287404128973056?s=43&t=gAZhA3-2h2DvLb-eSzGa5A
Fontastic Space — Find Mathematically Optimal Font Pairings
Compare Google Fonts side-by-side with anatomy overlays, OpenType metrics, pairing scores, and ready-to-use CSS. Free tool for designers and developers.
JWT with Dancer2 | May 2026 | The Weekly Challenge
Stateless (JWT)
How it works:
User logs in, server creates a JWT containing user data
Server signs the JWT with a secret key
Server sends JWT to client
Client sends JWT with every request
Server verifies the signature and trusts the data inside
Why it scales:
Any server can validate a JWT using the shared secret key
No database lookup needed per request
If you add 100 more servers, they all work immediately
The invisible layer of UX most designers ignore
Design with the screen reader layer in mind
Closing the gap between what you’ve designed and what’s announced by screen readers doesn’t require accessibility or production code expertise. It’s about being more intentional with the decisions you’re already making.
Though screen reader output depends on how the design was developed, designers have more influence over the screen reader experience than they think.
Think “role, name, state” while designing
You don’t need to memorize ARIA specs to improve accessibility. Just ask yourself three questions as you design elements like interactive or informative elements:
Role: What is this?
Name: What does it do?
State: What’s its current condition?
The Four Fundamental Principles ofHuman-Centered Design and Application – Don Norman's JND.org
Human-centered design has four major principles:
- Understand and Address the Core Problems;
- Be People-Centered;
- Use a Systems Approach;
- Use Rapid Iterations of Prototyping and Testing.
Polishing your typography with line height units | WebKit
Learn how to use line-height units when setting paragraph margins — creating vertical rhythm in your text.
My favorite thing to do with the lh unit is to set margins on content. Let’s set a new universal margin on paragraphs with:
p { margin-block: 1lh; }
My Opinionated CSS Reset | Vale.Rocks
A CSS reset for modern web development to provide a consistent and high-quality base for projects. Low-specificity and very opinionated to provide a strong foundation allowing seamless use in projects of varying scales and complexity.
Designing for clarity: How we restructured Intercom’s information architecture - The Intercom Blog
Learn how we simplified the Intercom navigation, enhanced the user experience, and created space for AI innovation.
Using AI as a Design Engineer
How I use AI as a design engineer on a daily basis.
The Invisible Work ・ Hardik Pandya
The coordination work that holds projects together disappears the moment it works. On the unfairness of recognition and finding leaders who see it anyway.
Projects just drift toward chaos unless a person is actively holding them together.
The problem is that recognition follows narrative. When a project succeeds, credit flows to the people whose contributions are easy to describe. The person who presented to the board. The person whose name is on the launch email. The person who shipped the final feature. These contributions are real, I’m not diminishing them. But they’re not more real than the work that made them possible. They’re just easier to point at. Easier to put in a slide. And I think that’s where the unfairness starts, slowly, without people really noticing.
2025 year in review | Sean Voisen
Nice website using Outfit and Source Serif 4
A recap of my year and a brief look at trajectories for 2026.
My CSS selector strategy • Stuff & Nonsense
-
Element selectors keep styles as global as possible
-
ID selectors identify things (one per page)
-
Class selectors classify things
Quite often, I’ll style those child elements using a descendant selector:# video > p -
Attribute selectors vary things
.layout { […] } [data-layout="bartok"] { […] }
Are we stuck with the same Desktop UX forever? | Ubuntu Summit 25.10
This talk focuses on that evil little term “UX/UI,” which is responsible for so much confusion and tension in open-source projects. Not only does it unnecessarily pit programmers against designers, but it also limits our vision of what we could be doing.
jenson.org
-
Could - Should - Might - Don't
-
Non-designers think of UX/UI as pixels-only: icons
-
Designers think statistically (opinions), Programmers think mathematically
-
24:25 - "The most common product mistake is rushing." (more and more stuff)
-
Loops are better than individual controls
-
The iphone is a consumer machine, not productivity