John’s Blog

My personal journal and blog. Subscribe via RSS


January 12, 2024

Week Notes: January 12, 2024

It’s been a very eventful January so far. A few notes from this week:

  • My son wants to be a YouTube gamer. Great! Luckily I have most of the gear needed for him already, but we needed to get a capture device to get the Xbox audio and video recorded. Trying out the Elgato HD60 X. So far it’s working perfectly. Fun project to try and figure out.
  • Picked up a copy of High Performance PostgreSQL for Rails. Scanning through it’s a lot of review for me, but some interesting pieces. Glad this exists.
  • Playing with various simple content managers this week. Trying to get some inspiration and ideas for a project. Stumbled upon Bear Blog. Nice little app!
  • Apple Vision Pro pre-orders begin next week, January 19th. It’s very often there’s an entirely new platform to build for. Cautiously optimistic about this one.
  • Set up a new project on Render. The platform has really improved a ton since the last time I used it a few years back. Having ‘projects’ to group services together is really nice. I don’t love that I have to pay $19 per user for a team access though. Especially if it’s just me, why am I paying $19/mo just for the privilege to use the platform? This project has a team of 3 so I’m paying $57 per month just to use the service. Not ideal for a small business. The rest of the services will have to be much cheaper to justify the extra expense over Heroku..
  • Also spent time experimenting with Kamal on Digital Ocean, Linode, and Hetzner. Overall a very nice solution and super easy to set up. Pairing this with a fully-managed database service seems like an attractive option.
  • What a mess of drama over the past week regarding the HEY calendar rejection then approval of the app. We’re working on another app of our own and have taken many steps to avoid this type of scrutiny.
  • And lastly, it was quite a week for football coaching changes! Bill Belichick, Pete Carroll, and Nick Saban all out. Saban on his own terms. I presume not the last we’ll see of the others…

Cold weekend ahead in Texas. Stay warm out there… 🥶

January 12, 2024

BBEdit 15

A new major upgrade release of my daily driver text editor for as long as I can remember. Instant purchase.

The major new features include:

A new Minimap palette shows a high-level overview of the active text document. This facilitates visualization of the document’s overall structure, as well as navigation within larger documents.

A nice addition, most editors have had this for years now. I don’t use them myself, but good to see. It’s a bit strange to me to have this in a separate floating window that requires more window management.

BBEdit 15’s joins BBEdit’s unique “worksheet” interface to ChatGPT, so that you can have conversations with ChatGPT right in BBEdit itself — no application switching or awkward copy/paste from a web browser.

Using ChatGPT in a worksheet is cool and works very nicely. Certainly more convenient than opening up a browser. They also can save as text documents so you can keep them around. They’re in markdown format, so easy to preview as well. Some sort of AI feature is table stakes these days for editors. I really wish they would go a step further and introduce some sort of “Copilot” like is available in VS Code for inline code suggestions and features. Someday..

January 8, 2024

Make a Damn Website

Louie Mantia, Jr.:

In the last 15 years, many people (myself included) were drawn to third-party solutions for presenting ourselves. For our résumés, LinkedIn. For portfolios, Behance and Dribbble. For blogging, Tumblr, Medium, and Substack. Instead of forums, Discord and Slack. But despite each of these advertising some amount of autonomy, in reality you have very little.
By centralizing not just your content, but yourself, on these sites, you rob yourself the opportunity to be more authentically you. In addition, a peer or competitor might appear next to you. It may not be great for you to have your competitor one click away from your own profile.
Therefore, I believe it’s everyone’s imperative to genuinely invest in making websites again. For ourselves, for our businesses, for our interests.

Yep.

January 6, 2024

JSON Feed

Updated the site feed to include a JSON feed, and now supporting just basic status feed posts. (like this one!) I like the idea of just being able to post simple thoughts, without concern for titles and specific formatting.

[Update 4/3/2025] After moving over to Ghost, this is no longer around. Subscribe to RSS!

January 5, 2024

Week Notes: January 5, 2024

Kicking off this year’s blogging challenge with some notes for this week of January 2nd. I’m keeping some thoughts as I work throughout the week of what comes up, what I’ve learned, and what I’m reading.

First week back after an extended vacation. Working after a break is amazing. I love what I do, and it’s a good reminder to be excited about what I’m working on. Need to take more breaks!

