Posts

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

mnml Theme Update - Photos Page Redux

Hot on the tail of yesterday’s mnml update, I’ve released another update (v2.2.1) that better handles the loading and resizing of images when changing the size of your browser window.

Go to your Micro.blog plugins page to update.

Also, if you’d like the photo grid to not quite be full width, here’s a trick to make it just a little narrower, like I’m doing on my photos page. After setting the full width photos page option, add this CSS snippet to your Micro.blog Custom CSS (Design > Open Theme > Custom CSS) and save it…

main.photos-wide {
    max-width: 80rem;
}

That’s it. Adjust the max-width value to your liking. You can use either “px” or “rem” values. 1rem equals 10px in this theme, so 80rem is equal to 800px in the example above.

Other ideas are in the works. Keep an eye out if you’re using mnml… 🤓

mnml Theme Update - Photos Page

As I mentioned yesterday, I recently discovered that the photos page for my mnml theme was not rendering images on the photo page very well without using one of the plugins available in the plugins directory. I’ve released an update to version 2.2.0 that fixes this.

While I was at it, I included an option to display your photos grid in either a wide or narrow format. Wide format will show a four-across grid, whereas the default (unchecked) option shows a three-across grid.

Mnml theme settings page higlighting the full width photos page option.

It should be noted that if you’re already using a photos plugin, that plugin will override the theme’s default photos page and the wide page format will not be enabled.

If you want to see the wide format in action, check out my photos page.

There’s still a little work to do on this, but it’s a heck of a lot better than what it was.

If you have questions, shoot me an email or ping me on Mastodon.

Enjoy! ✌🏻❤️

Apple Six Color Hello T-Shirt

Since I’m on the topic of t-shirts and swag, I just published a new design on Cotton Bureau of my take on the classic Mac “hello” graphic with the retro Apple six color palette.

Click the image to buy one of your own!

Unoffically Official Micro.blog Swag

If you’ve missed my previous posts about the Unofficially Official Micro.blog swag available on Cotton Bureau, here they are all in one place.

I just added the mug as an on-demand option.

Enjoy!

AppleScript to Generate Strong Passwords

I’d totally forgotten I wrote this AppleScript until I needed to create a strong password this morning. If you’re a Mac user and need to generate unique strong passwords, give this script a try.

It works really well when used along with FastScripts by Daniel Jaklut.

property allowedCharacters : {33, 35, 36, 37, 38, 42, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 61, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122}
property givenPasswordLength : 21 -- sets the preferred password length

repeat while true
	try
		set givenPasswordLength to text returned of (display dialog "Enter desired password length:" with title "Password Generator" default answer givenPasswordLength)
		set givenPasswordLength to givenPasswordLength as integer
		if givenPasswordLength is not greater than 0 then error "Please enter a valid positive integer."
		exit repeat
	on error errMsg
		display alert "Error" message errMsg as warning
		return
	end try
end repeat

repeat while true
	try
		set generatedPassword to generatePassword()
		set dialogResult to (display dialog "New generated password:" & return & return & generatedPassword with title "Password Generator" buttons {"Cancel", "Refresh", "Copy"} default button "Copy" cancel button "Cancel")
		if button returned of dialogResult is "Copy" then
			set the clipboard to generatedPassword as string
			exit repeat
		else if button returned of dialogResult is "Cancel" then
			exit repeat
		end if
	on error errMsg
		display alert "Error" message errMsg as warning
		return
	end try
end repeat

on generatePassword()
	set generatedPassword to ""
	repeat givenPasswordLength times
		set randomCharacterPosition to random number from 1 to count allowedCharacters
		set generatedPassword to generatedPassword & (ASCII character item randomCharacterPosition of allowedCharacters)
	end repeat
	return generatedPassword
end generatePassword

Even More mnml Updates

I’ve been a busy guy today. More updates to mnml are available for those using the theme.

This update adds compatibility for these Micro.blog plugins:

Thanks to @cygnoir for asking me to support them.

Another mnml Update

It seems I’m on a mnml theme development roll this weekend.

I don’t know why it didn’t dawn on me to do this yesterday, but I just added an option to easily set the Fediverse Creator meta tag in mnml – if you’d like to be able to do that sort of thing.

Auto-generated description: A settings interface with options for a custom avatar, Fediverse creator, category display, and footer credits.

The version 2.0.6 update is available in your Micro.blog plugins area. This will probably be all the changes I make for a while. Well, maybe…

Enjoy! ✌🏻❤️

Micro.blog mnml Theme Updates

If you’re a Micro.blog user who uses my mnml theme, I made a few updates I’ve been ruminating on for a while that makes it a little more customizable.

Once you’ve updated from your Micro.blog plugins page, you’ll see a new settings option to manage the customizations.

mnml Settings

Auto-generated description: A settings interface for customizing a website shows options for uploading a custom avatar, displaying categories on archives, and hiding footer credits, with buttons for going back and updating settings.

Each of these settings are outlined below…

The Custom Icon

