Load site modules...

Nickkaczmarek.com

Nickkaczmarek.com

an avatar

Nick Kaczmarek

Follow @nickkaczmarek on Micro.blog.

🌐 Visit Nickkaczmarek.com 🌐 Nickkaczmarek.com besuchen

✍️Write rieview ✍️Rezension schreiben 🏷️Get Badge! 🏷️Abzeichen holen! ⚙️Edit entry ⚙️Eintrag bearbeiten 📰News 📰Neuigkeiten

Webfan Website Badge

Tags: nickkaczmarek

Rieviews

Bewertungen

not yet rated noch nicht bewertet 0%

Be the first one
and write a rieview
about nickkaczmarek.com.
Sein Sie der erste
und schreiben Sie eine Rezension
über nickkaczmarek.com.

Nickkaczmarek.com News

I made some dal tadka with pickled onions and some garlic naan. It was delicious!

https://www.nickkaczmarek.com/20...

I made some dal tadka with pickled onions and some garlic naan. It was delicious!

23.12.2024 23:44I made some dal tadka with pickled onions and some garlic naan. It was delicious!
https://www.nickkaczmarek.com/20...

Excessively tall biscuit sandwich with Just Egg, Miyokos cheddar slices, Beyond Meat breakfast sausage, and Lightlife tempeh (marianted to...

https://www.nickkaczmarek.com/20...

Excessively tall biscuit sandwich with Just Egg, Miyokos cheddar slices, Beyond Meat breakfast sausage, and Lightlife tempeh (marianted to taste like bacon). Also biscuit made by my wife. No clue hat recipe she used but they are delicious.

15.11.2024 17:01Excessively tall biscuit sandwich with Just Egg, Miyokos cheddar slices, Beyond Meat breakfast sausage, and Lightlife tempeh (marianted to...
https://www.nickkaczmarek.com/20...

Plussing your iOS app by Sam Henri Gold

https://www.nickkaczmarek.com/20...

Another interesting article about “plussing” your apps by Sam Henri Gold on the Lickability blog.

The thing he’s describing sounds a lot like a design system or at least what I, as a developer, envision a design system being.

Some really useful tips are about spacing, color tokens, typography, empty states, and using context menus with buttons for advanced actions.

I have read this article before and it was really interesting. I want to remember it exists (and also reduce my tab count) so I’m documenting it here. My wife calls this concept a “commonplace book” or a “narration notebook”.

Plussing your iOS app

15.11.2024 16:30Plussing your iOS app by Sam Henri Gold
https://www.nickkaczmarek.com/20...

This was a few weeks ago, but my wife made an amazing potato soup. I also added some pimento cheese and it was a phenomenal addition. Thanks...

https://www.nickkaczmarek.com/20...

This was a few weeks ago, but my wife made an amazing potato soup. I also added some pimento cheese and it was a phenomenal addition. Thanks to Bangin’ Vegan Eats for supply the pimento cheese.

photo of vegan potato soup topped with tempeh bacon, sour cream, green onions and shredded cheesevegan potato soup mixed up and vegan pimento cheese added

15.11.2024 16:08This was a few weeks ago, but my wife made an amazing potato soup. I also added some pimento cheese and it was a phenomenal addition. Thanks...
https://www.nickkaczmarek.com/20...

Using protocol compositon for dependency injection by Krzysztof Zabłocki

https://www.nickkaczmarek.com/20...

I read an interesting article from Krzysztof Zabłocki today.

It was about using protocol composition in Swift to handle dependency management. I’m not sure if I could use this at work but wanted to save this article for the future if I could.

Essentially what he outlines is creating protocols that enable behaviors and then having the implementations live in some AppCoordinator type object and your consuming types declare a dependency typealias that is a concatenation of the various protocols you want and then you need only to inject the AppCoordinator type and it will handle providing only the types you need.

I like the part where you define protocols but I don’t know how scalable sticking all the implementations in an App-level type is. Perhaps his recommendation would be to have many domain specific types that implement the protocols you make.

I’ve had this tab open for months so rather than continuing to keep it open, I’m opting to use my blog to store it. Maybe that’s another post about a better way to handle notes about a topic or blog article without blogging. Maybe blogging is the way. I’m not sure…

Using protocol compositon for dependency injection

15.11.2024 15:39Using protocol compositon for dependency injection by Krzysztof Zabłocki
https://www.nickkaczmarek.com/20...

I don’t normally like to write negative posts, but something that is very frustrating is when the weather is finally nice enough to turn...

https://www.nickkaczmarek.com/20...

I don’t normally like to write negative posts, but something that is very frustrating is when the weather is finally nice enough to turn your air conditioning off and open all your windows and then someone is smoking cigarettes outside of your house. 🤢

9.9.2024 13:05I don’t normally like to write negative posts, but something that is very frustrating is when the weather is finally nice enough to turn...
https://www.nickkaczmarek.com/20...

Photo by Thomas Bennie on Unsplash

https://www.nickkaczmarek.com/20...

Photo by Thomas Bennie on Unsplash

Thomas bennie 1jlJrr4XGkU unsplash.

18.7.2024 12:41Photo by Thomas Bennie on Unsplash
https://www.nickkaczmarek.com/20...

Xcode How To: Naming Your Tests

https://www.nickkaczmarek.com/20...

I noticed something that might be of interest to y’all.

At one point I asked my team if the preference was to name test files as MyFileTests or TestMyFile.

I’ve noticed that for test files that end with Tests you get this nice output in the Counterparts menu where the test and the implementation file are linked.

This only works if the test is named MyFileTests and there isn’t any deviation. (ex. MyFile and MyFileTests and not TestMyFile)

What does Xcode show?

Screenshot of Xcode counterparts menu showing tests when test file ends with the word Tests Screenshot of Xcode counterparts showing test file and file name when test file name ends with the word Tests Screenshot of Xcode counterparts menu not showing tests when the test file name is prefixed with the word Test

15.5.2024 18:28Xcode How To: Naming Your Tests
https://www.nickkaczmarek.com/20...

Xcode How To: Run Tests Without Running All Tests

https://www.nickkaczmarek.com/20...

TIL: if you are running the same test case over and over you can mash ⌃⌥⌘G and Xcode will rerun the last test case you just ran.

Importantly this will just run whatever you had run just before. So if it’s a whole test case, it runs that again. If it’s a single test it will run that again. If it’s multiple tests, it will run that again.

From a friend: It also preserves the run many times aspect. So if you're running 1000 times, you can keep hitting it to run 1000 more times.

You can also run “selected” tests with ⌃⌥⌘U so if you select some text, you can run the tests within that selection.

Where can I find these in the Menu bar?

These options all live in the Product menu under Perform Action labeled as Test and Test Again.

How did I find this?

The reason I stumbled upon this was because I was adding tests to a file that exists and it’s taking me a couple tries to get it all right. I want to be able to edit the setup steps and then run the XCTestCase again without running the entire Test Scheme or Test Plan. I looked into Xcode key bindings to see what was there and found this.

Hope it can help someone else!

15.5.2024 18:15Xcode How To: Run Tests Without Running All Tests
https://www.nickkaczmarek.com/20...

Made a kind of chow fun the other day. Recipe was very easy to follow but I used a different soy based protein.

https://www.nickkaczmarek.com/20...

Made a kind of chow fun the other day. Recipe was very easy to follow but I used a different soy based protein.

2.5.2024 00:12Made a kind of chow fun the other day. Recipe was very easy to follow but I used a different soy based protein.
https://www.nickkaczmarek.com/20...

Option clicking a window...

https://www.nickkaczmarek.com/20...

Causes the window you’re focused on prior to the click event to hide.

I was trying to remember how to do this so I’m writing it down for future me.

This is something I heard @siracusa@mastodon.social talking about on a somewhat recent video epsiode of ATP.

Option clicking a window causes the previous window to hide on macOS

22.4.2024 19:45Option clicking a window...
https://www.nickkaczmarek.com/20...

How to fix WatchKit app WeatherKit issues

https://www.nickkaczmarek.com/20...

I made an iOS app that used WeatherKit. Everything was working as expected and recently I wanted to add an WatchOS component. Because I am adding the watch app to an existing iOS app, I added the target in Xcode and made sure to update the capabilities to the watch app so that it could use WeatherKit too.

Unfortunately I kept running into an auth error where when running the watch app, WeatherKit couldn’t created a jwt and therefore no weather data was making it to the app.

I then went to developer.apple.com and tried to add an identifier for my watch app but it wouldn’t let me. Saying the identifier was invalid. Argh!!! I was so confused.

I thought “maybe I need to wait a couple days for some process to complete”, but still no luck.

Finally I decided I’d make a fresh watchOS/iOS app and plug my weather framework into that, create a new identifier and everything would surely work. Right?!

Well then I get the exact same error in the developer portal! What the hell is going on.

Here is the important part: it turns out that in some cases Xcode automatically creates identifiers in the developer portal. You may see a bunch of identifiers that start with XC.

Then I realized that my watch kit app identifier was there the whole time! …if only the developer portal errors were clearer about why I couldn’t create a new identifier…

Anyways, then I clicked on my watchkitapp identifier, added the capability and the service for WeatherKit and voila, it worked!!!

tl;dr if you’re unable to create an identifier in developer.apple.com, check that the identifier wasn’t already automatically created for you. 🤷🏽‍♂️

12.4.2024 14:22How to fix WatchKit app WeatherKit issues
https://www.nickkaczmarek.com/20...

Xcode How To: Edit all instances of a word in a file with a keyboard shortcut

https://www.nickkaczmarek.com/20...

Menu: Editor -> Edit All In Scope (also shows key binding)

Keyboard Shortcut: Control-Command-E

I have used Xcode’s Refactor command many times and while it’s nice and useful, it is always buggy and really slow. Sometimes I just want to quickly edit something in the file I’m working in. This command seems to do that.

Hope this can help someone else as well.

12.4.2024 12:50Xcode How To: Edit all instances of a word in a file with a keyboard shortcut
https://www.nickkaczmarek.com/20...

Partial Solar Eclipse 2024

https://www.nickkaczmarek.com/20...

I live in South Carolina so I wasn’t in the path of totality, but I still wanted to see the eclipse. Unfortunately I forgot to get glasses, but I still wanted to see it. I was reading about when it would be happening and I learned that I could make a pinhole projector out of some boxes, tape, and a piece of paper.

pinhole project made of diaper boxes sitting in my driveway projection of the eclipse from my pinhole projector. shadows produced by a tree during the eclipse.

9.4.2024 20:10Partial Solar Eclipse 2024
https://www.nickkaczmarek.com/20...

It's a curse to know how to make software

https://www.nickkaczmarek.com/20...

Over dramatic title, but there is some truth to it.

As a software developer I know how to make things. Maybe not super well, but I can get there. I also like to pay for software that others make.

The thing I run into is that I sometimes feel like I can make the thing and so I do. There are some benefits of this.

  1. I save some money
  2. I learn how to make a thing
  3. It’s fun to reverse engineer stuff

The problem with this is that I have a ton of tiny little projects that don’t work quite as well because I get bored with the fine tuning and polishing. And then I have something that works well enough, but not as well as the original thing I based my software on.

This whole thing reminds me of when people are doing home improvement projects and there is an option to pay someone to do it, but someone feels like they can do it themselves.

Maybe this isn’t a problem or a curse at all, just a way to spend time working on something.

9.4.2024 19:46It's a curse to know how to make software
https://www.nickkaczmarek.com/20...

https://www.nickkaczmarek.com/20...

5.4.2024 21:02
https://www.nickkaczmarek.com/20...

Driving across time zones can get weird.

https://www.nickkaczmarek.com/20...

Driving across time zones can get weird.

1.4.2024 15:17Driving across time zones can get weird.
https://www.nickkaczmarek.com/20...

https://www.nickkaczmarek.com/20...

27.3.2024 17:23
https://www.nickkaczmarek.com/20...

https://www.nickkaczmarek.com/20...

27.3.2024 13:55
https://www.nickkaczmarek.com/20...

Swamps are pretty awesome

https://www.nickkaczmarek.com/20...

There are a lot of swamp haters out there. I was one of them before I moved to South Carolina. After having been here just over a year, I can say that swamps are amazing and truly beautiful. Highly recommend you come check out a swamp.

26.3.2024 19:00Swamps are pretty awesome
https://www.nickkaczmarek.com/20...

Recent trip to Magnolia Plantation and Gardens

https://www.nickkaczmarek.com/20...

Some azaleas, tulips, and wisteria from a recent trip to Magnolia Plantation and Gardens.

The azaleas out here are so vibrant. I haven’t paid attention to them if they’ve existed in other places I’ve lived but wow are they intense and so full of flowers.

Also there are so many varieties!

19.3.2024 18:53Recent trip to Magnolia Plantation and Gardens
https://www.nickkaczmarek.com/20...

Some sort of hawk at Middleton Place

https://www.nickkaczmarek.com/20...

These are from a little over a month ago, but I was able to sit here and film this bird for over 2 minutes. It was so cool to see the wind moving its feathers and how calm and focused it was (my words, I don’t know what it was thinking).

I’m so thankful to have moved somewhere that is warmer than where I used to live.

19.3.2024 18:50Some sort of hawk at Middleton Place
https://www.nickkaczmarek.com/20...

I got my bill for another year of Micro.blog and I remembered, “oh yeah, I should probably write things”.

https://www.nickkaczmarek.com/20...

I got my bill for another year of Micro.blog and I remembered, “oh yeah, I should probably write things”.

19.3.2024 18:47I got my bill for another year of Micro.blog and I remembered, “oh yeah, I should probably write things”.
https://www.nickkaczmarek.com/20...

I can't believe I live somewhere where flowers are blooming in February.

https://www.nickkaczmarek.com/20...

Common Camelia

Pictured is a Common Camelia. Could be an informal double, but I’m unsure.

5.2.2024 14:03I can't believe I live somewhere where flowers are blooming in February.
https://www.nickkaczmarek.com/20...

How to fix zsh completions

https://www.nickkaczmarek.com/20...

I was trying to add some zsh completions and I couldn’t figure out why they weren’t working. I had added them into a folder that I was running autoload on, but I still couldn’t get it to work.

I found this stackoverflow post and it saved me.

Here is what my .zshrc looks like now.


The code


autoload -Uz compinit && compinit

# enable case insensitive tab completion
zstyle ':completion:*' matcher-list 'm:{a-z}={A-Za-z}'
fpath=(/usr/local/share/zsh-completions $fpath)
source $DOTFILES/zsh-completions/_arduino_cli

NOTE: I set up environment variables for important paths hence the $DOTFILES line.

So what is this doing?

I think the gist of this is autoload compint (I was already doing this) and then source your completion files (I was not doing this).

I’ll probably later write a nice loop for this if I end up with more completions.

3.1.2024 02:28How to fix zsh completions
https://www.nickkaczmarek.com/20...
Subscribe

🔝

⬆️

⬇️