Took everything I’ve learned from Lean Web Club so far and rewrote the pull-quote web component I’d (embarrassingly) cobbled together a few months ago. All kinds of style hooks & added the right attribute to float either side. Demo link in readme. https://github.com/miklb/pull-quote/
My extent of actively using “artificial intelligence” is limited to a few tests with chatGPT last year and the adoption of using GitHub CoPilot[1]. I say “actively” in that its use is intentional and not just a byproduct of using a service. And while I agree with the general sentiment of folks who eschew the scraping of original content and commodification of user data, I think the technology itself is just a tool. I believe Apple is demonstrating that in their use of Apple Intelligence. I won’t try to go into details, I’ll defer to the excellent piece by John Gruber - WWDC: Apple Intelligence.
First, their models are almost entirely based on personal context, by way of an on-device semantic index. In broad strokes, this on-device semantic index can be thought of as a next-generation Spotlight. Apple is focusing on what it can do that no one else can on Apple devices, and not really even trying to compete against ChatGPT et al for world-knowledge context. They’re focusing on unique differentiation, and eschewing commoditization.
Had I not read Simon Willison’s post this week Building search-based RAG using Claude, Datasette and Val Town I might not have gotten it. While some of the details are over my head, the concept of taking data in an existing sqllite database and using it to “answer questions” vs generic training data is the key. The fact that it’s this close to someone like me being able to take a public data set and use it to answer questions is what I’m talking about.
And I’m cool with being able to query my own data in a natural language model. The rest is hype.
It’s great for rubber ducking and exploring new ideas. I’ve also used it to undo spaghetti code and debug some other folks’ code. It’s not going to replace anyone anytime soon. ↩︎
I’m one of those folks that still lament the loss of DarkSky. I waffle now between Carrot and the Apple Weather app. Dr. Drang nails one of the first and biggest UI issues I had—the 10 day temp graphs. The unbearable sorrow of Apple Weather
I’ve played around some with SVG masks and CSS masking, but this post from Andy Bell on Mask image introduced me to a new CSS property: mask-composite. Layer two masks and you can add, subtract, intersect or exclude them. Rad.
I have always wanted to use more footnotes[1]. And I have always coveted folks who have managed to pull off having their footnotes hang out in the sidebar. Just feels like a better reading experience for an aside, which is how I mostly use them. Michelle Barker demos how the coming-soon CSS Anchor Positioning will make it easier to accomplish. Unfortunately I’m not sure where Webkit/Safari is with implementing. But checking out the demo in latest Chrome, I hope it’s soon.
I use a combination of a VSCode extension and a markdown-it plugin with Eleventy. ↩︎
New to me, a VSCode extension that helps you manage your static site content. Worth it alone for managing tags and front matter. Front Matter VSCode CMS
Got my first food buzz since the last time I was in New Orleans 7 years ago. Awesome that it was from the Soul Food Sunday BBQ & sides from Ella’s down the street. KC BBQ doing its thing, just right smoky, creamy mac & cheese with collards spiked with plenty of vinegar but enough salt & heat to bring it all together in one bite.
Catching up on my feeds and I see @voxpelli announced a new JS linter. I have wanted to implement a linter for my Eleventy work and with the need to convert to ESM this should be a good time to start.
Well, I didn’t think there was any good new series on righ now and then I found Under the Bridge on Hulu. Lily Gladstone is amazing and it has a kick ass soundtrack.
The news hit hard. Music has been an important part of my life since my late teens and Steve Albini’s influence on the music I listen to is incalcuable. I’m not a musician and never wanted to be in a band, but over the last couple of years, the last year in particular, I wanted to be like him. Be a fucking earnest professional with a strong set of ethics and to speak up for those that can’t.
I came across this quote in one of the many tributes written over the last day.
“I want to do things in a certain way that I can be proud of, that is sustainable and is fair and equitable to everybody that I interact with. If I can do that, then that’s a success, and success means that I get to do it again tomorrow.”
I’m going to try and live blog the event here rather than on social media or post a bunch of small notes on my site through to Mastodon and Bluesky.
I’ll start by saying I think the philosophy behind 11ty is exactly how people want to build for the web. It’s simplicity is sublime but you can supercharge and really do what ever you want with it. For front end, there aren’t really any rules? Pick from a handful of templating languages, use what ever CSS you’re heart desires. Data? Where ever you want it.
Aren’t you tired of spending all of your time on caching web pages and dealing with servers? Get it out of the way up front and focus on the content and the design. Lower the technical debt.
The chat is great and if you understand who and what Mat Marquis has done for responsive images on the web, this says it all:
eleventy made it so I personally do not have to think about responsive images anymore
Mat Marquis
“No Moat by Design”
Top quote from chat about the question of when 3.0 will be released: “sustainable development, not arbitrary deadlines” (Eric Bailey)
Every person who does any web development or design should be required to watch this Miriam Suzanne talk. "“Let the browser work out the details. If we can avoid touching it, we should.”
Paul Everitt - “Never went to the browser and never went to the console.log” is a pretty good selling point.
(I’m not linking to the speakers for speed but their profiles and links are on the conference site)
During the break there’s a beautiful video highlighting all of the people who are using 11ty. The diversity of design is inspiring.
chrome user experience
I could write a whole post about Dan Sinker but suffice to say it was the exact kind of inspiration I needed.
My small connection to him was when he was doing imeachment.fyi He wanted a relative “how many weeks” its been on the site. But the caveat was it had to be Liquid. He didn’t care about your javascript solution. He wasn’t interested in a different platform. Man after my own heart. So I took a look. He was using GitHub Pages with a custom YAML file that he wrote each day’s notes in. It worked for him. He wasn’t going to change that and if it couldn’t be done in Liquid, fuck it. Really after my heart. I took a stab and cobbled together some Liquid using his data model and found a solution. Sort of. I didn’t account for the impeachment to run into the next year. I hacked a one year fix in but I’m sure if you visit it now it’s broken. But that’s not the point. He made the point again today in his talk. Make things. Don’t be afraid of a few rough edges. I’ll add rough edges wear down with use.
Work with the grain of the web. - Chris Ferdinandi
Watching people grok HTML web components in real time in the chat is nice.
I need to revisit the code in the components I’ve made.
make weird things on the internet - ivan zhao
I appreciate that the last speaker, Sara Joy, is speaking to something most sites have either dealt (sort of) with or will need to deal with from an accessibility first stand point. Dark mode is something that I appreciate beyond aesthetics, particularly as my vision has declined as I’ve aged.
I’ve been a passive bird watcher since just before the pandemic. I started with a feeder on the font porch and have since added a few more around the house. Primarly around my backporch after I screened it in and added a fan. I spend as much time as I can out there, and the birds have become a constant source of joy. I picked up these hanging feeders/bird baths off Amazon for $10 a piece and they’re great[1]. The hanger is repurposed galvanized pipe that used to be under the house.
So there’s a mated pair of cardinals that come around every evening like clock work around dusk. Blame the copious amounts of The National I’ve been listening to lately, but I’ve taken to calling them the Twilight Cardinals. This year they’ve brought their offspring around. I’ve seen the juvenile since it was closer to a fledling. Barely able to balance on the pipe squawking with its beak wide open. Now it’s able to stable itself and balance on the edge of the feeder.
Maybe because it was the first to appear this spring—the Tufted Titmouse juvies are starting to mix in and today an akward Red-bellied Woodpecker juvenile showed up—but this cardinal has made me reflect on the world in a way I haven’t in a while. Aging in the face of the young yet feeling as akward. Just trying to keep my balance and not fall off the perch.
I’d always had traditional silo feeders until I mounted an old pie pan to a post to compromise with the squirels. I put some whole peanuts and sunflower seeds in it and the birds loved it. Come raining season I’ll probably search out one that is screen bottomed. ↩︎
I’ve been holding off on posting more prints in my Etsy shop, because A–I’ve been busy and B–I’ve been busy. But also because I need to organize them and take more pics. To that end, I’ve ordered a circular polarizing lens for my iPhone, which should help with the glare from the cheap frames I have for stagging. I also grabbed some shipping tubes in bulk to make it easier to ship the prints. I also realized it would be a safe way to organize them so I can post multiple prints at once.
There’s a species that runs late spring, striped mojarra, that I’m gearing up for. I also have some print making supplies I plan on ordering. Really looking forward to expirementing with creating my own ink. Buying the pine soot in stick form and working it into water to have better control over the moisture, particularly when working outdoors and understanding how it reacts with the different papers. Which has been its own deep dive. Very excited to see what this season brings.
I’m doing more WP work these days and while it’s been fun to throw in some Jamstack I need to dogfood some WP too. Think I’m going to move to WP.com for hosting. I’m paying $7 a month for bare bones VPS. I learned from Chris Coyier WP.com has GitHub Deployments and when I looked at the pricing annually, it makes sense.
I’m still not sure how I want this site to look, but I’ve been more focused on a foundation and less on content and “design.” I like simple. I’m not sure if what I’ve done is simple, more like raw. But I have fallen in love wtih Utopia and this color scheme builder from Adam Argyle. What I like about both are they aren’t “frameworks” or “libraries”. It’s all just CSS custom properties that you can use in however you mark up your templates platform agnostic.
Utopia has a PostCSS plugin however it didn’t work for me. I put off debugging that for a future project and copied and pasted the generated properties. I also need to do some more reading about subgrid as I’m not sure it behaves how I expect.
I found Adam’s post after reading about color-mix palettes. But I like how Adam’s system has worked out text vs background and handles light and dark themes. All based on the HSL values for a primary—brand—color. I’m a prefers-color-scheme: dark user, so extra apologies to anyone viewing this in light mode. But now I can start to think about content and how I want to post. I’m thinking Indiekit. Paul just published an Eleventy preset plugin. Really just need to get it up and running.
Which I’ll end with a reminder from Jeremy Keith from his IndieWebCamp wrap-up (organized by the aforementioned Paul Robert Lloyd)—“What you do with your own website is entirely up to you.”
@todo: fix webmention display
@todo: resolve permalink for notes (unix timestamp from gitCommitDate is fragile in CI/CD)
Tonight I’m reminded what a service C-SPAN is. In particular the daily “Word for Word” email that goes out every evening. Here’s what they are saying. That’s it.
Born & raised in Tampa, over 35 years professionally serving and cooking grouper at every level. Yesterday, thanks to my friends, I was able to get offshore for the first time and catch one.
Also, 10 hours without cell/internet? A++++++ Would do again.
I’m a nobody and my attitudes towards web development have been generally eschewed for the last decade. So it’s been really refreshing to read more folks speak out about the state of the web. I’ve been especially nodding along to Chris Ferdinandi over on his blog, Go Make Things. Like this today, Understanding the Medium.
But the idea that the fix is to remove the need for front-end web professionals to write or understand CSS entirely is patently absurd.
Today I hiked a mile into a nature preserve, then waded out thigh deep into Tampa Bay and caught trout all afternoon. Highly recommend unplugging and recharging. And I’ll get to make more art.
Today’s inner monologe was a debate over whether it would be better to use <aside> instead of <article> for notes—posts without titles. Naming things is hard, writing titles harder. (Would that be the title?) We don’t write titles on social media updates/tweets/skeets/whatever, so why should we on our own sites? Which lead to questioning if articles need titles semantically. And all of that started when I was thinking about permalinks and calling articles with titles “articles” and articles without titles “notes”.
I have spent a lot of time reading and researching how folks are doing fluid type these days. I’ve settled on Uptopia because it doesn’t force any classes or markup. It’s not a “framework.” I also like it’s built in support for PostCSS. Set a few defaults and it generates a fluid type and spacing system in the form of custom properties. Variables you can apply to your existing markup. Instead of guessing with em for padding or margin you have a consistent step scale to work with.
Reading a blog post from a designer I really admire and went to take a look at their markup. Holy divitis Batman! Straight up tailwind soup. No <main>. No <article> just <divs> and <p> all the way down. It’s really hard to want to care about this stuff when people who are really good at it don’t seem to care.
Just discovered there’s a default WEBMENTION_LIMIT for the Netlify webmention plugin that’s set to 1. Meaning it will by default only send a webmention for the first link in a post. I think. Still testing.
Another test for brid.gy & Bluesky. Hadn’t authorized posting and not sure how the Netlify webmention plugin handles sending subsequent webmentions. Defintely will want to start sending my own webmentions so I can get the syndication url back from brid.gy. I hate litering social media feed with backlinks.
I don’t know if this reply will work but @chris@mastodon.socialbut I’m interested in this too. I have an eleventy site I built using charts.js and I stick the table into a details with table-saw but I haven’t dug deep on acessibility.
I think this is a lesson we could probably apply to a lot of web development.
The recipe worked. I had achieved the success I was looking for years ago. But it took trying again to realize the greatness of the work we had already put in.
Adrian Roselli documents best practices for embedding content with a bonus example of an HTML Web Component for Youtube videos. Neat trick parsing the video identifier from the default link for building the iframe. I liked the Bonus! treat.
Fixed up Webmentions a little more. Added generic mention-oftype which encompasses pingpacks with webmention.io. Decided to use Paul Robert Loyd’s Webmention svg icon for a default img when no author img available.
I shared my PostCSS post on Twitter & Bluesky and tagged the author. Mostly out of habit, but sure, to ping them. No expecations. A like was nice. Much to my surprise checking my RSS feeds last night I saw my name in a post following up on the discussion. Thank you.
A few years back the lack of effort in documentating an open source project bit me pretty hard. Since then I’ve really grown to appreciate technical writing and good documentation. What a lovely resource.
You may wonder: how can I write technical content? Do I need to be a great coder? Do I need to have a background in writing? Let me answer those last two questions now: no. Writing is all about communication, as I discuss throughout Software Technical Writing: A Guidebook. If you have some technical skills and enjoy refining your communication skills, you have the mindset you need to write technical content.
One of my favorite all time favorite blogs is back posting. The beauty of collecting RSS feeds for 20 years. Their approach to food has deeply influenced how I cook. Ideas in Food - Sugar Brioche
Ohhhh, I like having Letterboxd on the Apple TV. That might get me to go pro. I want to track what I’ve watched but haven’t been good about logging. Being able to do it from the TV might help.
Speaking of NetNewsWire and Mastodon, Brent Simmons wrote some thoughts about Mastodon support in NetNewsWire. I’m enjoying being able to follow Mastodon accounts using fed.brid.gy and reading them in NetNewsWire. Folks may also want to look at Granary for converting Mastodon feeds to other formats.
Inspired by @zachleat.com’s evangelism of HTML Web Components I played around with turning Aaron Gustafson’s progressively enhacing his share button into a component. It’s totally Aaron’s code so I’m not sure about formally releasing it. But I’ve seen the light.
If you see Aaron, tell him I said thanks and if he’s cool with it I’ll clean it up and release it. Repo link.
Finally figured out how to follow people on Mastodon from my own site. I’m using fed.brid.gy, which in essesnce is a bridge between the IndieWeb and the Fediverse. You follow using fed.brid.gy and it creates a feed of your follows you can subscribe to in your reader of choice. I just add it to my feeds in NetNewsWire and I’m good to go.
There are a few options for archiving your tweets and Ben Balter has released a new project on GitHub—tweets. Pretty straight forward publishing on GH Pages.
My RSS consumption these days is using NetNewsWire synced through iCloud. I’ve always prefered reading my feeds on my laptop, probably because I’ve never picked up an iPad after having a 1st gen. But I also started reading RSS years before reading them anywhere but the desktop was an option.
I sort them oldest to newest and use the keyboard—I use arrow keys—to navigate through the list. I used to read everything in the app, but more recently as more folks are posting from their personal sites, I like to click over and read the longer posts in its native format. Especially web folks. It’s a great way to see what everyone is doing with their sites. View a little source.
NetNewsWire has the preference to open links in the background and the keyboard shortcut b will open the active item in the browser. That way, I can triage my feeds without suffering from inbox overload. I’d rather suffer from browser tab overload. At least that way when I need a diversion, I have a curated set of links ready to go.
From there I read the post and if it’s something I think I’d like to reference in the future, bookmark in Safari. Now that I’ve gotten the site back up, I might add bookmarks as a collection and start posting the meaty reference material here. Regardless I’ll be sharing links to stuff that stands out to me.
As I started typing this out I decided to go ahead and put my OPML file up on GitHub. I’ll try to keep it up to date. I’m not sure how useful it will be to anyone, but it’s there. I don’t delete feeds so there’s a lot in there for nostalgia’s sake.
11ty doesn’t have the concept of themes. I’m good with that. But what I’m considering, from a data portability standpoint as well as allowing work to the site to be separate from content is the concept of a theme. And making it easier for others to use it. Trick would be to get 11ty to read content from a directory outside of _src. Or to have a separate repo for the posts/content and _data as a submodule in _src.
Having fun trying to figure out how to get a date for the note that I can generate a unique timestamp for. Created seems to build time. Trying git Created now. Note this is for Eleventy and a supplied value. I wrote a filter to convert the date to unixtime stamp for a permalink value for notes with no title.
So it begins the testing for using Brid.gy and webmentions. It’s been almost 5 years since I last set something up and while the underlying tech hasn’t changed, my memory on some of it has faded.
I have been yearning for several years to start creating some kind of physical art. I experimented with mixed media, namely newspaper headlines and paper making, but it didn’t scratch the itch.
The past year I have been consumed by fishing. I want to be a small scale boat to table commercial fisherman and that has been a more difficult goal to achieve than it looked like on paper at the beginning of 2022. I also knew that there would be some seasonality to it with a lot of bad weather days mixed in. I wasn’t sure if that time would be filled with web consulting or making stuff.
I was familiar with fish printing in so much as I’d seen photos and maybe one video years ago. But in early October I started picturing them in my head, which always leads to a lot of searching on the web. I skimmed through a dozen or so YouTube videos and went to Walmart for some cheap supplies and dive in. Sketch paper and tissue paper, black acrylic paint and some cheap brushes.
My next attempts were a positive step forward. The ink seemed the problem so I switched from acrylic paint to traditional sumi ink. However with several attempts under my belt I went back and watched some more videos. That led to a journey around paper. Rice paper led to washi and now I’m on my third type of paper. I feel this will be a longer journey but the latest mulberry paper I ordered feels like I’m heading in the right direcetion.
My inspiration has been Dwight Huang. Watching someone approach the art from a natural and reverent place I felt a much stronger pull to explore the art.
And just to be clear, the only fish I’m printing so far[1] are ones I’ve caught that meet state regulations from a public pier. They all become dinner or bait, nothing is killed purely for the sake of making a print. That’s an important point to me. Dock to art to table.
I hope to reach a level that allows me to print for others to have a print of a memorable catch. ↩︎
I’ve thought long and hard on how I want to make websites for me. This is where I’ve landed. Eleventy as a static site generator and PostCSS for styling development. I am borrowing heavily from work I’ve previously done with Jekyll-IndieWeb.
As I’ve narrowed things down publishing images is a big thing for me. I want semantic, responsive and accessible images. Looking at the tools available for Eleventy, no matter how I sliced it I didn’t like the options afforded me out of the box. I don’t have the javascript chops to whip up what I wanted. But after revisiting snippets in VS Code, it dawned on me that it would easier to create a couple of snippets to insert a <figure> with a <picture> element with placeholder text. I don’t expect to publish full articles on my phone, mostly notes and photos. At which point I believe I’d rather do um, art direction from the laptop cropping and processing images with Pixelmator Pro.
I was born in Tampa, Florida and but for a year in Denver (April 1992 - April 1993) and a season in Vero Beach (1994) it has been my home. My school age years were spent in the East Bay area (southern Hillsborough County—Gibsonton and points south). Before Denver it was Hyde Park; after Ybor. The natural migration for a Gen Xer back then was to Seminole Heights. I now live on the periphery of the historic district in a 1926 bungalow with a never ending list of repairs and projects. I wouldn’t have it any other way.
Professionally I am web developer[sic], though I have a dream of being a small scale commercial fisherman doing local, sustainable boat to table seafood. Maybe even a fish shack doing smoked mullet and fish sandwiches. Which stems from my time working in indie restaurants. Busboy to server in my Hyde Park days. Starting in Denver, I moved to the kitchen where I stayed until going back to community college in my early 30s. Burned out but needing money while I started taking classes, I did a stint waiting tables at the Spaghetti Factory in Ybor. A master class in the turn and burn school of restaurants. I cobbled together a website for a restaurant I was the chef for circa 1999 and had a friend who moved to NY who sent me bootleg Photoshop discs for my iMac. I honed my skills making making message board sigs until I took a class on it in school. Another friend had a blog and I wanted in. Enter WordPress. Meanwhile, in school the classes available were teaching how to use Photoshop, Flash and Dreamweaver to build sites. Before I knew it I was getting paid to fix and build sites. That didn’t always pay the bills and sometimes I’d miss the kitchen. Working part time at the convention center, catering, stumbling into chef gigs. Meanwhile I was working remotely or freelancing on web stuff and deep into open source. Prior to the pandemic I took a developer role with a local marketing agency that was an absolutely eye opening experience. That doesn’t even cover half of it.
The one constant has been my struggle with my mental health. I was diagnosed with a Generalized Anxiety Disorder in 2000. I briefly attempted to try medication but I had a bad reaction to what was prescribed and lost insurance changing jobs. So it went unchecked until 2015. There’s a lot more to say about that than can fit in this supposedly short version of a bio.
Really, this web log is meant to be my autobiography.
Music, particularly live music, has been central in my life since my teens. Punk shows
at the Cuban Club and hair bands at Lakeland Civic Center. In the nearly 40 years since, I'd guess I've seen 500 live shows give or take a dozen.
This section will focus on what I'm listening to now as well as tales of shows from the past.