Auto-generated description: A camera icon is displayed next to the text Jim Mitchell.

Many Micro.blog themes are coded to use your main account profile photo for the header image. If you run multiple blogs on the Premium plan and want to use the same theme for each of them, your sites aren’t easily distinguishable.

If you do want to distinguish one site from the other, this setting is how you do it with mnml. It also saves you from having to use some weird image for your Micro.blog account in order to brand your site the way you want.

All you have to do is add the complete URL to any image, and it will display instead of your profile photo. I recommend a simple image no larger than 256 pixels square for this, but feel free to experiment.

If you leave the URL field empty, mnml uses your Micro.blog account profile photo instead.

Easy-peasy.

Categories on the Archives Page

Auto-generated description: A menu bar labeled Archives contains tags for Photos, Thoughts, Posts, Videos, Links, mnml, and WeekLog.

Some people have asked how they can show their blog’s categories on the Archives page, while others have told me how much they like the fact mnml doesn’t do that.

Being the people pleaser I am, I came up with a way to make everyone happy. If you want to show categories, toggle the setting on and like magic, they’ll show up just like in the screenshot above. If you don’t want to display them, leave the setting off.

Auto-generated description: The text mentions hosting by Micro.blog, powered by mmm, and designed by Jim Mitchell.

Lastly, I’ve added a credit line to the footer of mnml to drive people to Micro.blog, the theme’s Github page, or my own site.

Some of you may not mind having something like this at the bottom of your site pages, and I’m grateful to those who leave it on. But some of you may hate it, so you have the option to turn it off completely. I won’t be hurt if you do.

Finally, if you’re someone who likes and/or uses mnml, consider supporting my development efforts. Just a buck a month from a handful of people makes all the difference in the world towards enhancements like these.

Enjoy!

Let me know questions or if you think of an enhancement I might not have.

App Defaults 2024

Since these are making the rounds again… I made more changes to my app defaults in the last year than I first realized.

Category Application
Mail Client Apple Mail
Mail Server iCloud Mail with custom email domains
Notes Bear Obsidian (with sync)
To-Do Things
Photo Shooting Apple Camera
Photo Management Apple Photos
Photo Editing Pixelmator Pro
Calendar Fantastical Apple Calendar (this move was forced 😥)
Cloud File Storage iCloud & OneDrive
RSS Reeder (with Feedbin) NetNewsWire (iCloud sync)
Contacts Apple Contacts
Browser Safari Zen Browser
Chat Apple Messages
Bookmarks Things Anybox/Micro.blog
Read It Later Things Anybox
Word Processing Microsoft Word
Spreadsheets Microsoft Excel
Presentations Microsoft Powerpoint
Shopping Lists Bear Obsidian (with sync)
Budgeting and Personal Finance Microsoft Excel/Bank Mobile App
News Safari/Reeder NetNewsWire (iCloud sync)
Music Apple Music
Podcasts Overcast
Mastodon Mona (and sometimes Ivory)
Password Management 1Password
Code Editor Nova Visual Studio Code
App Launcher Launchbar Raycast

Giving Thanks

I’m up early this morning. My plan was to get up at 4:00 am, put the turkey in brine and then go back to bed for a few hours. But as my mind is prone to do, I began pondering all the things in my life I’m thankful for.

So I thought I’d share some of them.


The greatest thing that ever happened in my life is my spouse and life partner.

Our meeting was totally by chance thanks to circumstances that aligned perfectly and a single photograph. Had one of them been just a little bit different, we would have never crossed paths.

We married after a nine-month courtship–and not for the reason you may be thinking. We were young and foolish and rushed into the permanence of marriage. A lot of people said we wouldn’t make it past three years, and there were challenges that took hard work, but after more than 31 years, I can’t imagine having spent them with anyone else.

She’s the rock that keeps me grounded and my inspiration to keep moving forward.


I’m grateful for my kids and the impact they’ve had in my life.

When my wife and I met, she had two young children from a prior marriage. I took them on as my own since their father chose not to be part of the picture. Then we had a child of our own together.

Raising children humbles a man–especially when raising step-children.

I won’t lie; there were hard times and challenges with them over the last three decades, but all three turned out to be level-headed moral adults.

I’m proud of the individual each of them have become and am humbled to see a tiny reflection of me in them.


I’m thankful I was given a chance to recover my health.

This year was a wake up call. It’s been nearly ten months since “the episode” and it still rattles me that it could have been the end of it all.

I see life differently now and am grateful for every morning I open my eyes, even when I don’t seem like it.


I appreciate that someone who is now a very close friend took the time to mentor me in my darkest hour and when my outlook of the future was grim.

He listened to me bitch about a lot of stupid stuff for almost ten years, but always challenged me to look at it from a different angle. I’m a completely different person thanks to his wisdom.

I’ll forever be in his debt for the change he made in me.


I’m glad for my job and the career path I landed in totally by mistake.

I may gripe about the grind of it sometimes, but I love that I’m challenged by the work. It allows me to be creative and bring something to life that makes the lives of others a little better.

