Posts

Reflections, projects, and ideas worth sharing in more than a passing thought.

A Dry Spell

I learned long ago that life is a series of ups and downs. There will be good times when things flow without effort. And there will be dark times when no matter how hard you try, it feels as if you’re sliding backwards down a muddy hill with each step.

I’m in one of those muddy hill valleys right now. It’s a time when nothing excites me and the creative juices won’t flow no matter how hard I try to force them. I feel as though I’m plodding along, one day after another, getting nowhere.

To put it plainly, I’m bored with life at the moment.

This is an exciting place to be, and I look forward to seasons like these. I know my mind is searching for something new to learn from. I’m bored with the status quo and I’m subconsciously looking for the next challenge. These have always been the times I’ve grown the most.

Until I land on it, I can only keep putting one muddy boot in front of the other and climb the hill, all the while keeping an eye out for the new thing that sparks passion.

Now that I’ve recognized the valley, the something will be right around the corner.

One Simple Goal

As I look back on the lost year of 2025, I learned a lot about what’s important to me; health, family, and close friends. This led me to give serious thought about what I want 2026 to look like now that I’ve been given a new lease on life.

I want 2026 to be a year of renewal. Spending less time online and even more time present with those around me. Less time working crazy long hours and more time focused on my emotional, spiritual, mental, and physical well being. Less money spent on frivolous things and more time investing that money into the future.

The break I took in October was liberating. I enjoyed not spending as much time online trying to be relevant in some way and just living a simple life, one day into the next.

That’s what I’m shooting for in the coming year. No pressure to do or be anything for anyone outside of my close circle. If it goes as planned, you’ll see less of me.

Why share this? No reason really. It’s more for my own benefit than anything else. I wanted to memorialize the goal on my blog, since that’s what a blog is supposed to be for. I feel I’m at a point in my life where it’s simply best to step back and slow down a little.

Thanks for reading. There will still be posts, but probably less noise.

Here’s to a simpler 2026 for all of us.

Failure

You’ve no doubt heard at some point in your life that failure is not an option. There are times this holds true; definitely when someone’s life is on the line, or maybe – but only maybe – if there’s a large sum of money at stake.

But I think there are times failure should be the only option.

Failure can be one of the best teachers we have – as long as we’re willing to listen to her lessons.

Failure always shows us the truth. Sometimes gently, other times brutally.

We need to openly welcome failure’s lessons into our lives in order to grow.

Failure will never lie to us. She shows us where we are wrong about our belief systems and how they may need to change.

If we’re willing to fail in the most spectacular ways, failure will bless us with wisdom and humility in return.

But, if you think you have nothing to learn from failure and that you already have it all figured out, well then my friend, you’ve already failed in the biggest way you possibly could.

Old Habits

Old habits are sneaky little monkeys. They work every angle they know to quietly slip back into the circus of our lives without us noticing.

What they rely on most is us caving in to their idea of “just this once” a time or two in order to become the norm once again.

Before we know it, we find ourselves right back where we started.

We need to keep a watchful eye out for these conniving monkeys. When we feel the temptation to trade their convenience or comfort for the new and better habits we’re trying to build, we need to get tough and say “Bad monkey! It’s not going to happen this time.”

Building new habits adds friction to our lives. It’s easier to just “go with the flow” than it is to put in the extra work of sticking to our guns.

But if we do stick with them long enough, the friction eventually fades and the old monkey will have left our circus for good.

App Defaults 2025

It’s that time of year where I and others look back at the macOS tools that made us productive over the last 52 weeks.

I stayed relatively consistent this time around with the biggest change being my task management solution.

Category App
Mail Client Apple Mail
Mail Server iCloud Mail with custom domains
Notes Obsidian (with sync)
To-Do OmniFocus 1
Photo Shooting Apple Camera
Photo Management Apple Photos
Photo Editing Pixelmator Pro
Calendar Apple Calendar
Cloud File Storage iCloud & OneDrive
RSS NetNewsWire (iCloud sync)
Contacts Apple Contacts
Browser Chrome 2
Chat Apple Messages
Bookmarks Raindrop.io 3
Read It Later Raindrop.io 4
Word Processing MS Word / BBEdit
Spreadsheets MS Excel
Presentations MS Powerpoint
Shopping Lists Obsidian (with sync)
Budgeting & Personal Finance MS Excel/Bank Mobile App
News NetNewsWire (iCloud sync)
Music Apple Music
Podcasts Overcast
Mastodon Mona
Password Management 1Password
Code Editor BBEdit / VS Code
App Launcher Raycast

  1. I’ve returned to my first love productivity app on the Mac. ↩︎

  2. Yes, I know… Evil. It’s still the best browser for web development work. I am, however, giving Safari another try for personal browsing. ↩︎

  3. I’ve built up a pretty impressive list of links with this web app. ↩︎

  4. Ditto on things to read later that I may never get to… ↩︎

mnml v2.8.0 Released

It took a while to wrap things up, buy I’m happy to finally share that a new version of mnml has been published for Micro.blog users that adds some cool features.

HTML Image Classes

You now have better control over your html images using style classes, for example: <img class="align-left" src="image.jpg" />.

They say a picture is worth a thousand words, so check out the mnml style guide page for more details and code examples you can copy right from the page.

Copy Code Blocks

