The Grouch

The Return of

The Grouch

The Return of the King of Trash: The Grouch 3.0 for Modern macOS

A Golden Era of Desktop Diversions

In the late 1980s, the Macintosh was more than a tool; it was a personality. While PCs of the era were stuck in the text-based world of DOS, Mac users were enjoying a GUI that felt alive. No single piece of software captured that whimsy better than The Grouch.

Created in 1989 by Eric Shapiro of Rock Ridge Enterprises, with graphics by Ken Hornak, The Grouch was an “INIT” (System Extension). Its premise was simple: when you emptied your Trash, a digitized green monster—instantly recognizable as Oscar from Sesame Street—would pop out of the bin, sing “I love trash!”, and disappear.

Origins at MacHack & The CTW Letter

The true story of The Grouch’s origin is deeply rooted in classic Mac developer culture. It was originally written for the “Best Hack” contest at MacHack in Ann Arbor, Michigan. As Eric recently recalled, “Every year 200 or so Mac developers came to the conference like it was summer camp for geeks.”

While The Grouch didn’t win the “Best Hack” contest (a later hack Eric wrote called VideoBeep eventually took home the prize), it became a runaway hit across the globe. Its massive popularity even caught the attention of the Children’s Television Workshop (the creators of Sesame Street), resulting in a legendary letter that Eric notes is “funnier in retrospect than at the time.”

A History of Versions and Evolution

The GrouchThe Grouch evolved significantly over its original lifespan, adapting to the rapidly changing hardware of the Macintosh:

  • Version 1.0 (1989): The original black-and-white release. To make the magic happen, it was a brilliantly clever INIT that patched the CopyBits trap to find the trash icon on the screen, and likely MenuSelect to detect when the user chose the “Empty Trash” command. It featured 1-bit graphics designed for the Macintosh Plus and SE.

  • Version 1.1: Introduced System 7 compatibility. This was a critical update as Apple moved away from the old System 6 architecture. It also improved the sound routines to work with the new Sound Manager.

  • Version 2.0 (The Color Era): As the Macintosh II and LC brought color to the masses, Version 2.0 arrived with vibrant 8-bit color graphics. To pull this off on color Macs, the extension likely patched CopyMask as well.

  • Global Distribution (Postcard-ware): Contrary to some historical myths, Eric never asked for money or even charitable contributions for the app. He released it for the pure fun of it. What he did get was global recognition. “I did enjoy getting postcards from around the world,” Eric remembered. “I remember getting one from The Ivory Coast only a week after writing the INIT, which astonished me.”

The “Impossible” Port: Modern Engineering Challenges

The Grouch 3.0 Splash ScreenRecreating The Grouch for the 2020s wasn’t a matter of simply copying code. The modern macOS is a “fortress” compared to the wide-open playground of System 6.

1. The Death of Trap Patching

In 1989, a developer could “patch a trap,” effectively intercepting the Mac’s heartbeat to see what the user was doing. Today, macOS uses System Integrity Protection (SIP). No app is allowed to “watch” the Finder’s internal commands.

  • The Solution: The 3.0 version uses DispatchSourceFileSystemObject. We monitor the kernel-level VFS (Virtual File System) events of the hidden .Trash directories. When the file count changes, the app reacts.

2. The Dock Coordinate Nightmare

In the classic Mac OS, the Trash was a desktop icon at a fixed coordinate. Today, the Dock is a separate process (com.apple.dock). It can be on the left, right, or bottom; it can be hidden; and most importantly, it magnifies.

  • The Challenge: Getting Oscar to appear exactly on top of the Trash icon regardless of magnification.

  • The Solution: I utilized the Accessibility API (AXUIElement) to “query” the Dock’s UI tree in real-time. By calculating the midX and minY of the Trash element and projecting those coordinates onto a global transparent NSPanel (set to the .screenSaver window level), we achieve a perfect “overlay” that feels native to the OS.

3. Audio & Animation Sync at 120Hz

The original sound was a low-bitrate “snd ” resource. For Version 3.0, the audio has been cleaned up, but the animation frame rate was a challenge. Modern ProMotion displays (120Hz) make old 10fps animations look stuttery.

  • The Solution: I implemented a high-frequency tracking loop. While the animation runs at a nostalgic 12fps (to match the original “jerkiness” of the classic Mac), the positioning of the character tracks the Dock’s magnification at a full 120fps. This prevents the “floating” effect where the animation lags behind the Dock’s movement.

Dedicated to a Legend

This modernization is more than a utility; it is a tribute. The original Grouch was dedicated to the memory of Jim Henson (1936–1990), whose work taught us that even the grouchiest among us have something to contribute. We continue that dedication with this release, ensuring that a new generation of Mac users can experience the simple joy of a singing monster in their Trash.

This software (The Grouch 3.0) is an independent, non-commercial tribute project. The developer of this version is not affiliated, associated, authorized, endorsed by, or in any way officially connected with Eric Shapiro, Rock Ridge Enterprises, Ken Hornak, or any of the original developers of the 1989 Macintosh version of “The Grouch.”

“Oscar the Grouch” and all related character names, likenesses, and sounds are trademarks and copyrights of Sesame Workshop. This project is a work of transformative fan-art/parody and is not sponsored by or affiliated with Sesame Workshop or the Jim Henson Company.

This software is provided for free and is intended for personal, nostalgic use only. It may not be sold, licensed, or used for commercial gain. All rights to the original characters remain with their respective copyright holders.