I’m blessed to enjoy doing what I do for a living.


Then, I’m thankful for the little things.

Life is magical when you take the time to step back and look at it. Every moment in your life, good or bad, has lead to this moment, whether it’s good or bad. This good or bad moment will lead to other good and bad moments.

It’s a godsend to be able to look back and see how it’s unfolded over a lifetime.

I’m truly a very lucky man.


Of course, I’m thankful for you and the fact you took the time to read what I’ve just written.

I’m fortunate to have connected with some awesome people online. Though you and I may never meet IRL, I’m glad you share the insight into your life by what you write, and that you care enough about my own life to engage back with me.

Happy Thanksgiving to those who celebrate…

No to Everything Else

I took some time off work during the Thanksgiving holiday after grinding on a work project for a really long time. I’ve found myself at a point over the last six months where I just don’t feel effective and needed to figure out why.

During my quiet time this morning, I picked up "Hell Yeah or No" by Derek Sivers again. I bought the physical book a couple months ago with a plan to finish it quickly. But, as I tend to do, I read about 10 pages and then set it aside, telling myself I’ll get back to it eventually.

As I was powering through the book’s anecdotes, one jumped off the page and grabbed my attention.

“Hell yeah or no” is a filter you can use to decide what’s worth doing. But this is simpler and more serious. This is a decision to stop deciding. It’s one decision, in advance, that the answer to all future distractions is “no” until you finish what you started. It’s saying yes to one thing, and no to absolutely everything else.

I struck me that I’ve been saying yes far too often again. I’ll get a great idea for a project and dive head first into it, while having a half-dozen similar projects already in the works.

There are also commitments to others I’ve said yes to that I don’t want to show up for anymore. I have a bad habit of volunteering for something without thinking it through and it eventually becomes a drain on my energy.

What I need to do is focus on the “one big thing for now,” and only that thing until it’s finished. Everything else new is a hard no. There are still those commitments I have to show up for, but I don’t have to put 100% effort into them until the one big thing is done.

The challenge now is to figure out what that one big thing is.

No Words

I went to bed concerned with what I was seeing, but with the hope that democracy would do its thing and a tyrant would be defeated. I was confident common sense and a true sense of patriotism would prevail. I slept soundly.

I awoke to what I can only see as a disastrous future. I’m stunned, sickened, angry and scared all at the same time.

I have no words. I have many thoughts, but no words.

When this man was elected in 2016, I was not a fan of the outcome. My wife and I didn’t vote for him ourselves and we were sure then democracy would prevail.

Nonetheless, he ended up president elect and, though we thought better of it, my wife and I agreed we’d support the Office of the President since that’s what a good American does: Win or lose, you accept the outcome and support your country’s leader.

We changed our minds pretty damn fast.

Eight years later, we’re looking at another four years of what I can only call pure hell.

Has history taught us nothing?

I’m stunned. I’m sickened. I’m angry. And I’m scared.

I’m stunned, sickened, angry and scared because more than half of our nation believes an unhinged man with fascist tendencies is the best option to lead our country.

What have we come to?

Rome was once a great nation, but its time eventually came to an end. How close is America to its fall?

Far too close now, I fear…

The Unofficially Official Micro.blog Swag

You may have seen my teaser for this yesterday. Or not… 😁

Do you love Micro.blog and wish you could represent the platform while you’re out and about at the grocery store, sporting event, work or nerdy conference?

Well, now you can. 🎉

Introducing the “Unofficially Official” Micro.blog t-shirts and mobile phone cases, approved for distribution by @Manton himself.

Get yours from Cotton Bureau today!

Full disclosure: This merchandise is sold at cost. No profit is being made apart from what Cotton Bureau may make themselves.

I know I’ll be placing an order for mine once I’ve hit publish on this post…

Changing Link Colors for the mnml Theme

Since this question will likely come sooner or later…

When I was developing mnml, I wanted to give users the ability to set their own link colors for both light and dark modes. However, in my testing, there were challenges that would have caused colors a user set to get overwritten if I needed to release an update. So, another approach was needed.

If you end up using mnml yourself and want to change link colors, here’s how you do it…

In your Micro.blog custom CSS settings, add the following CSS snippet, adjusting the hex colors as you like. This example gets you a nice magenta color for both light and dark modes.

@media (prefers-color-scheme: light) {
  :root {
    color-scheme: light;
    --link: #ee4692;
  }
}
@media (prefers-color-scheme: dark) {
  :root {
    color-scheme: dark;
    --link: #ee4692;
  }
}

This lets you keep your preferred colors and lets me enhance the theme without suddenly surprising you. Win-win.

Week Log 2024-43

Taking ideas from a few others, I’m going to try something new and start a long form post of things that happened during the week. The goal is a stream of consciousness that gets published with minimal editing. Just write and publish – though some copy editing is allowed…

That’s it for this week. We’ll see if the Week Log series continues next week.

Time for the first meeting of the day…

Social Media Hasn't Killed the Personal Blog Yet