I’m removing Twitter share links from our site. I wanted to replace it with Threads, but there seems to be no way to directly share a link to a new ‘Threads’ thread that I can find. It seems that they really do not want news and links posted easily yet. One of the nice things about old Twitter was how easy it was to share things to it.

Ended up replacing the Twitter share button with a generic ‘native’ sharing control that uses the browser’s native control for doing so. This seems like a better idea than supporting one or two specific services. Just let people do what they want. Here’s a gist of a Stimulus controller to use native browser sharing menus.

We’re working on using AI-generated voices to read articles on Air Mail. It’s a fascinating process. Rolling out an internal test for this weekend’s issue and if all goes well will roll this out to subscribers in the coming weeks. I’m using a service called ElevenLabs to do the heavy lifting on the AI side. A very nice service and API to interact with.

For the new year, I’m starting out with some new structures for how the teams meet and collaborate. I really do resist regular standing meetings but we need to have a few to keep on pace. Without a regular cadence, it’s too much ad-hoc for me.

Upgraded two of my apps to use Turbo 8 betas. Just making sure everything is stable for now, but really looking forward to using the morphing pieces in some future functionality.

A nice post by Brad Gessler on the Fly.io blog about Turbo 8 tips and gotchas: 8 Turbo 8 “Gotchas”

My Hey email account was upgraded to use the new Hey Calendar feature. As I expected, it’s very thoughtfully put together and has some nice unique features I’ve not used before. It’s going to be a tall order to replace my use of Fantastical, but I’m giving it a fair shake.

We’re building an activity feed for one of our apps, and it was fun to research how ActivityPub works behind the scenes of Mastodon. This post from 2018 seems to be mostly still relevant and is really handy as a reference.

I’d love to make Air Mail fully ActivityPub compatible some day. Would be pretty cool to follow authors, topics, or a general feed directly from the publication on federated apps and sites.

✌️

January 2, 2024

Happy 2024

🎉 Happy New Year. Starting off the year with something old but newly energized: blogging. I’m going to treat this more as a personal traditional blog again. Just posting what I’m interested in, and sharing things I’m working on along the way. Casual and simple for now.

No promises for how long this will last, but going to try it out again. Let’s see how I do..

June 8, 2021

Achievement Unlocked: WWDC Keynote

Yesterday was pretty cool. During the Safari portion of Apple’s 2021 WWDC Keynote, for a brief few seconds, my work at Air Mail was featured. I was so busy trying to grab a quick screenshot, I missed the following few minutes where it was featured again. Just the icon and name the second time, but still really fun to see your work on the world stage.

A blurry Air Mail icon behind Craig Federighi 🤩

June 4, 2021

WWDC Wishes

It’s another June, and WWDC is right around the corner. The annual keynote is on Monday and will be delivered virtually just like last year. I really miss going to WWDC in person, but the virtual keynotes are really nice. It’s just a totally different vibe.

I’m not as plugged into the Apple ecosystem as I have been in years past, but there are so many things I’d like to see changed and improved this year. Here’s a few items for my wishlist:

  • iPadOS: The iPad hardware is so amazing and getting better every year. But the OS and its software ecosystem is quite rough. The multitasking situation is confusing at best. Features like widgets and the App Library from the iPhone aren’t fully-baked or even existent on iPad. But overall the software just feels incomplete and incapable of replacing a Mac for most use cases. I’m not one of the people that needs a fully developer-friendly Xcode environment on the iPad, but a step in the direction of pro workflows would be amazing. Let the hardware shine with a usable and robust operating system!
  • A stable macOS: Can we stop redesigning the surface layers on macOS, and spend some time polishing the internals of what’s already here? The standard apps, especially Mail, are less stable and useful than ever. Core operating system features like notifications are continuously broken for me. I shouldn’t have to force quit Notification Center daily. A stability and overall improvement is strongly needed here.
  • A Pro M1 Story: I know that WWDC is typically a software event, but the main thing I’m looking forward to over the coming months is hardware. The M1 is amazing, by almost all accounts. But we’ve only seen it on the low-end of the product range. What is the story going to be for the Pro-level products? MacBook Pro, iMac 27", and the Mac Pro. I’m not sure we’ll know next week, but this is a wishlist, not a prediction.
  • External display for the rest of us: The last WWDC that I attended saw the introduction of the Pro Display XDR: an incredible high-end monitor that cost $5k and didn’t even include a stand to put it on. The audience groaned when they announced the price. How about a monitor that the rest of the 99% of your users can justify, Apple? Let’s do this.

