Create a Safari Extension to Extract Article Content

In this article, I’ll show you how to access a web page’s content, alter it using JavaScript, and display it using your Safari extension’s UI. Specifically, I’ll demonstrate how to display an article’s content in a popover. I often use Large Language Models (LLMs) to summarize articles when I’m unsure if they’re worth reading. Without the extension we’re about to build, I’d need to manually trigger Safari’s reader mode (⌘ + ⇧ + R), copy all content, and paste it into Claude or ChatGPT....

December 18, 2024 · Bartosz Kunat

Single-Key App Launching with Karabiner and Hammerspoon

For years, I wanted a way to launch my most-used apps with single-key shortcuts. While I knew tools like Hammerspoon could make this possible, I never found a key combination that felt right. I’d always end up disabling the setup, missing the functionality of keys like right control, caps lock, or escape. Everything changed when I discovered Karabiner Elements’ ability to create distinct mappings for different key events, such as short presses and long presses....

September 13, 2024 · Bartosz Kunat

Keeping Safari Windows Open: A Tab Group Workaround

tldr: In order to keep the current Safari window open when you close the last tab, use tab groups. Last month, I once again switched my default web browser to Safari. It has its quirks, but I missed it in a weird way. I initially switched to Firefox because of its stellar support for vim keybindings and some other extensions I started to enjoy. Even with all those improvements, I began to miss some niceties that Safari has built-in....

May 18, 2024 · Bartosz Kunat

Quitting Reels: Unveiling Instagram Deep Links

I’ve noticed that I’ve been wasting a lot of time watching Instagram Reels lately. This would not be a problem if I actually enjoyed the time spent doing it. However, this was not the case. I’m not only angry at myself after the fact, but I also usually feel miserable while mindlessly scrolling. It’s just that sometimes I lack the discipline to avoid it altogether. Ideally, I’d completely delete it from my phone, but I still need it for texting....

March 31, 2024 · Bartosz Kunat

Alfred Snippet Converter

A few months ago, I wrote about Alfred Snippets on iOS. In that article, I described the manual process of converting Alfred text snippets into macOS text replacements. Since then, I’ve had time to refine this project and add some new features. You can download the final Command Line Interface (CLI) or the macOS app from this link. Next on my list is the complete automation of the process of synchronizing Alfred text snippets with macOS text replacements....

December 27, 2023 · Bartosz Kunat

NextDNS: Breaking Bad Habits

My story begins with a quest for a reliable ad blocker for Safari. I used Wipr for years, but it started performing poorly. I tried AdGuard, but it required a root certificate for HTTPS traffic, which was a dealbreaker. PiHole seemed complex to configure, so I found NextDNS, a DNS-level content blocker promising effective ad and tracker filtering. I decided to try it. NextDNS: The Game Changer NextDNS turned out to be a game-changer for several reasons....

September 30, 2023 · Bartosz Kunat

My Alfred Setup

Last updated: 13/08/23 I’ve relied on Alfred as my daily driver for boosting productivity for years. However, I didn’t switch from Apple’s Spotlight overnight. It took three attempts before I truly embraced its capabilities. In this article I’ll share my Alfred setup and explain my most frequent workflows. Let’s dive in! The Initial Setup I’ve already described the initial setup in detail in New Mac Setup article, so be sure to check it if you’re interested....

August 13, 2023 · Bartosz Kunat

New Mac Setup

This note describes the steps I take when setting up a new Mac. This process could be mostly automated, but I can’t get myself to do it. It takes me around 90 minutes to go through all the steps. Let’s get started! Files to Import .gitconfig .zshrc Apps to Install Apps marked with “🌕” emoji are optional (it depends if it’s a work or a personal Mac). App Store Pause Clean Links Dynamo Meeter Preferences -> General -> Open at login Disable non-work related calendars Disable “Show countdown to next meeting” in Preferences -> Advanced Bear Notes Set themes Update Preferences -> Editor Set keyboard shortcuts Magnet Pixelmator Pro Balance Lock SourceryPro Vimari 🌕 Amphetamine 🌕 Color slurp 🌕 Boop 🌕 Wipr Web HomeBrew Alfred Disable both shortcuts for Spotlight Import preferences from /Users/$USER/Library/Application Support/Alfred/Alfred....

May 15, 2023 · Bartosz Kunat

My Productivity Setup

Today, I wanted to give you a high-level look at what tools I use to organize my work and life and how I use them. The setup I’m about to show you is a product of 5 years of refinement. I still tweak some things, so there’s a high chance it will evolve further in the coming months. Before we start, I wanted to mention that I’m deep into the Apple ecosystem....

February 18, 2023 · Bartosz Kunat

Alfred Snippets on iOS

Alfred allows you to save your frequently used text clips as Snippets. Over the past few years I’ve created hundreds of them. There’s one problem. Alfred snippets only work on your Mac. Today we’ll focus on how we can convert them into macOS snippets. That way, you’ll be able to use them across all your Apple devices! How Alfred stores snippets as a Zip archive. On macOS, you can open it with the Archive Utility app that’s shipped with the system....

January 25, 2023 · Bartosz Kunat