Speaking of copying code right from the page, this release also includes a setting you can enable to add a “Copy” button to your code blocks, letting readers easily copy a block of code to their clipboard for their own use.

Again, a picture is worth a thousand words, so try copying this code block for yourself:

<img class="full-width" src="https://mnml.micro.blog/uploads/2025/pexels-simonmigaj-748898.jpg" alt="Three towering rock formations rise prominently amidst a landscape of rolling hills and a partly cloudy sky.">

Pretty cool, right?

This feature can be enabled with the “Enable copy button for code blocks” option in the mnml plugin settings page.

Thanks…

Thanks to everyone who has supported mnml’s development over the last year. It wouldn’t have been possible without you.

Eleven Pointless Facts About Me

I’ve seen these floating around in the different feeds I read lately, like Manu’s, Scott’s, Kev’s, and of course Dave’s original that started it all.

Being one who has FOMO if I don’t join in, I had to share my own pointless facts. However, being the one-ups-man I sometimes am, I chose to throw in a bonus fact eleven for your enjoyment.

Do you floss your teeth?

Most of the time, but some days I’m just plain lazy and will skip doing it. But then I’ll feel guilty about that decision all day.

Tea, coffee, or water?

This one’s easy… Coffee. I love coffee. I can’t get enough coffee. Sadly, I’ve had to cut way back on it over the last two years. So it’s one or two cups of “regular” coffee in the morning. If I drink any more through the day it’s got to be decaf. The rest of the time it’s water. Very rarely do I drink tea…like almost never.

Footwear preference?

Running shoes, though I don’t run. My current daily drivers are a pair of black Nike runners with a white swish that I just love. Once they wear out, they will be replaced by the same.

Favorite dessert?

Hands down, chocolate cake, but then I have a sweet tooth, so I will accept nearly any dessert put in front of me. This too has been scaled way back over the last two years. For my sweet tooth fix these days it’s an apple, Mandarin oranges, or a handful of blueberries.

The first thing you do when you wake up?

I swallow a pill for my damned under-active thyroid. Every. Single. Day. Then I get dressed and walk the dog. Then have coffee, which I’ve been thinking of since the moment I woke up.

Age you’d like to stick at?

To me, 27 was my prime and was the age that being an adult just sort of clicked for me. I’d love to be that age again, but still have the wisdom I’ve gained over the last 34 years. I’d rule the world.

How many hats do you own?

Jeez. I don’t even know. A quick guess would have to be ten, maybe 15. I’ll get on a kick and buy a hat, wear it for a week and then it sits for months before I put it on again. I’ve got a box of about five in the closet I haven’t put on in nearly 10 years.

Describe the last photo you took?

A receipt for breakfast in the SFO airport when coming home from the Dreamforce conference last week. I take more photos of stuff like this than I do “cool” photos.

Worst TV show?

Keeping Up with the Kardashians, or Love After Lockup. Enough said. My wife enjoys both of them. I do not…at all.

As a child, what was your aspiration for adulthood?

I wanted to be a truck driver. Smokey and the Bandit was popular when I was growing up. I thought it was cool too. I’m glad it didn’t work out that way though. I’m pretty happy doing what I’m doing now, even if it was all by accident.

Bonus fact: What’s the scariest dream you ever had?

As a kid of maybe five or six, I once had a dream that my Aunt and Uncle (who owned the family ranch that was lost to fire recently), had a collection of combs in a rack. They were all different types of combs, with one of them being made from bone. It had jagged teeth and looked scary. My aunt warned me to never use the bone comb.

I somehow managed to lose all the other combs in the rack until only the bone comb remained, so I had to use it one morning. When I took it from the rack, the comb – which turned out to be possessed – jumped out of my hand and began tearing up the sheets on the fold-out sofa bed I slept on when visiting them for the summer. That’s all I can remember of it now.

That dream scared the shit out of me then, and I can still remember parts of it today. I’m sure a child psychologist would have had a field day with that one since there was so much turmoil in my life back then.

So that’s eleven pointless facts about me…

What are your answers to the 10 pointless fact questions? If you want to add fact number eleven, it has to be totally unique to you.

The Return to Work

The first week back at work. It could have been much worse…

Monday

My first day back was pretty low key. Tasks were mostly around getting access back to systems that were skipped in my reactivation.

The most important one missed was my building badge access. My set working hours are 7am to 4pm, which is an hour earlier than most. Fortunately, I was able to tailgate another departmental coworker in the door. We got this one fixed right away.

After the first hour of getting situated, there were the first two standing meetings. Lots of “we missed you” and “glad to have you back” sentiments from everyone. It was nice, but also kind of embarrassing at the same time.

From there, the rest of my calendar was free. This gave me the time to go through 13 weeks of email to separate the irrelevant from the important. There were thousands of messages, with 60% falling in the irrelevant (and deleted items) bucket.

Then came lunch. Before my leave, I was an eat lunch at the desk type who continued to work while I ate. I made a pact with myself that I wasn’t going to do that anymore, so I got up, went outside and took a brisk mile and a half walk. Then I came back and ate in the employee lounge, reading a book and turning off work for 30 minutes.

After lunch, it was back to sorting through the remaining emails and catching up on Slack threads. All through the day, people were dropping by with welcome back wishes.

When 4pm rolled around, I packed up and headed home right on time. In the past, I’ve been a “one or two more hours” type, but not anymore. The work will still be there tomorrow.

Tuesday