Looking forward to Monday!

May 21, 2021

New Things Round-up

In lighter news, it’s been a very busy few weeks for new product launches and interesting tidbits. Here are a few I’m following..

Ford F–150 Lightning: The all-electric F–150 is coming soon. There are some really neat ideas in here: powering your home in an outage, a ton of electric outlets around the vehicle, and more. Best of all: it looks pretty nice!

MKBHD’s M1 iMac Review: The colors on the new iMacs are delightful. Excited to see what pro offerings are to come (hopefully) later this year.

Federico Viticci’s M1 iPad Pro Review: As robust an iPad review as you’ll ever find here. The hardware is so amazing on iPad, and the software leaves so much to be desired. At some point this hardware deserves a better software OS experience.

iJustine’s Apple TV Review: “I love the new remote”. Thank goodness!

Cleanshot Cloud Pro: Cleanshot is my favorite sceeenshot tool for the Mac. It’s so well done and they just announced the pro cloud offering.

May 21, 2021

Success hides problems

The Basecamp situation is still bothering me. I’ve admired this company for so long and have applied many of the founders’ principles to my own ventures. I had often used them as way to describe how companies should work and think smarter. I find myself cringing thinking of them now, knowing how it’s ending up.

David Heinemeier Hansen had a follow-up post yesterday, with this curious paragraph:

We’ve also kept a watchful eye on the business. While there was a small uptick in cancelations for HEY during the first tumultuous week, they were more than offset by an increase in new customer signups for Basecamp. And now both products are growing like they were before that difficult week.

On the surface, I get it: they probably need to spend time reassuring their customers that the business is going to be fine. Portraying confidence and the ability to weather storms and challenges is a good thing.

But the attitude of “we’re fine and still making plenty of money” without a hint of remorse or humility is gross. It’s the type of thing that DHH has spent years criticizing about growth-at-all-costs Bay Area startups. He would have ripped other companies apart for putting this type of nonsense statement out there in the past, I’d like to think. It’s deeply disheartening to see this behavior continue.

It’s okay to admit you made a mistake and, importantly, clarify what that mistake was to show that you understand it. Mistakes are acceptable, and the community will forgive and move on.

May 14, 2021

CDC: The vaccinated do not need masks

It was quite the milestone yesterday with the CDC announcing that it no longer recommends mask wearing for the fully vaccinated people. This has been a significant change from recommendations even within the past few weeks, so it’s encouraging to see. We’re almost returning to normal!

May 4, 2021

Basecamp's Loss

The Basecamp story is getting weirder by the day. Since last week’s announcement, almost a third of Basecamp’s staff has resigned. A third! And perhaps growing. John Breen has a thread on Twitter with some of the folks.

These are not small losses for the company. The people in this thread are some of the most prominent and prolific employees and members of the open source community. Many of them have built the products we love and use everyday for over a decade. (Even if it was lesser-known folks, it would still not be ok. But the fact that there are such well-known names in the list shows what a problem this is.)

Sam Stephenson’s work in particular is worth calling out. I respect Sam and his work more than almost anyone in our community. The list of his contributions to open source software is incredible. He is among the people that have left the company and on his way out he announced that he’ll no longer make updates or releases to his projects. It is such a great loss for the community and I feel terrible for Sam that he was forced into this position. Thank you for everything, Sam.

I keep expecting to see an apology blog post by Basecamp’s founders. Surely it’s coming, right? Each day that we don’t see a “we really screwed this one up and here’s how we’re fixing it” post published is a bigger mistake. And let’s be clear: the problems at hand are deep and systemic and need more than a blog post to resolve. But you have to start somewhere. Updated May 5: Here is the blog post


Casey Newton’s reporting on the company has been excellent over the past week. His latest post sheds light on the internal meeting last week that led in part to the exodus. I don’t want to quote it in any specific spot, because the whole thing is worth a read and shouldn’t be taken out of context. It’s not particularly friendly towards the leadership team at Basecamp, and if all of these accounts are true, it shouldn’t be.