Remember the late 90s and early 2000s when personal blogs were the thing? Everybody had one and they were like online journals; authentic, raw, and an outlet for personal thoughts, ideas, and sometimes questionable opinions.

It kind of feels like those days are behind us, buried under the avalanche of social media. But are they really?

Social Media and the Decline of the Blog

It didn’t happen overnight. Personal blogs didn’t just disappear in one big poof. It was more like a slow fade. As Facebook, Instagram, and Twitter took off, people – me included – found it easier to share bite-sized pieces of life. Why write a long, reflective post to publish on your personal site when you could sum it up in a quick status update that some “friend” you don’t really even know could give you a mindless like?

Therein lies the rub. Social media is all about convenience – fast, visual, and designed for quick consumption – like fast food for the mind. Scroll, like, move on. Blogs, on the other hand, ask for your time and thought. They’re like the home-cooked meals we don’t have time for anymore.

Loss of Depth

Blogs were once a place for people to dive deep into ideas, emotions, and experiences. It wasn’t about only broadcasting the best parts of your life, but reflecting on the messiness, struggles, and painful lessons. You could get to know someone through their writing – see how they think, feel, and evolve over time.

Social media, on the other hand, with its character limits and algorithms pushing sensational, click-worthy content, doesn’t offer the same depth. Everything is a sizzle reel. You can still share long posts or threads, but how often do people really read them? We’ve learned to skim content, always hungry for the next hit of dopamine from a new notification or like.

Why Blogs Mattered… And Still Do

There’s something about the personal blog that social media can’t replace. It’s not just about the writing. It’s about ownership. On a blog, you control the narrative. There’s no algorithm deciding whether a post will be seen or buried. Your thoughts are out there for whoever chooses to engage with them, free from the noise of sponsored or promoted posts and trending hashtags.

While social media offers instant gratification – likes, short comments, shares – a blog provides something deeper: connection. Real connection, with people who take the time to engage with your words because they want to, not because a platform nudged them into it.

The Shift to Niche and Professional Blogging

Blogs were never really dead, but they’ve changed a lot since the early days. A good personal blog is hard to find now. Instead, we see more niche or professional blogs, where people share expert advice, reviews, or tutorials. These are useful, but often lack a personal touch that made blogging feel intimate back in the day.

Many of those people have turned their personal blogs into a business, focusing on SEO and monetization rather than genuine self-expression. While there’s nothing wrong with making money, it’s a far cry from the humble beginnings of blogging as a space for pure, unfiltered thoughts.

To be clear; you will never see an ad on my blog. This space is purely for my rumination – be it good or bad – and interactions with those who read.

Can Personal Blogging Make a Comeback?

Maybe. There’s a growing disdain against the superficiality of social media. People are beginning to tire of the endless scrolling, filtered versions of someone else’s perfect life, and the pressure to perform. People are coming back around to authenticity and real conversations. There’s no better place for that than a personal blog.

For those of us who still love the art of long-form writing, and who crave meaningful connections over mindless scrolling, personal blogs offer a haven. My site may not get the instant attention or the engagement of a social post, but that’s the point – it’s meant for something deeper.

Is social media the death of the personal blog? Not quite. It may have nearly killed it, yes. But for those of us willing to carve out our own space in the digital landscape, personal blogs still have a heartbeat. It just takes more effort to keep it alive.

What do you think? Is blogging a lost art, or is there hope for a revival? Start (or join) the conversation in the comments below. Or write about it on your own blog if you still have one and link back to this post. My site will automatically link back to yours – just like in the old days.

It’s time to get meaningful conversations happening again. Personal blogs are the perfect place for it.

My Internet Journey

I remember the first time I touched a computer. I was in my early twenties and worked as a customer service rep for the local water company, which was a fancy way of saying I played in the mud nearly every day.

The company had just switched over from a paper and pencil method of recording meter readings to a hand-held reader, which would be connected to a computer after reading a route for the day to upload results. It was a lot faster and saved the meter readers from having to take a bunch of books with them on their routes each day.

As a CSR, I had to be able to lookup a customer information, such as when they last paid their bill, the meter readings for the last number of months and so on.

Lou Plummer’s post about a computer being a hammer reminded me of how scared I was to touch the thing, worried I would somehow mess something up and cause everything to crash. But I learned it, and soon found it to be a useful tool.

Fast forward a few years. I decided that playing in the mud was not something I wanted to do for the rest of my life, so I pursued learning accounting at one of those fly-by-night technical colleges that were prolific in the early nineties. This is where I learned to type by touch – a skill a lot of people could still use to learn.

After graduating the tech college, I landed an accounting job at Guitar Center corporate, which you’d think would be a musician’s dream. I found it to be boring with little opportunity for creative expression. After moving from accounting to the inventory management team, I first got my hands on a Mac SE.

I would travel to the stores across the country and inventory their hardware and accessories. The Mac SE was used to reconcile the serialized product they kept on 3“ x 5” index cards to our inventory sheets. This is where I learned 10-key by touch. I also learned how to use MacPaint and Excel to create flyers for the band I was in.

