How to set iTerm2 window and tab bar to show current path

I tend not to use tabs and instead have a bunch of windows so I originally wanted to know how I could set my window title bar to show the current path, but in this post I’ll share how to do both in iTerm2.

Here is a screenshot of the iTerm2 Preferences window showing Profiles -> Window.

Screenshot of iTerm2 Preferences Window showing how to set custom window title and custom tab title

For custom window title you’ll set \(currentTab.currentSession.path).

For custom tab title you’ll set \(currentSession.path).

And that’s it!

Here’s what it would look like in iTerm2:

Screenshot of iTerm2 with custom window and tab titles

And here’s the Stack Overflow question I found that solved this for me. Wanted to blog about it so that I remember how to do this in the future.

How to see git authors per line in Xcode

In my previous life I used a tool with VSCode called GitLens. What it does is show you what the last git commit for a selected line was. When you hovered over the greyed out text to the right of your code line, you’d get a little popover with more info about the commit. This is a really handy tool for quickly figuring out who made what change and when.

GitLens screenshot

Today I work mostly in Xcode and sadly Xcode doesn’t have this extension nor support this feature. It does however have something that shows you who changed each line and a brief commit message to try to provide some insight.

Screenshot of Xcode showing it's author view and popover for git commit information.

You can access this with ctrl + shift + cmd + A or find it in the Editor Menu for Xcode.

Xcode Editor Menu showing the Authors menu item and shortcut.

I'm working on an iOS app

I’m working on an iOS app and I’m getting so close to releasing the 1.0. I was looking at App Store Connect and noticed that I needed screenshots and I remembered that Fastlane has the ability to automate screenshot creation.

Pretty cool I think. So I go through the process of setting up and starting to work on the UI Tests that need to run in order to trigger the screens I want to show and then it hits me.

The app I’m working on uses MusicKit and unfortunately the Xcode Simulators aren’t able to really do anything with MusicKit i.e. they can’t search or play music which is kind of a big deal. This hadn’t been much an issue during development because I could just run the app on my phone.

From what I can tell I will not be able to use Fastlane to automate this screenshot creation because it relies on using simulators for running the UI Tests that would then capture screenshots. What a bummer (though I sure hope I’m wrong!).

Fortunately I found another resource from Benoit Pasquier that might make it possible for me to use UI Tests to automate screenshots to some degree. It won’t be quite as extensive, but my wife has a regular sized iPhone and I have a big one so at least I’ll have two sets of screenshots. No luck on the iPhone SE size. Hopefully that isn’t a dealbreaker, but we’ll see. This is all very new to me.

This is my first time writing (re: rambling) about this app and if you’d like to hear more or be invited to the TestFlight, feel free to comment on this post or shoot me an email at nick_kaczmarek@icloud.com.

Cheers πŸ₯‚

A word that doesn't exist and yet it does.

I’ll make it easy on you, this is the word: smalm

I was playing Wordle with my brother and dad the other day and my dad sent me a word he tried, but he was confused because autocomplete kept correcting it. He had never heard of it. Neither had I.

I looked in the dictionary for the word and I couldn’t find it. I did a web search and couldn’t find it. Then I checked in the unix word list to see if I could find it there.

I found it!

But then I still couldn’t find a definition.

I did eventually find a couple links to it on the web for scrabble word lists.

My guess is that like map makers, dictionary makes must create fake words as a sort of copyright mechanism to check if people are copying their work. And because word game makers can’t check every word to see if they’re real, they include a word from a common list of words.

Don’t believe me that it doesn’t exist?

terminal window showing me searching from smalm

References

Video talking about locations that don’t exist

DuckDuckGo search for smalm

Google search for smalm

P.S. both searches think I’ve mistyped smalm and meant small but in any case you still won’t find anything.

HTMLInputElement type number fun fact

I am a web developer by day and was working on a feature that was supposed to create an input field that could only accept numbers. Super easy right?!

<input type="number" />

I’m demoing said feature to the client (after having tested this) and I’m bashing on the home row and nothing is printing. I type some numbers and they print. Then I grab some text and paste it in an bam, a single letter e. That’s weird. I try another word. Another letter e. Hmm. I tell the client we’ll look into it.

