CharlesSoft

Software you always wished someone would write

Pacifist icon Pacifist 3.6.2

Pacifist is a shareware application that opens Mac OS X .pkg package files, .dmg disk images, and .zip, .tar, .tar.gz, .tar.bz2, and .xar archives and allows you to extract individual files and folders out of them. This is useful, for instance, if an application which is installed by the operating system becomes damaged and needs to be reinstalled without the hassle of reinstalling all of Mac OS X, or if you want to inspect a downloaded package to see what it will install before installing it. Pacifist is also able to verify existing installations and find missing or altered files*, and Pacifist can also examine the kernel extensions installed in your system to let you see what installer installed them, and whether the installer was made by Apple or a third-party.

Pacifist is compatible with Mac OS X 10.9 or higher, including Mac OS X 10.15 “Catalina”. Pacifist requires a 64-bit Intel™ processor.

Pacifist has been well-reviewed in Mac publications over the years:

*This product includes software developed by the University of California, Berkeley and its contributors.


Odds and Ends

TimeTracker

TimeTracker is a quick-and-dirty application that displays the contents of your Time Machine backups, and shows what's changed since the previous backup. TimeTracker is in an extremely early state, and is as such very unpolished.

NibUnlocker

One of the fun things about the Mac going all the way back to the original was the way it stored user interface data for applications inside a separate stream called the “resource fork”, in a format readable by a tool named ResEdit. This allowed users to poke around inside applications and learn how their UIs ticked, and it was also helpful to developers, who could look at Apple's interfaces for examples when trying to figure out how to do something UI-related. In Mac OS X, this tradition continued, with ResEdit replaced by a tool named Interface Builder, and the resource fork replaced by a file called the “nib file” (with NIB standing for NeXTSTeP Interface Builder). Nib files contained even more information than the classic resource forks, and were of great interest to tinkerers and developers.

Until now, that is. In the last few years, Apple has been moving away from using nib files directly in projects. Instead, they have been encouraging the use of flat XML-based “xib” files which are converted to nib files on compiling the application. Since xib files are essentially flat, UTF-8 encoded text files, as opposed to nibs, which were bundled folders, xib files are much more SCM-friendly than nib files were. Unfortunately, however, the nib files to which they compile are not editable by Interface Builder, since they lack the class information that IB needs, and only include the raw data necessary for the application to reconstitute the objects. What's more, in Xcode 4, it is no longer possible to create nib files containing the tiny “classes.nib” and “info.nib” files that could make the file editable while consuming a negligable amount of space. Instead, the only way to make an editable nib is to make a copy of the entire xib file, and name it "designable.nib". Since a xib is essentially a less-compact representation of a nib file, this more than doubles the size of the nib, and is far less efficient than the old system was. Consequently, editable nibs are becoming rarer and rarer in the wild.

Enter NibUnlocker. NibUnlocker is an application that attempts to parse a non-editable nib file and output a xib file that Interface Builder or Xcode can edit. The resulting xib files do not contain all the information that was in the original xib file used to create the nib, however, so the xib file created by NibUnlocker will not be a complete replacement for the original. Although they should not be used in a project to compile a new nib file, as doing so may have unpredictable results, xib files made by NibUnlocker can be very useful for examining a nib file and seeing how it is constructed.

CocoaTADS

CocoaTADS is a port of the HTML TADS interpreter to Mac OS X. HTML TADS is a multimedia interactive-fiction platform, allowing you to play text adventure games (many of which can be found here), sort of like the Infocom games from the 1980s, except that HTML TADS allows not only text but also graphics, sound, and even animation. You can find more information about HTML TADS here. CocoaTADS is currently extremely pre-beta, and there are no guarantees on how well it will work on your machine.

OS9Experience

OS9Experience is a stupid little app that recreates certain behaviors that users of the classic Mac OS (meaning versions prior to 10.0) should be familiar with. If you feel a little nostalgic for the old days, this app may be just the thing for you! This app can be a fun addition to an unsuspecting co-worker’s Login Items. Now updated to work properly on multi-monitor setups, and available as a Universal Binary.

Horrible Coding Hacks


Note: The following applications are obsolete and should be considered unsupported.

BootCD icon BootCD

BootCD is a Cocoa app that creates a disk image that can be used to burn a Mac OS X boot CD with a working Finder and Dock on it. This utility is unfinished and still has some flaws, but works. The current version works much better than previous versions, and includes the ability to run Drive10 and other utilities, although Norton does not yet work from the CD.

Note: BootCD is unsupported, and is not compatible with Mac OS X 10.4 (Tiger) or later. Please do not e-mail me asking me about a release date for the next version, as no new versions are planned.

Macworld 4 Mice logoBootCD has received 4 mice in a review by Macworld!


DockDisks icon DockDisks

Click Here to download DockDisks 1.0b5.2, an unsupported hack that makes disks appear in your Dock when you insert them, allowing you to reduce clutter on your Desktop.


If you would like to contact me, send e-mail to