I went on to another company doing clerical that also gave me access to a Mac. This is where I started helping others with their Mac problems. What they didn’t know is I was figuring it out on the fly, learning as I fixed their computer. I have a mind for problem solving, so I looked like a hero to my coworkers. I was still doing band flyers with MacPaint and Excel too.

The staff design artist decided he wanted to move on. He and I had established a rapport with each other as Mac bros, and when he left, I just sort of fell into his position. This is how I moved from accounting to design. The company was generous enough to send me to school where I got my degree in design. My new career path gave me full-time access to a Mac. I was in heaven. This is when learned the fine art of FTP.

I started hearing about this thing called the internet, which led me to sign up for AOL for a while. I moved on to eWorld shortly after. I still think eWorld was way better than AOL.

I somehow stumbled on this thing called FidoNet that is a network of individual computers. I began running my own Heremes BBS on a discarded Mac SE and put it up as a node the FidoNet network. I was finally online and had access to my own personal email. I’d tweak settings endlessly, learning about communication protocols. The year I ran that BBS was one of the most enlightening in my tech journey.

After that, I moved to an online internet provider named Z4 Internet that gave me a place to host my own web pages. This is how I taught myself to code html by hand using BBEdit. No WYSIWYG editors for this guy.

The years between then and now are a blur, but from then on, I was forever a traveler of the “internet super-highway” as I once put it to my wife. She thought I was a dork when I said it, but she gets it now.

At my next employer, I moved from design into database and web development where I learned to code Java, Javascript, and PHP while honing my html and css skills. By a stroke of luck, I landed in the Salesforce ecosystem nearly 15 years ago and have remained there ever since.

Somewhere in those years, I developed a Mac utility app named Yasu, which was short for “Yet another system utility.” I’ll have to write a story about that time one day. Being an indie Mac developer were some of the best years of my life.

My journey has been a series of right place, right time moments. I wouldn’t change any of them to be where I am today. I sometimes think back to that time I was so afraid to touch a keyboard at the water company. I can’t imagine a life without technology now. It’s allowed me some of my most creatively explosive growth and connections with people that mean a lot to me.

I’ve been blessed by my time on the internet to say the least.

A Bicycle and Barbed Wire

Here’s another one of those childhood memories that left a scar; literally. This one is about the time I tried to stop my out of control bicycle using a barbed wire fence.

It was probably as painful as it sounds. Honestly, I can’t remember if it was.

Around the time I was stealing cigarettes from my mother, I was also learning how to ride a bicycle. Wicked step-father and mom didn’t want to teach me. I was simply handed a bike and left to figure it out on my own.

Self-reliance ended up being a theme throughout my childhood, and is a big reason for my reluctance to rely on others to this day. Mom thought she was doing me a favor, but I’m not too sure about that decision…

Anyway, the bike mom and wicked step-father brought home for me was a blue and white Schwinn girl’s model. I recall that it looked fairly new, so they must’ve spent some amount of money on it – but dammit, it was a girl’s bike. Thank god we lived on a farm with no other kids around. I would have been the laughing stock of my peers otherwise.

To teach myself how to ride, I would run along beside the bike, and once I was running fast enough, I would let the bike go so it would “ride” along by itself. I have no idea why my seven year-old boy brain thought this was the way to learn, but it just seemed right at the time.

This went on for a while with me losing and gaining interest in the bike. Eventually, I somehow learned how to balance and pedal. I can’t remember how, but it happened because I’m able to ride a bike today. I have a vague recollection that maybe one of wicked step-father’s adult sons had pity on me and took it on himself to teach me.

Not long after figuring out how to pedal without falling, I got daring and chose to ride down the quarter-mile long dirt driveway. On the left side was a barbed wire fence, on the right side was a big open wheat field.

Since I hadn’t mastered the art of using friction brakes, which way do you think I ended up steering when I lost control? You guessed it. I steered towards the barbed wire fence.

As I got close to it, I instinctively reached out for the fence to slow myself down. I quickly learned that one does not simply stop when grabbing barbed wire. Nope. One continues on for a bit as the rusty barbs tear into the palm of your hand before you wind up stopping.

I can’t recall the pain, but I do remember the blood. Lots of blood. Did I end up getting stitches? No. Should I have? Probably.

After ditching the bike on the side of the driveway, I ran back to the house screaming hysterically, clutching my left wrist while the blood ran down my forearm. My hand looked like hamburger and I was freaked out.

When I got to my mother, she inspected it, washed the cut, put Neosporin on it and wrapped it with a couple Kleenex and the funky pink paper tape she wore at night to keep the curls at her temples in place while she slept. I wouldn’t call it a good field dressing by any means. There was no tetanus shot, and there definitely wasn’t a doctor visit.

I don’t remember anything about the incident after that or how my hand went on to heal, but it did. I think I’ve blocked all of it out. I did go on to ride the blue Schwinn girl’s bike without hitting any more fences.