I shared this with a coworker and they were able to produce the same behavior. I then decided to look up the issue on the internet and of course this is a well known thing. I dig a little deeper and realize that the HTML spec allows for this behavior because of floating point numbers. For instance 2e5.

Anyways, that was a fun little journey.

Link to the HTML spec for input type=number

Drafts custom action to create new draft in current workspace with keyboard shortcut

I made a Drafts custom action that looks at the current workspace, grabs the tags, and applies them to a new draft that is opened in the editor. It also supplies a keyboard shortcut:


(option + control + command + N)

βŒ₯βŒƒβŒ˜N

I hope someone else finds this as useful as I do.

Link to action

Code

/// a drafts script that looks for the current workspace 
/// and adds a new draft with the associated tags
/// then opens that draft in the editor

const currentWorkspace = app.currentWorkspace;
const workspaceName = currentWorkspace.name
const tags = currentWorkspace.tagFilter.split(",");

let d = new Draft();
tags.forEach(tag => d.addTag(tag));

editor.load(d);

It’s kind of odd that we call some plants weeds and some not. If you’re planting a plant and something else is growing with it that you didn’t plant, you’re planting the weed.

Site Analytics with GoatCounter

I haven’t been blogging for very long, but I was very curious about who (if anyone) might be seeing my site. So I looked around a little for an analytics platform I could use that would respect user privacy. I found one called Plausible Analytics that looked really nice, but I didn’t want to pay anything (I know, I know) and I also didn’t want to host anything (which also costs money). I eventually found something called GoatCounter and it seems like it’s just the right tool for the job.

I am shocked to find that not only do people see my site, but apparently it’s more than 1 or 2. From March 31 until now (June 6th), I’ve received 91 page views!? That’s peanuts compared to more established people but I’m pretty happy to learn this.

Something really nice about GoatCounter is that it gives you pretty basic data about who/what is seeing your site. Because I chose something that doesn’t want to infringe on user’s privacy, I can only see browsers, referrers, systems (OSes), device categories (Phones, Large phones, etc.), country of origin, and language. This is a lot, but I am still so curious who is seeing my site.

I doubt many will see this post, but if you’re bored send me an email at nick.s.kaczmarek@gmail.com and say hello. You can also tweet at me at @nickkacz. If I’ve written anything helpful or useful, I’d love to hear from you.

Cheers,
Nick

How to fix "waiting for other installations to complete"

I was trying to install an app (MS Teams) but was seeing a strange message from the installer:

waiting for other installations to complete

I found something on stackoverflow.com on how to fix it and it worked like a charm:

sudo killall -1 installd

Note: I did not run the command to remove any locked files, just filled the process and tried the install again.

Hopefully this helps someone else (or future me).

MarsEdit Download Preview Template Feature

I use an app called MarsEdit to author my blog posts. I really like it and I recommend anyone using a Mac to check it out. Great piece of indie developed software that just works.

Something cool that it enables is the ability to preview your post in the style of your blog. The template that comes with the app isn’t bad but of course it likely doesn’t match your site. In the past I’ve gone into the web inspector in Safari and took the html for my site and put it into the preview template.

I just learned however that MarsEdit has the ability to download a preview template from your website. I clicked the button and ~10 seconds later I have a preview of my site that just works. What an amazing feature. I don’t know if it’s new or not, but really appreciate the coolness factor.

Thanks again Red Sweater Software and @danielpunkass!

Universal Control on macOS and iPadOS

I’ve been using Universal Control since yesterday afternoon and I really love it. It’s seamless and I especially appreciate being able to isolate certain things to the iPad. This is particularly useful because I often pair program at work and it makes it so that I can talk to my wife or whomever without having to stop sharing or share that potentially private info. I wish the iPad could enable some sort of screensaver because I have some worries about it showing the same black text on white screen for most of the workday, but it’s not a deal breaker. If you have the means, I would highly recommend giving it a try. It feels even better because I’m using the Magic Trackpad so I can do all the gesture things on iPadOS.