This was a very full day of meetings, most of which I had scheduled with different teams to get debriefed on everything that happened. I purposely scheduled them individually to be sure I got the same story from each group – which I pretty much did.

All in all, what went down was not earth shaking and my direct reports handled it well. Kudos to them. I feel more confident that I won’t have to be the one to save the world anymore.

The last debrief was with my manager. He promised me he wasn’t going to overwhelm me with topics, but naturally he kept adding “one more thing” to the list, which kept me around until 5pm. He also assigned me a critical project to be worked on.

We’re back, baby…

Sticking around until five, I’d forgotten how bad traffic can get. In true SoCal fashion, it took me an hour to drive 18 miles home. I was tired when I pulled in the driveway.

Wednesday

Today was all about catching up on training. There were several hours of it. I somehow managed not to fall asleep.

Wednesdays are employee breakfast day. Today was breakfast croissant sandwiches. I’m too scared of eating bacon and sausage now, so I took the vegetarian option. It was enjoyable, but there’s something about bacon on a treat like this that just hits different…

There were more team meeting sprinkled throughout. The “welcome backs” were getting more infrequent by today.

Traffic home was as bad as the day before.

Thursday

It was hard to get going this morning.

Today was practically all meetings. I had a couple of hours to work on the high priority project, but the rest were with key vendors. These meetings can be a slog.

A whole new wave of “welcome back” and “we missed you” sentiments from them. Yeah, yeah… Thanks.

I was able to maintain my new lunch habit of a 30-minute brisk walk followed by eating in the employee lounge all the way through the week so far. I’m pretty proud of myself.

I got out of the office on time, but traffic was again bad today too. Thursdays are the worst evening commute day in SoCal.

By the time I got home, I was wiped out and went to bed an hour earlier than normal.

Friday

I’ve made it through the week. Still tired, but I think I’ll make it.

A couple of standing meetings in the morning, and a full two hours uninterrupted to work on the project. It was awesome.

Then lunch. I made it the entire week without eating at my desk. Woo! But, being as tired as I was, I skipped the brisk walk. I felt guilty for making this decision, but the body needs rest sometimes too, right?

After lunch, it was a monthly call with my friend & mentor, Matt. We talked about the week, my plans for next week at the Dreamforce conference and just how I was feeling overall. It’s always great to catch up with him. Matt is the real deal.

The final meeting of the day was with my team to coordinate our arrivals at the conference on Monday. We’re a distributed team, so we’re coming in on different flights.

After working all of that out, I did a little more work on the project that I’d planned to leave until after my return from Dreamforce. This will put us a week ahead of schedule. I felt accomplished by it.

Finally, with everything pretty well wrapped up, I left the office at 3pm. Traffic did not suck at this time.

All in all, it was a good first week back and I feel strong. I’m glad I had it to get ready for next week. It will be full of walking, sessions and meetings with vendors we work with.

Taking a Break

I had a great email conversation with Manu the other day where we talked about the digital fatigue he’s been feeling lately. His approach to overcoming it was pretty radical, much more so than I think I’m ready for.

But if I’m honest, I too am feeling my own digital burnout after consuming it non-stop for the last few months while trying to fill my days doing so little during my recovery.

So, I’m going to try my own experiment.

I’ve removed all the apps from my phone and tablet that I tend to fall into when I get bored. The only place I intend to engage with online content is from my personal computer in the evenings or early morning. Sort of a daily digital catch up if you will.

My goal is to limit the amount of time I spend online for personal consumption to an hour at the very most each day for the rest of October, including weekends.

It means you might not see much of me for the rest of the month, but I will always be available through email if you wanted to get in touch about something.

Let’s see how well this goes…

mnml Update v2.7.7 Released

The latest version of mnml (v.2.7.7) adds the following:

As always, you can upgrade through your plugins listing at your convenience.

A full list of changes can be found here.

Enjoy!

mnml Update v2.7.6 Released

The latest version of mnml (v2.7.6) adds the following:

As always, you can upgrade through your plugins listing at your convenience.

A full list of changes can be found here.

Believe it or not, no styles were changed this time around… 🤯

mnml Updated for Open Graph Images

I’m happy to report that mnml is updated (v2.7.5) to work with @manton’s latest Open Graph image Micro.blog enhancement.

From your Design screen, select the “mnml” Open Graph style option and start publishing! It will even use your mnml custom avatar if you have one set.

Give it a spin! Report any issues you run into if you do.

Talbert Nature Preserve, Redux

Back at the nature preserve this morning adding a little distance with a pick your own adventure path selection. My pace wasn’t as fast as last week’s hike because I wanted to enjoy the nature around me this time, which I did.

For the record, the stairs are 105 steps. I crushed them even faster this time.

A dirt path stretches through dry, grassy vegetation under a cloudy sky.A narrow dirt path winds through tall, bushy vegetation with small yellow flowers.A tranquil wetland scene features tall reeds, calm reflective water, and a cloudy sky overhead.White flowers with large green leaves grow in a sandy soil setting.A landscape features dense, green shrubbery beneath a partly cloudy blue sky.A lush, green thicket of vegetation under a partly cloudy sky in a natural setting.A pine cone hangs amidst branches of a pine tree with green needles.A dirt path surrounded by green bushes stretches into the distance under a partly cloudy sky.A wooden staircase with metal railings leads up to a scenic overlook surrounded by greenery and blue skies.