It’s been more than 50 years since this happened and I can still make out the very faint long scar in the palm of my left hand. I always go back to this memory when I see any barbed wire fence. It’s left both a physical and mental scar that has lasted a lifetime.

Pour One Out for Henry

I’m saddened to learn of the passing of Henry Carvajal yesterday after battling cancer for a year and a half.

I can’t say he and I were close friends, but when I was active in the Long Beach Blues scene, I was privileged to have shared the stage with him more than a dozen times.

Henry had chops and a great voice. He had style too. And to top it off, he was one of the more gracious musicians I’ve known.

Auto-generated description: A band is performing on stage, featuring a guitarist, drummer, upright bass player, and harmonica player.

The photo above is the last time I got to play with him on New Year’s Eve, 2017. Henry’s on guitar, I’m on bass.

My wife and I went to support the band I used to play with and the evening turned into a jam session, as they always seemed to. Though I may not be part of that scene anymore, we have good memories of that night.

🥃 This one’s for you Henry. Thanks for being an awesome human. Rest in peace. We’ll catch you at the big jam in the sky one day…

The Day I Met Martin Mull

Hearing of the passing of Martin Mull reminded me of the time that I sort of met him quite by accident.

My daughter was a pretty good softball player in her early teens and would make the All-Star team in the town we lived in each season. I can’t remember what year or tournament it was, but we were at one of those all-weekend travel ball tournaments in Ventura, CA. It was still early in the morning and I went to the snack bar for a cup of coffee to shake the spiderwebs from my brain.

As I remember it, a humorous thing happened between me and the snack bar person. Out of nowhere, there was Martin Mull with a witty remark about the situation right next to me in line. I immediately recognized who he was, but was too starstruck to engage with him. I mumbled some incoherent thing back to him and walked off with my coffee. He must’ve thought I was a clod. I wish I’d handled that differently.

In hindsight, it struck me that he was exactly the same person I’d seen on TV so many times. His comedic timing was perfect for the moment. I think what threw me was that he was the one who engaged with me first. His level of fame allowed for him to just keep to himself, but he chose not to. That day, he was just another dad at the tournament with his daughter’s softball team.

I always remember the day I sort of met him when I see an episode of some sitcom he was in. I especially enjoyed his work in Roseanne.

In honor of his passing, I think I might watch a little Fernwood 2Night, tonight…

On The Fragility of Life

Events happen in our lives that make us do a full stop and give a long, hard look at how things are. This was one of those events that slapped me in the face so hard I’m still having a hard time grasping it.

About a week ago, I had a heart related event that sent me to the emergency room. It was serious enough that the doctor point blank told me it could have been deadly had I not paid attention to it.

When I woke up at 3:30 am last Thursday, my heart was palpitating and racing at over 150 bpm. I thought for sure I was having a heart attack. I woke my wife and we sped to the closest ER (she drove).

When the doctor examined me, my heart was in an state of Afib (atrial fibrillation). They pumped me full of drugs to bring my heart below 100 bpm and hopefully put me back into a sinus rhythm. They were able to get the heart rate down a little, but it fluctuated between 90 and 120 bpm for hours. They weren’t able to get me back into a sinus rhythm either.

Ultimately, I was admitted to the hospital. My heart finally went back into a sinus rhythm after 19 very exhausting hours. After several tests, the cardiologist was able to determine this is a defect I’ve had all my life. I’d had small episodes as long as I can remember, but never thought anything of it. It’s forcing some big changes to my lifestyle. Thankfully, I’m still here to write about it.

The most terrible and heartbreaking part of this story is that another man, just a year younger than me (having overheard his age), was put into the ER bed right next to me complaining of excruciating back pain. Like me, he walked in under his own power. Within 30 minutes of arrival, he went unresponsive and ultimately passed away from heart failure. The ER staff worked furiously to bring him back for a long time. At one point he did resuscitate, but before they could get him to the ICU, he crashed again. There was nothing they could do for this man. So tragic.

This all happened right next to my wife and I before we knew what was going on with my own heart. It scared the living shit out of both of us, and I’ll never, ever forget it.

Life is really fucking short and can be taken from you in a heartbeat – literally.

I should not be living to work. I should be working to live a full life with – and for – those most important to me. It’s easy to get wrapped up in a career. To hell with that now! Family and friends are what matter. And so does living a life that makes a difference to them. It took nearly six decades to see it clearly. I’m grateful I was shown the lesson with enough time to do something about it.

No matter what, hold your loved ones close. Let them know you love them every day. Patch the broken relationships even though it’s hard. Live each day with gratitude and wonder, because you could be gone in a matter of moments.

My 2023 Mac Apps of the Year

I planned on publishing a post like this myself, but @canion beat me to the punch, getting his out first… I’m going to use the same criteria he uses for making the cut:

For my purposes, to be considered an App of the Year, the software needs to be something I used extensively, value and enjoy. I also must feel I would miss them if they suddenly went away. Of course, it also needs to be a Mac App.

Without further ado, my list of the top five…

LaunchBar