April 28, 2021

What’s happening at Basecamp?

I’ll admit it: this one has been difficult to read about and think through on my end. Basecamp is one of my favorite companies out there, if not the most favorite. I’ve followed the company, its work, and ideas since the early days of my career. I’m a customer of both of Basecamp’s current products and many others throughout the years. I’ve made most of my career working in Rails, created by David Heinemeier Hansson and in large part the team at Basecamp. So it stings a bit to see a company you admire miss the mark.

Miss the mark they did. This one is a mess and they’re feeling the heat from the community right now, for good reason.

It started this week with a post from Jason Fried about some changes at Basecamp. Several of them are worth discussion, but the one that has been causing most of the discussion is this point:

No more societal and political discussions on our company Basecamp account

My initial reaction to all of this is that it shouldn’t be happening in public. Basecamp is not a public company and its internal discussions and happenings aren’t really the business of any of us. If they are having an issue with political discussions internally, then they should sort it out internally.

Why is the CEO of a company letting its employees know about a very controversial change with a public blog post? Reading a few accounts of Basecamp employees I follow it’s clear that they were not briefed on these changes before the public post. This is a complete failure of leadership on many levels, but the most egregious is not handling it delicately with your employees before (if at all) posting the news to the public.

I’m not saying that the decision to make this change was a good one. But if you’re going to make such a change: talk with your people about it, understand them, and make sure it’s the right move to make. Starting the discussion in public communicates very clearly that the changes are not negotiable the decision is made regardless of how it will impact and affect the team. I think that’s wrong.

Here are a few other of the links and interesting happenings regarding this story:

  • Casey Newton, writing in his excellent Platformer newsletter, had some insight and details from employee interviews yesterday. It seems that a certain list of customer names from years ago had caused some of the internal controversy which led to the changes. It is worth a read to understand some of the reaction from various folks within the company itself.
  • DHH followed up this morning with another post “letting out” all of the details mentioned in Casey’s article from yesterday. This includes a brief note about offering severance to any employees that want to leave the company.
  • The Basecamp Rework podcast is “going dark” with a very odd message from the hosts, Wailin Wong and Shaun Hildner, about not being sure they want to continue. Yikes, this is a mess. Listen to the awkwardness in their voices.

April 22, 2021

Spring Apple Event

This week’s Apple Event had a few interesting details to me. I’m a few days late here after some travel, but catching up on all of the latest.

First, they could have stopped the entire presentation after the redesign of the Apple TV “Siri” remote and I’d have been happy. The current Apple TV remote control is one of the strangest products I think Apple has ever released. It seemed inexplicably designed by someone that has never used a remote control on a couch to watch TV. It was even stranger that it remained basically unchanged for so many years.

Many years from now, when the current Apple employees are retired and writing books, I hope we can learn about some of these questionable decisions (including the newly replaced MacBook butterfly keyboards) that went into this era of Apple design. There have to be stories here.

Second, AirTags look pretty nice. As rumored for several years, these devices will be used to locate anything you want to track using your iPhone. The only questionable decision here to me is why the new Apple TV remove doesn’t include this capability? I don’t have a problem with losing my keys in the couch, Apple. I’m losing the remote!

Lastly, Ted Lasso season 2 coming in July. I love this show and can’t wait for the next season to drop.

April 12, 2021

Embrace the Grind

Jacob Kaplan-Moss:

I often have people newer to the tech industry ask me for secrets to success. There aren’t many, really, but this secret — being willing to do something so terrifically tedious that it appears to be magic — works in tech too.
We’re an industry obsessed with automation, with streamlining, with efficiency. One of the foundational texts of our engineering culture, Larry Wall’s virtues of the programmer, includes laziness:
Laziness: The quality that makes you go to great effort to reduce overall energy expenditure. It makes you write labor-saving programs that other people will find useful and document what you wrote so you don’t have to answer so many questions about it.
I don’t disagree: being able to offload repetitive tasks to a program is one of the best things about knowing how to code. However, sometimes problems can’t be solved by automation. If you’re willing to embrace the grind you’ll look like a magician.

A nice little story about magic tricks too.