Talbert Nature Preserve
4.14 miles
21'09"/mile
130' elevation

Another mnml Update

A new version of mnml has been released that addresses a few items…

You should be able to update to v2.7.2 in your plugin settings soon if not already.

Coming to Terms with Age

My sixty-first birthday passed by a couple of weeks ago. I purposely kept it quiet. There’s no need for belated wishes, though I will graciously acknowledge them if given.

Sixty was an interesting year in that it kind of felt like I was still in my fifties, having not lived a full year as a sexagenarian. But sixty-one hits a little different. To me, it’s when the world begins seeing people as old.

In my mind, I’m the same age I started seeing my grandparents whither, with hands full of arthritis, bent postures, and gray hair. Thankfully, I only have the gray hair at this point.

Even still, sixty was one hell of a year for me health-wise, which has brought a lot of things into sharp focus.

If I’m lucky, I have somewhere between six to nine years left working at my current job. I’ve been working full time since I was fourteen. I’ve always taken pride in the work I did, and it’s always been a big part of who I was.

Even when it’s been a grind, I’ve absolutely loved working in the field I was fortunate enough to land in by pure accident. I’m proud of what I’ve been able to create over the years that made the lives of others simpler and more efficient.

But, I’m at a crossroads now…

I’m about to be the one who’s no longer leading the charge. It’s time that I start stepping aside for those who were meant to come after me, so they can make their own difference.

To accomplish this, I see myself moving into a place of sharing the wisdom gained during the 45+ years I’ve been working with those at the front lines now; teaching them what worked for me and what didn’t. Sharing regrets and what I’ve learned from them. Or, how I might handle some of those regrets differently given a second chance.

This post may sound like I’m defeated. Make no mistake; I’m not even close to calling it quits. I feel stronger, bolder, and more excited for life than ever.

But it’s clear where my focus needs to be once I return to work. Instead of expecting others to hold my beer while I save the world, it’s my place to hold their beer and encourage them to step up and become the superheroes they were meant to be.

I’m excited for this transition. Done right, it’ll be a legacy of sorts, and I will have left my mark on the next generation of knowledge worker superheroes.

mnml: Pinned Post Feature

At the behest of @josephaleo yesterday evening, I took the time today to add a new “featured” or “pinned” post feature to my mnml theme for Micro.blog.

You can update to v2.7.1 in your Micro.blog plugins area soon if not already.

Here’s how the feature works…

Say you have a category you always want the latest post to stay pinned to the top of your home page for, no matter how many other posts in different categories you may publish. It might – well, does – look something like this…

Mnml pinned post.

After updating to version 2.7.1, all you have to do is set your preferred category name in the new mnml theme setting, like this…

Mnml pinned setting.

In this example on my sandbox site, the latest post in my “Featured Post” category stays pinned on the home page, no matter what. When I publish a new post in the “Featured Post” category, it then becomes the pinned post at the top of the home page.

The category can be anything you choose. In the case of @josephaleo, he wants to pin the latest “Podcast” category post on his home page to feature his latest episode.

If you like this enhancement, or would like to simply support mnml’s continued development in general, buying me a coffee is always a pleasant surprise.

Some mnml Updates

I was a little bored today, so I added a theme setting to my Micro.blog mnml theme that allows you to toggle post counts on or off for the archive page categories as well as tweaking some styles.

Archive category count example.

I also added the archive post count feature to the mnml: Archives by Year Micro.blog plugin, so you’ll have to update that plugin if you’re using it and want to show archive page category post counts.

Back in the Saddle

So… In case you were wondering, yes, I’m still here, alive and kicking. 😁

If you weren’t aware, I’ve been recuperating from a quadruple CABG (Coronary Artery Bypass Grafting for those not in the “club”). I’m happy to report my cardiologist has given me a clean bill of health. Apart from a little leg swelling and the occasional pain in my sternum, I feel great and am back to pre-surgery activities.

If there were one piece of advice I think might help someone else going through what I went through, it would have to be that attitude makes all the difference.

Even on my worst days, I forced myself to maintain a positive outlook. It could have been easy to get depressed sitting around doing nothing – and I almost did a couple of times. But I kicked my own ass out of it, reminding myself that taking it easy to recover was important and to learn from the process.

Anyway… Enough of that. I went through it and came out aces on the other side. I’m grateful for each day’s dawn. I see things differently now and plan to write a post on that before long.

What I really wanted to share was that I felt good enough today to create that mnml archives by year plugin I promised a little bit ago. If you have a long page of archives, this could help you. Install it from the Micro.blog plugins directory.

I also took some time to make some tweaks to the mnml theme itself. Taking inspiration from @manton’s Photos with months plugin, I updated mnml to simply default to grouping images by month/year for both the grid and masonry layouts. It looks pretty awesome if I do say so myself. The new version is 2.6.0 and you should be able to update soon if not already.

That’s it. Time for this guy to get out and enjoy the day. My wife and I are going to visit Seal Beach this afternoon. Maybe I’ll snap some pics from our outing.

✌🏻❤️‍🩹

Gratitude

I’d like to take a moment to say thanks to the following people who shared their encouragement, prayers, good thoughts, and positive mojo through what has been hands-down the biggest challenge I’ve ever faced in my life.

I was scared out of my wits, and you all helped to take the edge off. You have my undying gratitude for your support.

In no particular order, thanks to…