I’ve been using LaunchBar since 2005, probably longer than any other Mac app I currently use, save BBEdit. I set up my wife’s old 2012 27" iMac last week to install macOS Sonoma via OpenCore Legacy Patcher, and through each step, I found my muscle memory wanting to launch some app with LaunchBar. I easily use this app a hundred times a day, every day.

Fantastical

I live and die by my calendar these days. For me, the only calendar application worthy of being used on a Mac is Fantastical, hands-down. The natural language input is super useful and slick. The premium feature I love the most is Openings. For my work, I’ve got too many people wanting to meet with me for this or that. All I have to do is give them a URL and tell them to find an opening. This has saved me hours. I hate subscriptions, but to me, this app is worth it.

Safari

I’ve been a Chrome user for many years now. But, two things made me change to Safari this year. First, Chrome has become a memory hog. As I write this, for the same five tabs open, Chrome is using 235MB of memory among 45 threads, whereas Safari is only using 151MB across 10 threads. Less memory and thread usage means better battery life. Second is the privacy philosophies between Apple and Google. Enough said on that one.

Ivory

I’ve been on Mastodon since 2018, but as the platform becomes more popular and my use picks up, I find myself leaning more and more on Ivory. I started out with Mona as my Mastodon client – which is a great app too – but I just find myself gravitating more and more to Ivory. I can’t put my finger on why. It’s just the one I prefer between the two.

BBEdit

Parts of my job require me to transform and manipulate large amounts of data in all kinds of ways. When it comes to a text editor (for .csv files), BBEdit is the application of choice for me. I’ve been using BBEdit since version 1.0, even longer than I’ve been using LaunchBar. I’d die without this app. For me, it’s worth the $30 upgrade every few years. If you’re a long-time Mac user, you know what BBEdit is and what it’s capable of.

Apps That Fell Off the List

Since this is the first year of my list, I can’t really say what fell off the prior, but these are the apps I’ve found myself using less and less over the last year or two.

  1. Reeder - in favor of NetNewsWire. Both are really great apps, and I’m flopping back and forth between the two right now, but NetNewsWire is slightly edging out Reeder.
  2. Google Chrome - in favor of Safari, obviously.
  3. Agenda - I like the calendar integration of Agenda, but like @canion, I’m leaning more towards Obsidian for note taking as of late.

Tinylytics for Micro.blog v3.1.0

Tinylytcis post header

I’m excited to share I’ve released a new version of my Tinylytics for Micro.blog plugin, bringing it to version 3.1.0. You should see an update in your site’s plugins section soon if not already.

This release adds features to link back to your public stats page on Tinylytics if you have it enabled, and show a webring avatar on the footer embed code if you so choose.

I’ve also created a dedicated page that explains the plugin’s options, how to use it, as well as providing some examples for styling the footer embed to get you going for your own site.

The plugin is of course free to use, but if you find it worth supporting, donations can be made via my Ko-fi page.

My App Defaults

I wasn’t going to do a post like this… But what the heck, all the popular kids are doing it this week, so why shouldn’t I? I’m not really much of a defaults guy. I’ve always preferred to support indie developers, so will usually go that route if their app is as good or better than the Apple default.

Category Application
Mail Client Apple Mail
Mail Server iCloud Mail with custom email domains
Notes Obsidian
To-Do Things
Photo Shooting Apple Camera
Photo Management Apple Photos
Photo Editing Pixelmator Pro
Calendar Fantastical
Cloud File Storage iCloud
RSS Reeder (with Feedbin)
Contacts Apple Contacts
Browser Safari (Chrome and Firefox for dev work)
Chat Apple Messages (Teams 🤮 and Slack at work)
Bookmarks Things
Read It Later Things
Word Processing Microsoft Word
Spreadsheets Microsoft Excel
Presentations Microsoft Powerpoint
Shopping Lists Bear
Meal Planning Don’t do meal planning
Budgeting and Personal Finance Microsoft Excel/Bank Mobile App
News Safari/Reeder
Music Apple Music
Podcasts Overcast
Mastodon Mona
Password Management 1Password
Code Editor Nova (VS Code when I have to)

Some extra utility apps in my toolbox I can’t live without…

The Beatles Song That Really Isn't a Beatles Song

There’s a lot of hubbub in the news and online about the “new Beatles song” that dropped yesterday. As a life-long semi-pro musician, this headline hits a sour note with me.

Hah! See what I did there? Anyway, my thoughts…

This song was one of many demos Lennon did after the band broke up. This is key. While we don’t know for sure, it’s unlikely he said to himself “This would be a great Beatles song. I should ring up the lads.” when composing the tune.

Lennon’s widow “gave” the demo tapes to the remaining Beatles years after his tragic murder and even longer after the band had officially broke up. The tape Yoko turned over is purported to contain at least three of Lennon’s demos, not just this one song.

Paul, George, and Ringo messed around with the recording, laying down all new tracks for the song. I’m sure they did this with the other demo songs too. But that’s all it is; they messed around with a demo of their deceased former bandmate. Lennon was not there to collaborate as a band member. Releasing a song as a “band” means all members have provided input on the final product. This fact alone makes the song not a Beatles song.

