Sharing the Things We Use

Continue reading


@uglyduck.ca | 2 years ago

Modern Improvements for Default Browser Styles

Continue reading


@uglyduck.ca | 2 years ago

A Reality Where CSS and JavaScript Don't Exist

Continue reading


@uglyduck.ca | 2 years ago

My Changing Opinion on Personal Website Design

Continue reading


@uglyduck.ca | 2 years ago

Setting Up 1.1.1.1 for Families on a Pi-Hole

Continue reading


@uglyduck.ca | 2 years ago

Notez

Continue reading


@uglyduck.ca | 2 years ago

Batch Converting Images to Webp with macOS Automator

Continue reading


@uglyduck.ca | 2 years ago

CSS Slope Graphs

Continue reading


@uglyduck.ca | 2 years ago

Stuffing an SSD Inside the Raspberry Pi 400

Continue reading


@uglyduck.ca | 2 years ago

Shiny, Animated CSS Buttons

Continue reading


@uglyduck.ca | 3 years ago

Click to Load Website Images

A single file, static blog generated from PHP | Continue reading


@uglyduck.ca | 3 years ago

Single File Blog with 89 Posts

A single file, static blog generated from PHP | Continue reading


@uglyduck.ca | 3 years ago

ThriftyName: $5 Brand Names

Continue reading


@uglyduck.ca | 3 years ago

Better Search Results

Continue reading


@uglyduck.ca | 3 years ago

Writxt

Continue reading


@uglyduck.ca | 3 years ago

Pure CSS Bar Graphs with Graceful Mobile Fallbacks

Continue reading


@uglyduck.ca | 3 years ago

Bidirectional Scrolling: Why Not Both?

Continue reading


@uglyduck.ca | 3 years ago

Menu Toggle with Pure CSS

Continue reading


@uglyduck.ca | 3 years ago

Keynote Slides with Pure CSS

Continue reading


@uglyduck.ca | 3 years ago

Poor Man's CSS Full-Bleed Layout

Continue reading


@uglyduck.ca | 3 years ago

Portable Pi: Cheap Raspberry Pi Zero Hacker Terminal

Continue reading


@uglyduck.ca | 3 years ago

My Raspberry Pi Desktop

Continue reading


@uglyduck.ca | 3 years ago

Styling Empty Table Cells (2019)

Continue reading


@uglyduck.ca | 3 years ago

Blog Anonymously

Continue reading


@uglyduck.ca | 3 years ago

Using HTML Validator Badges Again (2019)

Continue reading


@uglyduck.ca | 3 years ago

Quick and Dirty Theme Switcher

Continue reading


@uglyduck.ca | 3 years ago

Better Box Shadows (CSS)

Continue reading


@uglyduck.ca | 3 years ago

Faking 3D Elements with CSS

Continue reading


@uglyduck.ca | 4 years ago

What Happened to Self-Hosted Blogs? (2018)

Continue reading


@uglyduck.ca | 4 years ago

Stripe's Menu Dropdowns with CSS

Continue reading


@uglyduck.ca | 4 years ago

Base64 All the Things (Sometimes)

Continue reading


@uglyduck.ca | 4 years ago

Going Back to Truly Static

Continue reading


@uglyduck.ca | 4 years ago

How to “Floss” as a Web Designer

Continue reading


@uglyduck.ca | 4 years ago

Web Development on a $200 Chromebook

Continue reading


@uglyduck.ca | 4 years ago

The Death of Personality (2017)

Continue reading


@uglyduck.ca | 4 years ago

The Death of Personality (2017)

Continue reading


@uglyduck.ca | 4 years ago

Billing for One CSS Change

Continue reading


@uglyduck.ca | 4 years ago

Basic Form Styling

Continue reading


@uglyduck.ca | 4 years ago

Improving Tufte CSS for Jekyll

Continue reading


@uglyduck.ca | 4 years ago

Simple Does Not Mean Ugly

Continue reading


@uglyduck.ca | 4 years ago

Making Tables Responsive With Minimal CSS

Continue reading


@uglyduck.ca | 4 years ago

Open Source Typeface Pairings

Continue reading


@uglyduck.ca | 4 years ago

Stop Using Sticky Navigation on Mobile

Continue reading


@uglyduck.ca | 4 years ago