@mlm361 @goblingumbo @lmika @lukemperez @dhester @birming @jthingelstad @rscottjones @heyloura @jasonekratz @canion @mroutley @robertbreen @vincent @mineinmono @johnchandler @Mtt @kev @Aaron@social.aaroncrocco.com @aeryn@social.lol @ericmwalk@social.lol @AlexWolfe@writing.exchange @annie@social.lol @amerpie@social.lol @rpmik@avgeek.social @macmanx@social.lol

If I somehow missed you in the list, it wasn’t intentional. There were so many good vibes from everywhere that it was easy for me to let one or two slip through the cracks.

Time for rest.

Micro.blog Question Challenge

Robert Birming (@birming) called me out to respond to his inaugural Micro.blog Question Challenge yesterday. How could I say no to such an interesting way to share a little about myself?

As is customary after posting my own, I’m extending the challenge to Numeric Citizen (@numericcitizen) and David Johnson (@crossingthethreshold) to answer the same questions:

  1. Why did you start a blog in the first place?
  2. Have you blogged on other platforms before?
  3. Why did you choose Micro.blog?
  4. Do you write your posts directly in the editor or in another application?
  5. When do you feel most inspired to write?
  6. Do you publish immediately after writing or do you let it simmer a bit as a draft?
  7. What’s your favorite post on your blog?
  8. Any future plans for your blog?

You don’t need to be called out to join in on the fun. Let Robert know by mentioning him on the Micro.blog timeline if you publish answers of your own.

Without further ado, here are my responses…

Why did you start a blog in the first place?

I started publishing online in the early 2000’s as a place to share updates about the Mac app I was developing named “Yasu” – which was short for “Yet another system utility.”

It was a Mac system maintenance utility written AppleScript Studio that performed the important system maintenance tasks Mac OS needed at the time.

I created it mostly because Cocktail, which I was using then, decided to move to a shareware model. I thought I could write a Mac app myself. How hard could it be? The very first version was really ugly, but it worked. That became a journey lasting more than 17 awesome years.

Yasu opened a lot of doors for me. It had write ups in most of the big Apple magazines of the day, and it got me invites to speak at a couple of small Mac conferences and a handful of local user groups.

Developing Yasu were some of the best years of my life. Blogging about the journey went hand in hand with it. I met a lot of super-awesome people I still keep in touch with today because of Yasu.

Have you blogged on other platforms before?

I’ve tried nearly every major blogging platform at one time or another.

I started with Blogspot (Blogger), but didn’t publish much there. I tried MovableType, Tumblr, Drupal, and some others I can’t remember the name of anymore. I even tried Jekyll as a static site generator, and just doing my site 100% by hand.

Ultimately, I landed on WordPress in 2004 and stuck with it for most of my time publishing online.

When Ghost came around, I gave it a short spin, migrating all my WordPress content to it. That move lasted all of two months. In the end, it didn’t resonate with my workflow, so went back to WordPress.

I’ve used cheap as dirt shared hosting plans, run my own VPS – learning a LOT about Linux – and even served my WordPress site from a salvaged Bondi Blue iMac tucked under my desk in the early years.

Why did you choose Micro.blog?

I first heard about Micro.blog from John Gruber on Daring Fireball in 2017. I thought it was a cool idea and filed it away mentally. I was still happy with WordPress, so didn’t make the move then.

But, as WordPress became overly complex with features I didn’t want or need, I started considering other solutions. That’s when I really looked at Micro.blog – around three years ago.

I first migrated my WordPress site to Micro.blog in March 2023. But after 20 years on WordPress, I felt lost and moved back. However, I returned in May of the same year, and have been here ever since.

I chose Micro.blog for its simplicity. It was nice not to have to run a server of my own. The feature set is simple, making it easy to get my thoughts and ideas published.

But, the reason I stuck with the platform was the community.

I’ve become acquainted with many really cool people through Micro.blog. The community here is one of the big reasons I began giving back by developing plugins and my mnml theme.

I follow some really interesting people who inspire me by what they share. I completely grok Manton’s vision for Micro.blog now. I’m 100% in on the platform, Fediverse and all.

I don’t have plans to go anywhere else.

Do you write your posts directly in the editor or in another application?

I don’t have a single place I always write from.

For short “thought” posts without a title, I mostly fire them off using the iOS app, but I’ll also write them from the web interface if that’s where I’m at, or the Micro.blog macOS app if I’m using it at the moment.

I sometimes use Greg Morris' (@gregmorris) Micro Social iOS app too. Micro Social is a pretty rad app and I’m excited to see it mature.

For longer blog posts like this one, I exclusively use MarsEdit by Daniel Jalkut (@danilepunkass). I’ve been using MarsEdit since 2007 because it paired so nicely with WordPress. When I came to Micro.blog I was stoked to find the app worked here too. That helped my decision to move.

When do you feel most inspired to write?

Inspiration can hit me at any time. Usually it’s after I’ve read something that resonated with me, I’ve learned something new, or just have an idea I think others might be interested in.

For the “deep thinking” posts, I’ll ruminate on a subject for a few days before writing a single word, drafting and rewriting the post over and over in my head. This helps me get thoughts in order and research a topic if I need to.

Do you publish immediately after writing or do you let it simmer a bit as a draft?

For most long posts, I pretty much publish right away.

I’ll write the first draft fast, getting my thoughts down as they flow out of my brain.