Fast forward 25 years. Now we have machine learning that can digitally enhance anyone’s voice, and even reproduce a near perfect representation of vocals from unrelated sample files. This is how Lennon’s lyrics were included in the song – by digitally reproducing and enhancing something that was barely audible to begin with. Ultimately, these are not Lennon’s true vocals. They are a damn good representation of the man’s voice enhanced by computers.

The use of AI bodes poorly for musicians who create their art. Will we start seeing demos of other bands which were never intended to see the light of day getting released by record labels as “the lost album of (band name here)”? I bet we will. We already are. As a result, the soul of recorded music is lost and it’s just become about the money for record labels.

The list of credits for this song is long. But in the end, it’s still just a well (over?) produced John Lennon demo and not a Beatles recording. He is the only “songwriter” who I believe should be credited.

Tinylytics for Micro.blog 3.0 Released

TinylyticsHeaderArt

It took a minute to wrap up, but I’m happy to announce that my Tinylytics for Micro.blog plugin has been updated to version 3.0, adding a bunch of new options to bring it to parity with Tinylytics.app features @vincent has released over the last couple of months.

Notable enhancements made:

New Users Save 20%

If you’re a Micro.blog user and you’ve been on the fence about signing up for a Tinylytics account, today is your day. New users can get a 20% discount on their first year of Tinylytics when using the coupon code found in the README file on the Github project page. That’s a whole $10 back in your pocket!

Note: This offer is only good for new users who select the one-year plan at sign up.

Updating

If you’re a current user on the Micro.blog platform, you should see a new version available in your site plug-ins area already. Just click the “Upgrade” button, then check out the settings to enable new features.

Tinylytics 3 update

For more details about using the plug-in, see the README on the Github project page.

If you have any other questions or find a bug, contact me through any of the methods in my site footer below.

Note: Uptime monitoring is a paid feature of Tinylytics. You’ll need to have a paid account for uptime stats to show via this plugin.

Tinylytics for Micro.blog v2.1 Released

TinylyticsHeaderArt

Hot on the heels of uptime monitoring on Tinylytics, I’m stoked to share that my Tinylytics for Micro.blog plug-in has been released as a 2.1 version to take advantage of it.

This release adds the following:

  1. The ability to use a Hugo shortcode to add a Page View Counter in a post without changing any site template files. This will display the actual views of a single post, rather than overall hits -- which can still be shown as a footer embed.
  2. The ability to show your site uptime embedded in the global custom footer of your Micro.blog site without changing any site template files.

Note: Uptime monitoring is a paid feature of Tinylytics. You'll need to have a paid account for uptime stats to show via this plugin.

You should see a new version available in your site plug-ins area soon.

For more details about using the plug-in, see the README on the Github project page.

If you have any other questions or find a bug, contact me through any of the methods in my site footer below.

Tinylytics for Micro.blog 2.0 Release

TinylyticsHeaderArt

I’m happy to share that my Tinylytics for Micro.blog plug-in has been released as a 2.0 version.

This release adds the following:

  1. A complete refactor/rewrite of the tracking code for better performance.
  2. The ability to use Hugo shortcodes to add Kudos and Hit Counter in a post without changing any site template files.
  3. The ability to add a Hit Counter embed in the global custom footer of your Micro.blog site without changing any site template files.

You should see a new version available in your site plug-ins area soon.

For more details about using the plug-in, see the README on the Github project page.

If you have any other questions or find a bug, contact me through any of the methods in my site footer below.

Tinylytics for Micro.blog Updated to 1.0.6

TinylyticsHeaderArt

Fresh on the heels of new Tinylytics.app updates, my Tinylytics for Micro.blog plug-in has been updated to take advantage of the new Kudos feature introduced in the latest release. If you look at your installed site plug-ins, you should see an update available as 1.0.6.

This release adds a checkbox to show Kudos along with the ability to set a custom label. See the project README on Github for more information.

Tinylytics config

Special thanks go out to @vincent for simply being an all-around awesome dude too.

New Plugin: Tinylytics for Micro.blog

TinylyticsHeaderArt

I published my very first Micro.blog plugin today: Tinylytics for Micro.blog. You can find it in the Micro.blog plugin directory.

If you’re using Vincent Ritter’s awesome web analytics platform Tinylytics, this plugin is for you. Rather than copying and pasting a line of Javascript, you simply enter your unique site id which can be copied from your site page once the plugin is installed.

Tinylytics plug in options

There’s an option to toggle the “Display Hits” option too.

To show hits on your site, you’ll need to modify your Micro.blog theme to make the hits show up. The easiest way to accomplish this might be to add code in the footer of your theme’s design area (Design > Edit Footer):

Footer edit

See this Tinylytics help article for more information on displaying hits on your site.

The plugin source can be found at this Github repo: https://github.com/jimmitchell/Tinylytics-for-Micro.blog.

Email me with questions or any issues you find.