Tag: macOS

  • Apple Doesn’t Want You to Uninstall Software

    Apple Doesn’t Want You to Uninstall Software

    If you use a Mac for any period of time, you will slowly accumulate a raft of applications. But what happens when you want to remove an app you no longer need or use? In this scenario, users are often left to discover third party uninstallers, such as Pearcleaner, CleanMyMac or AppCleaner. Reviews across the Internet have been mixed, with regard to their effectiveness at removing all traces of a given app. (Personally speaking: I’ve used all three, and haven’t had any issues.)

    But it brings me to my main point: Why doesn’t Apple include its own uninstaller app?

    In the year of 2026, the exercise of removing apps is left to the user. And it’s not as simple as dragging an application into the Trash.

    How very un-Apple like.

    -Krishna

  • Floppy Disks on a Modern Mac… with a Twist

    Floppy Disks on a Modern Mac… with a Twist

    Remember when software could fit entirely on one floppy disk?

    If you used a computer in the late 80’s, this was the norm. Hard drives were a luxury for many of us, so the almighty floppy disk was our only means to load programs and games. For context: my first computer, an Apple IIGS, came with one external 3.5″ 800K drive and one external 5.25″ (140K) drive. For computers of that era, it was commonplace to insert a disk, power on the computer, and wait anywhere from 30 seconds to a minute for an application to load. (We were more patient back then.)

    I seriously doubt that anyone still yearns for the days of using floppy disks. But being forced to use floppies had a profound impact on developers from that era. They had to squeeze a lot of capabilities within a seemingly paltry amount of storage.

    With gigabytes and terabytes of data being the norm nowadays, developers have no incentive to create fully optimized applications. As a result, modern software is mostly bloatware, getting larger and larger in size with each new release. (I’m looking at you Adobe, Microsoft, and Apple.)

    The mindset of shipping something small, fast, native, and single-purpose is largely lost upon most modern developers. But one guy is doing something about it. Matt Sephton created a clever macOS screensaver called Fits on a Floppy, which thoroughly embraces the mindset of late 80’s development: speed and efficiency, in an almost meta way.

    Fits on a Floppy.

    Fits on a Floppy is like After Dark’s Flying Toasters screensaver, if the toasters were replaced with a variety of 3.5″, 5.25″ and floppy disks. And if you’re feeling fancy, you can also toss in a few miniDiscs into the mix.

    What I really appreciate about this screensaver is the attention to detail. Each and every disk that floats by is adorned with its own custom disk label. Watching the screensaver for a few minutes filled me with a wave of nostalgia. Fits on a Floppy isn’t bare-bones, it comes with several customization options – such as Disk Count, Disk Scale, Speed and more.

    Fits on a floppy options.

    Fits on a Floppy, true to its namesake, fits inside a 1.44MB disk. (I wouldn’t expect anything less.) It’s also free, so what are you waiting for? And while you’re at it, check out the rest of Matt’s apps.

    -Krishna

  • A Deeper Look at MarsEdit

    A Deeper Look at MarsEdit

    A few weeks ago, I wrote about my Mac blogging software stack. I use MarsEdit to write my posts. This week on the RocketYard blog, I take a deeper dive into MarsEdit’s offerings and why I prefer using it over the built-in WordPress editor.

    -Krishna

  • Paletro: Turbo-charged Mac Menu Search

    Paletro: Turbo-charged Mac Menu Search

    Paletro brings fast, keyboard-based search to your macOS Menu items. Using a custom assigned keyboard shortcut (initially set to Command-Shift-P), I can easily search and traverse menus for the app I’m currently working in.

    Paletro invoked within MarsEdit.

    Using Paletro has changed my Mac productivity ten-fold, because my hands never have to leave my keyboard to use it. It’s particularly handy for apps that have sprawling menu items, like Photoshop.

    Paletro invoked inside Photoshop

    Read the rest of my review on the RocketYard blog.

    -Krishna

  • Pica Brings Delight to Mac Font Management

    Pica Brings Delight to Mac Font Management

    Pica is a new font manager for macOS. With it, you can easily view, categorize, and preview your Mac’s collection of typefaces. I’ve spent a day playing with it and wanted to share my first impressions.

    First, Pica is fast!

    It takes full advantage of all the benefits that come with being natively written for the Mac. (This isn’t some janky Electron app.) Even the installation process is filled with whimsy and delight. Notice the beautiful attention to detail in the Installer below.

    Pica installer

    After installing Pica, you’ll be treated to series of falling typefaces that fill up your Mac’s screen. Unexpected, but delightful! 

    Pica whimsy.

    Pica lets me organize my typefaces the way I want; I can group typefaces into Serif, Sans-Serif, Display, Mono, Script or Decorative categories.

    Pica lets you organize fonts by category.

    Pica offers several thoughtful customization options for viewing fonts. For example, I can view a typeface in black, white, or as any other HEX color value. This is great for designers!

    Pica color customizations.

    I can also quickly change the background color of the app to see how it works with the typeface.  With Pica, I can see what a green typeface looks like placed in front of a yellow background. (It’s not so great, as it turns out.)

    Pica type gallery.

    Pica custom text preview.

    Pica offers full OpenType support, one-click font activation and something called Watch Folders

    Pica watchfolders.

    Here’s how it works: Select a folder for Pica to “watch”, and each time the folder gets a new font update, Pica will display it. Translation: Pica lets me view typefaces that are not actively loaded onto my Mac.

    Why use Pica when macOS already comes with Font Book

    In a word: customizability. Pica not only lets me preview custom text across every typeface I have on my Mac, it lets me quickly adjust font size and font weight independently via two top-located sliders. Typefaces can be viewed as a grid or stacked vertically.

    Font Book, by comparison, is pretty basic. 

    Pica extends beyond the fonts you have locally on your Mac. Click the “Discover” option and you’ll be treated to bold and unique typefaces created by some of the world’s best font foundries.

    Pica is a native Mac application, which means it takes full advantage of macOS’s underlying architecture. Best of all, it’s free.

    If you spend considerable time working with fonts on your Mac, Pica’s a no-brainer download.

    -Krishna

  • Create an Alfred Workflow to Toggle macOS File Sharing On and Off

    Create an Alfred Workflow to Toggle macOS File Sharing On and Off

    Let’s talk about macOS File Sharing, an option I use almost daily. On macOS, File Sharing lives under:

    System Settings → General → Sharing → File Sharing

    That method works fine if you only need to toggle it occasionally. But I need File Sharing ON when I bring my laptop home, and OFF when I’m about to take it with me when I leave for work. Visiting the System Settings each time to toggle File Sharing was getting tiresome.

    So I decided to do something about it.

    Below is a custom Alfred Workflow I made called File Sharing Toggle that I’ve tested on both Macs at home.

    My Alfred Workflow has three options:

    Turn File Sharing ON
    Turn File Sharing OFF
    Check File Sharing Status

    The ON/OFF actions toggle File Sharing appropriately and displays a dialog box showing the current File Sharing state. A separate Status action displays a dialog box showing the result of a query on the current File Sharing state.

    What You Need

    My workflow uses macOS shell commands and will ask for your administrator password when turning File Sharing on or off. (It’s a small price to pay for the convenience.)

    Step 1: Create a New Alfred Workflow

    Open:

    Alfred Preferences → Workflows

    Click the + button and choose:

    Blank Workflow

    Name it something like:

    Toggle File Sharing

    Step 2: Add a Keyword Trigger

    Right-click in the workflow canvas and choose:

    Inputs → Keyword

    Use these settings:

    Keyword: fileshare
    Title: File Sharing Toggle
    Subtext: Turn SMB File Sharing on, off, or check status
    Argument: Argument Optional
    Screenshot

    Click Save.

    Step 3: Add a List Filter

    Right-click the canvas and choose:

    Inputs → List Filter

    Connect the Keyword object to the List Filter.

    Set the Keyword to fileshare and Argument Required. Then add these three list items.

    Item 1

    Title: Turn File Sharing ON
    Arg: on

    Item 2

    Title: Turn File Sharing OFF
    Arg: off

    Item 3

    Title: Check File Sharing Status
    Arg: status
    Screenshot

    Click Save.

    Step 4: Add a Run Script Action

    Right-click the canvas and choose:

    Actions → Run Script

    Connect the List Filter to the Run Script action.

    Use these settings:

    Language: /bin/zsh
    with input as: argv

    Paste this script:

    #!/bin/zsh
    
    ACTION="$1"
    MESSAGE=""
    
    case "$ACTION" in
      on)
        osascript -e 'do shell script "launchctl enable system/com.apple.smbd; launchctl bootstrap system /System/Library/LaunchDaemons/com.apple.smbd.plist 2>/dev/null" with administrator privileges'
        MESSAGE="File Sharing turned ON"
        osascript -e "display notification \"$MESSAGE\" with title \"File Sharing\""
        ;;
    
      off)
        osascript -e 'do shell script "launchctl disable system/com.apple.smbd; launchctl bootout system /System/Library/LaunchDaemons/com.apple.smbd.plist 2>/dev/null" with administrator privileges'
        MESSAGE="File Sharing turned OFF"
        osascript -e "display notification \"$MESSAGE\" with title \"File Sharing\""
        ;;
    
      status)
        if /usr/bin/pgrep smbd >/dev/null 2>&1; then
          MESSAGE="File Sharing is ON"
        else
          MESSAGE="File Sharing is OFF"
        fi
        osascript -e "display dialog \"$MESSAGE\" buttons {\"OK\"} default button \"OK\" with title \"File Sharing\""
        ;;
    
      *)
        MESSAGE="Unknown action: $ACTION"
        osascript -e "display dialog \"$MESSAGE\" buttons {\"OK\"} default button \"OK\" with title \"File Sharing\""
        ;;
    esac
    
    echo "$MESSAGE"
    FileSharing Script for Alfred

    Click Save.

    Your final Alfred Workflow Object Chain should look like this:

    Alfred FileSharing Object Chain.

    Step 5: Test the Workflow

    Bring up Alfred and type:

    fileshare

    You should see three options:

    Turn File Sharing ON
    Turn File Sharing OFF
    Check File Sharing Status

    Select Turn File Sharing ON. macOS will prompt for your administrator password, and you should see a notification:

    File Sharing turned ON

    Select Turn File Sharing OFF to disable it, and choose Check File Sharing Status to see a dialog with the current state.

    Status Dialogs

    Switching File Sharing states (ON/OFF) will show a dialog indicating the updated state. Checking File Sharing status will show the current File Sharing state.

    How the Script Works

    The workflow interacts with the macOS SMB service:

    com.apple.smbd

    To enable File Sharing:

    launchctl enable system/com.apple.smbd
    launchctl bootstrap system /System/Library/LaunchDaemons/com.apple.smbd.plist

    To disable it:

    launchctl disable system/com.apple.smbd
    launchctl bootout system /System/Library/LaunchDaemons/com.apple.smbd.plist

    Status is determined by checking if the SMB daemon is running:

    /usr/bin/pgrep smbd

    Final Result

    Toggle file sharing on with a simple Alfred command.

    Now you can type fileshare on in Alfred to quickly toggle File Sharing ON. Similarly fileshare off turns File Sharing OFF. And fileshare status will check its current state— no need to root around inside System Settings.

    (I did use AI to help me in writing the shell script.)

    -Krishna