Then I’ll go back to the top of what I wrote and begin editing, trying to make thoughts clear and fix grammar. Once the first edit is complete, I’ll preview the post in MarsEdit over and over to be sure it reads well. When I come across something I think is hard to follow, I’ll work on it.

Once I’m happy with what I’ve written, I hit publish and walk away.

After an hour – or even days – I’ll go back and re-read the post on my site as if I were a visitor. Four out of five times I find something I wrote still doesn’t communicate the idea I wanted it to, so I’ll go back into MarsEdit, make edits and republish.

These post-publish tweaks can happen a few times. I’ve even gone back and edited posts from years ago after re-reading them.

My short social media-like “thought” posts are rapid fire. I just write them and post. It’s what came to my mind right then, and once it’s out there, that’s what it is. I’ll only edit it if grammar makes me sound like a moron – so yeah, those get edited more often than I would like.

What’s your favorite post on your blog?

I don’t have many posts on my site. In 2014 I went through a tough time emotionally and creatively, deleting nearly everything I’d ever written except the ones I liked or saw were getting regular traffic.

One of the posts I chose to keep is titled “Memorable Cigarettes.” It’s the first post I wrote that gives a glimpse into my childhood, ultimately leading to meeting my wife, and making the right choice to stop smoking because I was so smitten with her.

I’d have to say that one is my favorite post. “A Bicycle and Barbed Wire," which is another glimpse into my childhood, is my second favorite.

Any future plans for your blog?

I’m pretty happy with my blog as it is. I like using it to post short thoughts and interact with other Micro.blog and Fediverse folk.

I’d like to start writing longer, more deeply contemplated posts. I have a lot of interesting stories from my life to tell. They should make for good entertainment. I think it’s time they see the light of day.

I might start doing short podcast (I call them “microcast”) episodes every now and then. People have always told me I have a great radio voice. We’ll see about that.

IndieWeb is Punk

IndieWeb is Punk logo design on a black t-shirt
Jamie Thingelstad and Robert Birming get credit for the idea. I made it a t-shirt.

Jamie Thingelstad (@jthingelstad) posted a great analogy about the IndieWeb over on his site today, likening it to the quintessence of what makes Punk Rock special to so many…

As Punk Rock was to the music industry of that era, is the IndieWeb bringing the same ethos to the Web of today — minus the mohawks?

As someone who grew up on the Punk of the ’80s, I totally relate to where he’s coming from. To me the IndieWeb is a community of gifted misfits, doing it their own way with the tools they have, and without the need for big tech (the establishment), just like Punk is.

I think Jamie sums it up the best though…

We don’t need major platforms. We have the Web, keyboards, tools, and community. IndieWeb is Punk! Is it time to bring the Mohawks back?

Yeah, Jamie, I say we bring the Mohawks back. Oi!

In the comment thread, Robert Birming (@birming) had the brilliant idea of making Jamie’s rallying cry into a t-shirt.

Always one to answer a call when there’s a need, I hereby present you with the official “IndieWeb is Punk” t-shirts, available through Cotton Bureau, available in black or white designs.

Any and all proceeds ($2 a shirt) will be donated directly to the Electronic Frontier Foundation (EFF), the leading nonprofit defending digital privacy, free speech, and innovation for 35 years and counting.

Adding Insult to Injury

As I shared a week or so ago, I underwent an angiogram that found some really bad stuff and will require open heart bypass surgery in a week and a half.

Yes, I’m a little scared. But I won’t bore you any further with that one. It’s going to be a gnarly ride. I know I’ll come out aces on the other side.

Or… (cue morbid humor) I won’t know.

Anyway. To add insult to injury, imagine my joy to learn as part of a post-procedure ultrasound of my neck that “significant narrowing” of my right carotid artery was also found.

Yay me!

That’s right, one of the two arteries that supplies blood to my brain is pretty narrowed. Thankfully the left one is still in good shape, otherwise we’d have a big problem.

What does it mean?

Well, it means that just as I’m getting back on my feet, I get to go under the knife yet again to take care of this little inconvenience. Thankfully, the recovery is not too hard from what I’ve read and I should be good to go soon after.

Let this be a lesson kids… Take care of yourself early in life. Eat the good stuff. Avoid the burgers and fries. Don’t do like I did. It’ll catch up to you and bite you if you do.

Man, this aging thing is beginning to suck just a little…

Giving In

I had a really meaningful chat with my mentor yesterday about asking for help during my upcoming surgery and recovery. It made me realize something important…

I’m one of those super independent types who hate asking for help. I’d rather tough it out and struggle than admit I need support. This comes from how I grew up. My mom, a single mom, worked long hours to make sure I and my step-sister had everything we needed. I had to do a lot for myself as a kid and figure out how to get by.

Matt (my mentor) and I talked about how letting people help us out will make them feel good about themselves. Even a small task can make a big difference when someone feels helpless.

Matt shared how after his own recent surgery, he let a friend move some clothes in bins from an upstairs bedroom to the garage for him. It was a simple task, but it meant a lot to his friend. Matt wanted to help, but he realized that letting his friend do it would make a difference in both of their lives.

Relying on others helps us realize that we’re important to others too. I’ve gotten so many offers of help from people I never thought I’d get it from. It’s made me realize that I’ve had a bigger impact on others than I thought. It really makes me emotional every time I experience it.

There’s a lot of selfish stuff going on these days, and it’s only going to get worse before it gets better. But in the end, we’re all in this together. We don’t need to feel ashamed when we ask for help. And we need to be ready to help those who need it when we can.

So the next time someone asks what they can do for me, I’m going to think of something for them to do, no matter how small. I’m blessed to have the support system I have — and never realized was there.

A Widow Maker

As I’ve already shared, I’m facing the very gnarly reality of open-heart surgery within the next few weeks – maybe sooner.

Here’s how I got here…

Towards the end of the pandemic, my Apple Watch notified me that my average resting heart rate had significantly dropped over the course of a few months, from the low seventies down to the mid-forties.

This surprised me.

I went to my GP about it, but he didn’t seem to think it was serious enough to investigate, so nothing was done. I noticed I was more tired than usual, but I’ve been seeing him for 25 years, so I trusted his judgement.

I may need to reconsider my primary care physician, but that’s for another time.

About a year and a half ago came “the event” as I’ve come to call it. I woke up to uncontrolled A-fib at 4am on a Thursday morning. It was serious enough to make me want to go to the hospital, which is unheard of. Thankfully, my Apple Watch let me know about this one and is the reason I went to the hospital.

You can read about that one on its own.

I endured the usual poking and prodding after: A stress test, EKGs, blood tests, and whatnot. Nothing bad was found. I will say that I’m lucky to have been referred to a really good cardiologist as part of it though.

Over the course of the last year and a half, I cleaned up my lifestyle, got on the right meds, and managed to shed nearly 60 pounds, putting me back at the weight I was when I met my wife 32 years ago. I felt better than ever and was happy to be fit again.

Then about a month ago came the night I woke up to chest pain. I thought it was a cramp from sleeping wrong. Then came the same pain when I exerted myself. This told me something wasn’t right. Before I could get in with my cardiologist, I had more A-fib events which I was able to capture on my watch.

I took the first appointment I could to see one of the other doctors in my cardiology group since my regular doctor was booked. She recommended a CTA, or computed tomography angiography. The results of the scan were concerning enough to warrant a full-on invasive angiogram a couple weeks later.

I had that procedure late last week. My wife and I hoped a couple of stents could be placed and I’d be right as rain again.

That wasn’t meant to be.

Instead, my cardiologist found I’m on the verge of a widow-maker heart attack with multiple blockages of 80% or more. Stents couldn’t fix this one.

Damn. That is some really serious shit right there…

That catches us up to today.

I have an appointment with a thoracic surgeon on Wednesday. I already know what’s going to come of it – open heart bypass surgery. The only thing I don’t know is how quickly it’s going to happen. It could be a couple of weeks, or it could be a couple of days.

I’ve got to get a lot of things in order quickly.

I’ve never faced anything remotely like this in my life. I’m kind of scared by it, and I’m still trying to grasp what’s about to happen. It’s going to be intense and life changing. But, I know I can pull through it, and I know it’s for God’s purpose.

If you’ve read this, I appreciate you taking the time. I’m usually pretty private about things like this, but I needed to get it written and published so the story can be continued later.

I also appreciate the great encouragement I’ve already received. Thanks to all of you (so many already) who have shared something. It means more than I can say.

To be continued…

Yet Another mnml Update

I’m happy to share that a new mnml update is on the way. This release (v2.5.7) adds the following new features…

You should see v2.5.7 available in your Micro.blog plugins list soon if it’s not there already.

If you’re a mnml user, thanks for your support!

Using Phosphor Icons for Micro.blog Navigation

This post walks through how I’m using Phosphor icons for the Mastodon, Github and Search navigation links on my blog using the mnml theme.

While mnml supports the use of icons in page and navigation titles now, I wanted to use only icons when browsed on desktop screens, but use the actual page title links without icons for the mobile responsive menu…

A webpage menu bar features the name 'Jim Mitchell' alongside links labeled 'Now,' 'Projects,' 'Photos,' 'Archive,' and icons for social media and search functions. Auto-generated description: A smartphone displaying a minimalist website menu against a vibrant, colorful background.
Desktop navigation with icons, mobile navigation with links.

First, the Disclaimers...

This method might work for other themes. I haven’t tested it nor can I support other themes.

With some tweaks, you could probably use the Font Awesome Plugin for your icons instead. This tutorial doesn’t cover that.

Before you publish my code to your live site, I very strongly encourage you to try it out on your Micro.blog test site first. I can’t be held responsible for anything breaking.

Also, don’t change your theme styles directly. It’s best to use the Micro.blog Custom CSS option to apply styles.

Let's Do This!

The first step is to decide which Phosphor Icons for Micro.blog set you want to use. My example uses the “Regular” set.

You should also get the Unicode values of the icons you want to use from the Phosphor Icons website in advance. See comments in the code below about using Unicode values.

A user interface displays various options for hte Phosphor Mastodon icon with the Unicode value highlighted.
Note the circled "U+ED68" Unicode value for the Mastodon icon. These are what you want.

The next step is to create your pages and get their url. In this example, I’ve created a Mastodon page with redirect.

A webpage interface shows options for redirecting to a Mastodon page with a checkbox to include the page in blog navigation.
Note the "/mastodon" url and that I've included the page in my blog navigation. I've done the same for a Github redirect and the local Search page.

With all the pages I want to use icons for published, knowing their urls, and having icon Unicode values, the final step is to add this CSS to my Micro.blog Custom CSS.

Follow along with the comments in the styles to understand what each declaration does. You should be changing the a[href$="/url/"] selectors to match your own urls.

/* first, let's move the actual nav links off page way to the left */
.nav-item a[href$="/mastodon/"],
.nav-item a[href$="/github/"],
.nav-item a[href$="/search/"] {
	text-indent: -9999px;
	display: inline-block;
	line-height: 1;
}

/* add icons to the ":after" pseudo element, set their text indent to 0 */
.nav-item a[href$="/mastodon/"]:after,
.nav-item a[href$="/github/"]:after,
.nav-item a[href$="/search/"]:after {
	color: var(--accent-3);
	font-family: "Phosphor"; /* Note: the font family will be different based on which plugin you use */
	text-indent: 0;
	display: flex;
	justify-content: flex-end;
	margin-left: auto;
	line-height: 0;
}

/* adjust icon left margins after the first icon to look better */
.nav-item > a[href$="/github/"],
.nav-item > a[href$="/search/"] {
	margin-left: -.75rem;
}

/* remove text underline on hover for desktop because it just doesn't look right to me. */
.nav-item > a[href$="/mastodon/"]:hover,
.nav-item > a[href$="/github/"]:hover,
.nav-item > a[href$="/search/"]:hover {
	text-decoration: none;
}

/*
Set the element "content" to the font unicode from the Phosphor icon site.
To get this, find the "U+XXXX" value of the icon and use the "XXXX" value.
Example: "U+ED68" for the Mastodon icon is equal to "\ed68" for content.
Refer to the Mastodon screenshot above.
*/
.nav-item a[href$="/mastodon/"]:after {
  content: "\ed68";
}
.nav-item a[href$="/github/"]:after {
  content: "\e576";
}
.nav-item a[href$="/search/"]:after {
	content: "\e30c";
}

/* use specific brand colors on hover, because it looks better */
.nav-item a[href$="/mastodon/"]:hover:after {
	color: #563acc;
}
.nav-item a[href$="/github/"]:hover:after {
	color: #08872b;
}
.nav-item a[href$="/search/"]:hover:after {
  color: var(--link-hover);
}

/* use specific brand colors on hover in dark mode, because it looks even better */
@media (prefers-color-scheme: dark) {
	.nav-item a[href$="/mastodon/"]:hover:after {
		color: #858afa;
	}
	.nav-item a[href$="/github/"]:hover:after {
		color: #5fed83;
	}
}

/*
finally, for the mobile responsive main menu,
remove the icons and "unhide" the navigation link text.
*/
@media only screen and (max-width: 768px) {
	.nav-item a[href$="/mastodon/"],
	.nav-item a[href$="/github/"],
	.nav-item a[href$="/search/"] {
		text-indent: 0;
		display: block;
		margin: 0;
	}
	.nav-item a[href$="/mastodon/"]:after,
	.nav-item a[href$="/github/"]:after,
	.nav-item a[href$="/search/"]:after {
		content: "";
	}
	
	/* add link text-underline back since we're not using icons anymore */
	.nav-item > a[href$="/mastodon/"]:hover,
	.nav-item > a[href$="/github/"]:hover,
	.nav-item > a[href$="/search/"]:hover {
		text-decoration: underline;
	}
}

That’s all there is to it.

The styles may look scary, but they’re not really.

I’m happy to answer questions, but hope you can understand if I decline to write or tweak styles for your specific needs. Use my contact page to get in touch with questions.

Of course, if you really wanted me to write code for you, I might be convinced should you decide to buy me a coffee or two…or three. Or maybe you decide what it’s worth to you. 😁

Happy style hacking!

Another mnml Release

A new release of mnml has been published that adds the following features:

You should see an update available in your plugin listing soon if you don’t already. As always, thanks to all who continue to support mnml development.

Weeklog 2025-13

It’s been a while since my last Weeklog post, so it’s time to summarize recent events in another one…

That ended up being more than I thought it would be when I first launched MarsEdit to write. If you made it this far, thanks for reading.

I hope to not be so quiet going forward.

Exception: Illegal Instruction - The Sad Mac T-Shirt

A t-shirt for those who used the Mac Classic and Mac SE from days of old. You likely saw this error when booting up at least once or twice.

Available for purchase on Cotton Bureau.

The Sad Mac t-shirt artwork.

Huge mnml Theme Updates

What do I like to do on a quiet Saturday afternoon? I like to work on making mnml even better than it already was, that’s what!

I like grid photo layouts well enough, but what I like even more is a nice masonry style photo layout. So, the latest version of mnml has the option to choose between a grid or masonry photos layout on your own.

Note: I recommend uninstalling any photos plugin you might already be using if you want to use one of the native options because it will override mnml’s options.

But wait, there’s more…

Because some may not want to display every single image from your blog on your photos page, and instead maybe just display images from a particular category, that’s an option now as well.

Mess around with the options until you find your happy place. Then blog your heart out.

Micro.blog mnml theme settings for update v2.3.0.

A huge thanks goes out to everyone who’ve sent kind words, and a special thanks to those who’ve parted with cold hard cash to support my efforts on this project. Yeah, that’s a bit of a shameless plug… Do you blame me?

My mind is blown, and my heart is full.

Oh, and yes, I still have ideas to work on…

✌🏻❤️