<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
    <title>Mac Hacking</title>
    <link rel="alternate" type="text/html" href="http://machack.olethros.com/" />
    <link rel="self" type="application/atom+xml" href="http://machack.olethros.com/atom.xml" />
    <id>tag:machack.olethros.com,2007-07-21://2</id>
    <updated>2007-07-21T18:06:31Z</updated>
    
    <generator uri="http://www.sixapart.com/movabletype/">Movable Type Publishing Platform 4.01</generator>

<entry>
    <title>Launching at Login</title>
    <link rel="alternate" type="text/html" href="http://machack.olethros.com/login-launch-osx" />
    <id>tag:machack.olethros.com,2004://2.1083</id>

    <published>2004-06-22T14:11:48Z</published>
    <updated>2007-07-21T18:06:31Z</updated>

    <summary>Launching @ Login</summary>
    <author>
        <name></name>
        
    </author>
    
        <category term="Mac OS X" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://machack.olethros.com/">
        <![CDATA[<p>If you ever have a problem with items autolaunching at login and cannot disable them, the following information might help.
</p><p>
The following files are parsed when the system has finished booting and is autologging in or displaying the login screen.
</p>All Users<br />
<code>/Library/Preferences/loginwindow.plist</code>
Current User<br />
<code>~/Library/Preferences/loginwindow.plist</code>
<p>
Property List Editor (from the developers tools) should be able to edit this in a GUI format, however an example of this file is listed below:
</p><p>
Remove the offending autolaunched application and enjoy faster, trouble free startups...
</p>
<pre>
&lt;?xml version="1.0" encoding="UTF-8"?&gt;
&lt;!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"&gt;
&lt;plist version="1.0"&gt;
&lt;dict&gt;
	&lt;key&gt;AutoLaunchedApplicationDictionary&lt;/key&gt;
	&lt;array&gt;
		&lt;dict&gt;
			&lt;key&gt;Hide&lt;/key&gt;
			&lt;false/&gt;
			&lt;key&gt;Path&lt;/key&gt;
			&lt;string&gt;/Applications/ScanWizard 5 Folder/Microtek Scanner Finder.app&lt;/string&gt;
		&lt;/dict&gt;
	&lt;/array&gt;
&lt;/dict&gt;
&lt;/plist&gt;
</pre>]]>
        
    </content>
</entry>

<entry>
    <title>Create Package from Command Line</title>
    <link rel="alternate" type="text/html" href="http://machack.olethros.com/pkg-from-command-line" />
    <id>tag:machack.olethros.com,2003://2.1081</id>

    <published>2003-06-25T06:24:42Z</published>
    <updated>2007-07-21T18:05:36Z</updated>

    <summary>I&apos;ve had a few emails asking how to create OS X packages via the command line. A solution to this question is outlined here: http://www.macosxhints.com/article.php?story=20030619213002144...</summary>
    <author>
        <name>Alex McHugh</name>
        <uri>http://www.olethros.com</uri>
    </author>
    
        <category term="Mac OS X" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://machack.olethros.com/">
        <![CDATA[I've had a few emails asking how to create OS X packages via the command line. A solution to this question is outlined here: <a href="http://www.macosxhints.com/article.php?story=20030619213002144">http://www.macosxhints.com/article.php?story=20030619213002144</a>]]>
        
    </content>
</entry>

<entry>
    <title>not mac specific but works in safari</title>
    <link rel="alternate" type="text/html" href="http://machack.olethros.com/colour-zap-bookmarklet" />
    <id>tag:machack.olethros.com,2003://2.1080</id>

    <published>2003-05-13T18:01:27Z</published>
    <updated>2007-07-21T18:04:52Z</updated>

    <summary>web page sanity bookmarklet</summary>
    <author>
        <name>Alex McHugh</name>
        <uri>http://www.olethros.com</uri>
    </author>
    
        <category term="Mac OS X" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://machack.olethros.com/">
        <![CDATA[Sometimes I surf to pages that are simply unreadable, usually on geocities or angelfire.

I'd long seen bookmarklets that would allow you to set individually background colour and foreground text colour, however there were few that allowed you to overide a background image, at least few that worked in safari.

So I threw a few different scripts together to produce a bookmarklet I dub: <a href="javascript:%7Bdocument.body.background='null';void(document.bgColor='White');void(document.fgColor='Black')%7D">Sane Page</a>. This resets a page to black text on white background and it's only been tested in Safari.

It only works with old skool HTML that doesn't use style sheets. generally because those who have enough nouse to work out style sheets generally pick colour schemes that don't suck.

Enjoy.]]>
        
    </content>
</entry>

<entry>
    <title>despite the name; it&apos;s anything but bodgy</title>
    <link rel="alternate" type="text/html" href="http://machack.olethros.com/mpkg-chain-install" />
    <id>tag:machack.olethros.com,2003://2.1079</id>

    <published>2003-05-10T09:41:12Z</published>
    <updated>2007-07-21T18:02:26Z</updated>

    <summary>A while back I mentioned a way to slipstream all the Apple updates into the install CD, the details were for 10.1 but the same instructions apply for 10.2 despite the move to 2 CDs. You simply need to add...</summary>
    <author>
        <name>Alex McHugh</name>
        <uri>http://www.olethros.com</uri>
    </author>
    
        <category term="Mac OS X" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://machack.olethros.com/">
        A while back I mentioned a way to slipstream all the Apple updates into the install CD, the details were for 10.1 but the same instructions apply for 10.2 despite the move to 2 CDs. You simply need to add the new packages to CD2 and edit the mpkg contents list on CD1

Also, I have been using the same strategy without burning a CD. Instead i&apos;ve constructed a mpkg containing all the apple updates since 10.2 came out, including things like iTunes4 and iMovie 3.02. Of course the InstallationCheck and VolumeCheck scripts need to be disabled for each component pkg as described in the previous hint.

This has the advantage of reducing the repetitive optimisations and restarts.

Some are probably asking: but Apple puts out combo updaters now, why not use them?

My answer: sure, tack the latest Combo updater at the end of the mpkg install list and you will be assured of a more stable update. There is plenty of initial research which indicate that the combo updaters change more files than sequentially applying the incremental updaters. I suspect some of these changed files are due to small interim security updates being rolled into the combo updater.
        
    </content>
</entry>

<entry>
    <title>Hold on... that doesn&apos;t look like a mac</title>
    <link rel="alternate" type="text/html" href="http://machack.olethros.com/not-a-mac" />
    <id>tag:machack.olethros.com,2003://2.1078</id>

    <published>2003-05-10T09:34:26Z</published>
    <updated>2007-07-21T18:00:53Z</updated>

    <summary>This blog has gone pretty quiet recently, despite the fact there is plenty more to say. Also, this blog is not limited to discussing Mac S/W hacks. The following hardware related news has caught my interest recently. Core Box Core...</summary>
    <author>
        <name>Alex McHugh</name>
        <uri>http://www.olethros.com</uri>
    </author>
    
        <category term="General" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://machack.olethros.com/">
        <![CDATA[This blog has gone pretty quiet recently, despite the fact there is plenty more to say.

Also, this blog is not limited to discussing Mac S/W hacks. The following hardware related news has caught my interest recently.

<a href="http://www.2khappyware.com/corebox.html">Core Box</a>
<a href="http://www.2khappyware.com/corecrib.html">Core Crib</a>

The intent of these projects is to sell Apple Macs that are built from spare parts and assembled in non apple cases. This seems to work out cheaper than Apple's retail and is the closest I've yet seen to a legit mac clone solution in years.]]>
        
    </content>
</entry>

<entry>
    <title>Smarter Disk Images</title>
    <link rel="alternate" type="text/html" href="http://machack.olethros.com/smarter-dmg" />
    <id>tag:machack.olethros.com,2003://2.1077</id>

    <published>2003-03-08T22:20:57Z</published>
    <updated>2007-07-21T17:59:36Z</updated>

    <summary>internet enabled disk images</summary>
    <author>
        <name>Alex McHugh</name>
        <uri>http://www.olethros.com</uri>
    </author>
    
        <category term="Mac OS X" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://machack.olethros.com/">
        <![CDATA[As of 10.2.3, it's possible to have disk images that will mount and auto copy their contents to their parent directory then unmount and move the .dmg to the trash. This was demonstrated by Safari public betas. This is done via a <a href="http://developer.apple.com/ue/files/iedi.html" target="_blank">special flag</a> which is set after the disk image is mastered.

I wonder how this would work for dmg files mounted from a CD-ROM. Would this be a simple/smart way to do installs?

It definitely eliminates the need for stuffit expander, particularly in conjunction with the ZLIB compressed disk image format that is supported post 10.1]]>
        
    </content>
</entry>

<entry>
    <title>Fix Toast disk image mounting under 10.2.x</title>
    <link rel="alternate" type="text/html" href="http://machack.olethros.com/fix-toast-image-mounting" />
    <id>tag:machack.olethros.com,2002://2.1076</id>

    <published>2002-09-20T14:25:32Z</published>
    <updated>2007-07-21T17:59:13Z</updated>

    <summary>Although the much enhanced Disk Copy under OS X offers great support for various disk image formats, it is limited to supporting data disk images. Toast also can support making disk images of other CD types - especially Audio CDs...</summary>
    <author>
        <name>Alex McHugh</name>
        <uri>http://www.olethros.com</uri>
    </author>
    
        <category term="Mac OS X" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://machack.olethros.com/">
        Although the much enhanced Disk Copy under OS X offers great support for various disk image formats, it is limited to supporting data disk images. Toast also can support making disk images of other CD types - especially Audio CDs

Toast makes use of a kernel extension to handle a lot of it&apos;s disk image magic, particularly the mounting of disk images as virtual disks on the desktop.

Under 10.2.x, Apple made changes to the kernel extension system to make it more secure and stable. Previously kernel extensions could be owned by any user, however as they run at such a low level in the OS hierarchy, this created a security loophole whereas an untrusted kernel extension could be installed and run with non admin rights.

These changes however have broken Toast&apos;s disk image handling kernel extension which is hidden inside the Toast application package so that it will no longer mount disk images.

The following procedure outlines how to fix this.
        <![CDATA[<b>Prequisites</b> 10.2 & Toast 5.1.4

<ol>
<li>find the TDIX directory
<code>dirname "`locate ToastImageMounter`"</code>
<li>in the terminal, change directory to the location generated from the above command
<li>set permissions on the TDIX kext
<code>sudo chown -R root:wheel ./TDIXController.kext</code>
<li>load the kext to force the OS to fix the kext for 10.2
<code>sudo kextload ./TDIXController.kext</code>
<li>Click fix in the dialog that appears
<li>Disk mounting will now work properly under 10.2
</ol>]]>
    </content>
</entry>

<entry>
    <title>Command line CD-R mastering</title>
    <link rel="alternate" type="text/html" href="http://machack.olethros.com/command-line-cd-burning" />
    <id>tag:machack.olethros.com,2002://2.1075</id>

    <published>2002-09-20T13:06:41Z</published>
    <updated>2007-07-21T17:57:11Z</updated>

    <summary>cdrtools is an open source cd mastering and burning framework which is available for most Unix OS and also for windows. Because of it&apos;s cross platform base and it&apos;s non consumer focus, there is no other tools that has the...</summary>
    <author>
        <name>Alex McHugh</name>
        <uri>http://www.olethros.com</uri>
    </author>
    
        <category term="Mac OS X" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://machack.olethros.com/">
        <![CDATA[cdrtools is an open source cd mastering and burning framework which is available for most Unix OS and also for windows.

Because of it's cross platform base and it's non consumer focus, there is no other tools that has the premastering capabilities that it posseses. As a result of this, many X11 based frontends have bene built to harness it's power and it forms the heart of some excellent solutions including the windows based <a href="http://www.nu2.nu/bcd/">bcd</a> tool made by Bart Lagerweij .

cdrtools is however a bit fiddly to get working on OS X.2. The following instructions simplify this]]>
        <![CDATA[Requirements - Developer Tools 10.2 full install
<code>
curl ftp://ftp.fokus.gmd.de/pub/unix/cdrecord/alpha/cdrtools-beta.tar.gz | gnutar -zxf -<br>
cd cdrtools-1.11<br>
mv ./INSTALL ./INSTALL.TXT<br>
sudo make INS_BASE=/usr/local DEFINSUSR=root DEFINSGRP=wheel install<br>
rm -rf ../cdrtools-*<br>
</code>]]>
    </content>
</entry>

<entry>
    <title>How to mount all types of CD/Disk images more easily</title>
    <link rel="alternate" type="text/html" href="http://machack.olethros.com/mount-toast-audio" />
    <id>tag:machack.olethros.com,2002://2.1074</id>

    <published>2002-06-17T16:41:00Z</published>
    <updated>2007-07-21T17:54:59Z</updated>

    <summary>This is a modified version of a script that I originally saw on macosxhints Mainly, this version allows the mounting of audio disk images in the Sd2f format used by Toast. This requires that Toast 5.1.x be installed on the...</summary>
    <author>
        <name>Alex McHugh</name>
        <uri>http://www.olethros.com</uri>
    </author>
    
    
    <content type="html" xml:lang="en" xml:base="http://machack.olethros.com/">
        This is a modified version of a script that I originally saw on macosxhints

Mainly, this version allows the mounting of audio disk images in the Sd2f format used by Toast. This requires that Toast 5.1.x be installed on the drive, although Toast itself is not launched to mount the image.
My modifications also add support for additional suffixes and some support for OS9 files which lack a suffix (instead scan for file type)

There are additional versions floating around which offer greater functionality, including the ability to handle weird characters (which mine does not). At some point it might be a good idea to merge the superior file handling with this code. Hopefully by then this will all be integrated into Panther.

To use, paste the code into script editor, save as an app or compiled script and then use in any way an applescript can be used within OS X, my personal favourite is to use BigCat (a Contextual Menu that hosts scripts)
        <![CDATA[<code>tell application "Finder" to set filelist to selection as list
repeat with aFile in filelist
	if ((aFile as string) ends with ".dmg" or 
		(aFile as string) ends with ".img" or 
		(aFile as string) ends with ".iso" or 
		(aFile as string) ends with ".cdr" or 
		(aFile as string) ends with ".toast" or 
		(aFile as string) ends with ".smi") then
		do shell script ("hdiutil mount \"" & POSIX path of (aFile as string) & "\"")
	else if ((aFile as string) ends with ".Sd2f") or (file type of aFile as string is "Sd2f") then
		do shell script ("\"`locate ToastImageMounter`\"  \"" & POSIX path of (aFile as string) & "\"")
	else
		display dialog "Not a valid image"
	end if
end repeat
</code>]]>
    </content>
</entry>

<entry>
    <title>Inside the Mac OS X .pkg format</title>
    <link rel="alternate" type="text/html" href="http://machack.olethros.com/pkg-format" />
    <id>tag:machack.olethros.com,2002://2.1073</id>

    <published>2002-03-08T22:32:00Z</published>
    <updated>2007-07-21T17:53:56Z</updated>

    <summary>In relation to my recent article on rolling your own Mac OS X CD, it seems that for those who are interested, an overview of the Mac OS X .pkg format might be useful The information I present here is...</summary>
    <author>
        <name>Alex McHugh</name>
        <uri>http://www.olethros.com</uri>
    </author>
    
        <category term="General" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://machack.olethros.com/">
        In relation to my recent article on rolling your own Mac OS X CD, it seems that for those who are interested, an overview of the Mac OS X .pkg format might be useful

The information I present here is mostly based on reverse engineering. As a result, there are probably huge gaping holes in the information I outline. If anyone has corrections and additional information, then please advise me. I have discovered Apple does provide some information on packages, but they don&apos;t detail some of the files commonly found only in Apple packages.

Most third party developers are recommended to not use the package format, unless the facilities it offers are necessary. Instead the drag and drop application bundle from a mounted disk image is the recommended install option.
        <![CDATA[Firstly, there are two types of packages, these are denoted by the suffix: .pkg - this is a standalone package, secondly: .mpkg - this is a meta-package, it can contain many .pkg files

Metapackages should only be used if you have more complex requirements, for example:

<ul>

	<li>You want to let the user have the option to chose to only install some of the items.</li>

	<li>One portion of your installation requires a fixed location but the rest can be installed anywhere.</li>

</ul>

Secondly, I cannot recommend highly enough a package called <a href="http://homepage.mac.com/csrstka/">Pacifist</a>. Although it is still being developed, this application allows you to examine the contents of the archive portion a package. (the .bom and pax.gz or pax)

<b>Outline of a standard package</b>

<ul><i>GenericPackage</i>.pkg

<ul>Contents

<ul>Resources

<ul>

BundleVersions.plist

GestaltTool

InstallationCheck

package_version

software_version

VolumeCheck

preflight

postflight

<i>GenericPackage</i>.bom

<i>GenericPackage</i>.pre_install

<i>GenericPackage</i>.post_install

<i>GenericPackage</i>.pre_update

<i>GenericPackage</i>.post_update

<i>GenericPackage</i>.pax.gz

<i>GenericPackage</i>.sizes

<ul><i>Language</i>.lproj

<ul><i>GenericPackage</i>.info

VolumeCheck.strings

InstallationCheck.strings

License.rtf

ReadMe.rtf

Welcome.rtf

</ul></ul></ul></ul></ul></ul>



A normal package contains the following key files:

<ul>

	<li>The Bill of Materials (.bom) is a binary file which describes the contents of the package. </li>

	<li>The information file (.info) contains information about the package, for example name, description and what restrictions need to be applied.</li>

	<li>The archive file (.pax) a complete archive of the files which will be installed. It will has the suffix .pax.gz if it is compressed.</li>

	<li>The size calculation file (.sizes) is a text file containing the sizes (compressed and uncompressed) of the unarchived software, which the installer uses (usually incorrectly) to calculate required space on the installation volume.</li>

	<li>Other files included in the /Contents/Resources are optional files which are used by the Installer during the installation but that aren't installed on your disk. They include Read Me files, license agreements, and pre-install and post-install scripts. </li>

<li>The installation check file (InstallationCheck) is a unix script, which can be written in any unix scripting language, most commonly perl or a basic shell script. This is run when the installer is parsing the installation package(s). It's function is to ensure that the actively running System meets the requirements for the package being installed. There is usually a corresponding file with a .strings suffix, this is used as the source for any error messages generated by this script. If this script reports any errors at all the entire installation will be prevented</li>

<li>The volume check file (VolumeCheck) is a unix script, which can be written in any unix scripting language, most commonly perl or a basic shell script. This is run when the user selects a destination volume for installation of the components of the package(s). It's function is to ensure that the chosen volume meets the requirements for the package being installed. There is usually a corresponding file with a .strings suffix, this is used as the source for any error messages generated by this script. If this script reports any errors at all the installation of this package will be prevented</li>

</ul>

A metapackage is a bundle which installs multiple packages. Note: a metapackage doesn't have to contain the other packages: it just needs to know their names and locations. Often the packages are in the same directory as their metapackage. This allows a user to install a subpackage separately by double clicking it separately. A standard metapackage contains: 

<ul>

	<li>The list (.list) is a text file with the names of all the packages in the metapackage. </li>

	<li>The information file (.info) contains the information about the overal meta package, for example name, description and what restrictions need to be applied. </li>

	<li>Other files included in the /Contents/Resources are optional files which are used during the installation but that aren't installed on your disk. They include Read Me files, license agreements, and pre-install and post-install scripts. </li>

</ul>

Although a package appears as a single entity from a Desktop Finder window, you can use a variety of methods to inspect the contents of a package, the simplest of which being the show package contents option from the finder's contextual menu. Access to the package contents can also be obtained via the Terminal utility.]]>
    </content>
</entry>

<entry>
    <title>To update to X or not?</title>
    <link rel="alternate" type="text/html" href="http://machack.olethros.com/osx-adoption-case-study" />
    <id>tag:machack.olethros.com,2002://2.1072</id>

    <published>2002-03-06T03:37:00Z</published>
    <updated>2007-07-21T17:51:45Z</updated>

    <summary>Our shiny new operating system has been around for a while now. Even to the most die-hard it has become obvious that Mac OS X is here and here to stay. So the big question is not IF one should...</summary>
    <author>
        <name></name>
        
    </author>
    
        <category term="General" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://machack.olethros.com/">
        <![CDATA[Our shiny new operating system has been around for a while now.  Even to the most die-hard it has become obvious that Mac OS X is here and here to stay.  So the big question is not <B>IF</B> one should update, but <B>WHEN</B>.]]>
        <![CDATA[The answer to this is constantly shifting, but at the time of publishing it breaks down like this:

To not Update:

<ul><li>specialized programs that wont be updated</li>

most of these apps are fading as the job they were designed to perform is not longer required in a lot of cases, a lot of them are old and slow and run well enough under Classic or they require old and no longer supported hardware in which case the mac that is currently running these apps will get to sit in the corner of the office, only to get fired up when its one task is needed (for example Newtown connection)

<li>main apps that have yet to be converted (Photoshop, Quark, Dreamweaver)</li>

these will be along eventually, just a matter of waiting

<li>Old hardware</li>

you have a Bondi Blue iMac with 32MB of ram and a 4GB hard drive, while you could install X, would it be worth it?</ul>

To Update:

<ul><li>everything else</li></ul>

Case studies

<B>User X</B>

<I>primary uses</I> - photoshop, Quark, illustrator, final cut pro, internet explorer, eudora, word (all equally important)

<I>hardware</I> - G4 cube (lucky bastard)

<I>recommendation</I> - use X for video, internet and word processing uses, and spend the majority of time in X for familiarization of the OS

<I>prediction</I> - this user will have trouble adopting to the new GUI, he will easily get frustrated and having to learn how things are done differently and will continusly try to do things the OS 9 way (probably for a few years)

<I>current status</I> - despite recommendations user only actually boots into X when I'm looking over his shoulder and say "you know you could be doing that is X".

<I>future status</I> - will probably not happen until the main apps have been updated without OS 9 versions being released, so probably when he gets his next hardware upgrade (1-2 years minimum)

<B>User Y</B>

<I>primary uses</I> - word, internet explorer, eudora, Fly! 2 (flight sim game)

<I>hardware</I> - rev C (grape) iMac

<I>recommendation</I> - the only reason for holding back would be the older hardware, Apple says that any iMac can run X, but that doesn't mean it would do it better than 9, still I would recommend a complete change to X

<I>prediction</I> - this user has very poor and ill-formed computing habits and might actually find that the simplicity and structure of X helps

<I>status</I> - not presently installed because I haven't gotten around to it yet

<I>future status</I> - simply required arranging a time to make the change

note - none of this has been discussed with this user, yet

<B>User Z</B>

<I>primary uses</I> - photoshop, dreamweaver, word, internet explorer, eudora, iTunes

<I>hardware</I> - firewire iBook (keylime)

<I>recommendation</I> - n/a

<I>status</I> - this user is already running in X most of the time (more than 99%), and only goes back to 9 when extended classic work is required, but as the apps are updated this becomes less necessary

<I>future status</I> - once all the major apps are updated there will be nothing to stop this user from swimming in aquary goodness 24x7]]>
    </content>
</entry>

<entry>
    <title>Roll your own OS X Install CD</title>
    <link rel="alternate" type="text/html" href="http://machack.olethros.com/slipstream-osx-install" />
    <id>tag:machack.olethros.com,2002://2.1071</id>

    <published>2002-02-28T23:01:00Z</published>
    <updated>2007-07-21T17:49:01Z</updated>

    <summary> Overview Those of you who fix/setup/install OS X Macs know what a nightmare it currently is to get to the latest OS X revision, especially if rebuilding a machine from scratch. Not everyone has broadband access making Software Update...</summary>
    <author>
        <name>Alex McHugh</name>
        <uri>http://www.olethros.com</uri>
    </author>
    
        <category term="General" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://machack.olethros.com/">
        <![CDATA[<table cellspacing=10 cellpadding=10><tr><td valign="top" bgcolor=#EEEEEE> <font face="verdana, arial, helvetica, sans-serif" size="2"><b>Overview</b></font> <P align=justify>Those of you who fix/setup/install OS X Macs know what a nightmare it currently is to get to the latest OS X revision, especially if rebuilding a machine from scratch.</P> <P align=justify>Not everyone has broadband access making Software Update less useful, and regardless, you end up spending hours staring at the "optimizing" stage over and over again.</P> <P align=justify>However if you have a CD Burner, legal copy of Mac OS X 10.1 and don't mind losing a few languages, it is possible to compile a CD which will bring you straight to 10.1.3 inclusive of all the appropriate updates. </td></tr></table>]]>
        <![CDATA[<b><font color="#330033">Last Updated 7-3-2002</font></b><table cellspacing=10 cellpadding=10> <tr><td valign="top" bgcolor="#FFFFFF" > <font face="verdana, arial, helvetica, sans-serif" size="2"><b>Main Procedure</b></font> <OL> <LI>Launch Disk Copy, image the 10.1 CD as a DVD/CD Master <P></P> <P align=justify><IMG height=143 src="/images/New-Image.jpg" width=270></P> <P align=justify><IMG height=247 src="/images/Device-Selector.jpg" width=383></P> <P align=justify><IMG height=245 src="/images/Image-Device.jpg" width=454><BR> </P> <LI>Mount the image on the desktop <P></P> <P align=justify><IMG height=206 src="/images/Mount-Image.jpg" width=361><BR> </P> <LI>Go to <A href="http://www.versiontracker.com/">http://www.versiontracker.com/</A> and download the following updates<BR> <UL> <LI>AirPort 2.0 (only needed if you have an airport)<BR> <LI>AirPort Update 2.02 (only needed if you have an airport)<BR> <LI>Installer Update 1.0<BR> <LI>iPhoto 1.0<BR> <LI>iTunes 203<BR> <LI>Java 1.3.1 Update1<BR> <LI>MacOS X Update Combo 10.1.3<BR> <LI>Security Update 10-19-01<BR> <LI>IE 5.13 Security Update (this is only available from software update, but SW Update <B>does</B> allow you to save a copy immediately after it has been installed) </LI> </UL> <BR> <LI>Create a staging area on a disk with a few hundred megabytes of space.<BR> <LI>Mount each disk image and copy the .pkg file to the staging area, in the case of iPhoto, there is a .mpkg, it is best to use "Show Package Contents" and just copy the two .pkg files contained within the iPhoto .mpkg <P></P> <P align=justify><IMG height=306 src="/images/staging.jpg" width=537><BR> </P> <LI>Go through each .pkg file and using "show package contents", navigate to ./Contents/Resources/ then delete the files InstallationCheck and VolumeCheck. <P></P> <P align=justify><IMG height=212 src="/images/Delete-VolumeCheck.jpg" width=517><BR> </P> <LI>On the mounted 10.1 image, open up /Volumes/Mac OS X Install CD/System/Installation/Packages and delete any language packages you don't use. The more languages deleted the more disk space for other updates. <P></P> <P align=justify><IMG height=453 src="/images/Remove-Packages2.jpg" width=567><BR> </P> <LI>Delete the corresponding alias files to the language updates, these are in: /Volumes/Mac OS X Install CD/Welcome to Mac OS X/Optional Installs/ <P></P> <P align=justify><IMG height=279 src="/images/Optional-Installs.jpg" width=562><BR> </P> <LI>Run the Security Update and install onto the disk image, then run the Installer Update and again install this onto the disk image. These updates are required to be available during the installation process when you actually boot from the CD. <P></P> <P align=justify><IMG height=464 src="/images/InstallInstallerUpdate.jpg" width=644><BR> </P> <LI>Copy all the .pkgs from the staging area to /Volumes/Mac OS X Install CD/System/Installation/Packages/ <P></P> <P align=justify><IMG height=427 src="/images/packages-added.jpg" width=545><BR> </P> <LI>Use "Show Package Contents" on Essentials.pkg, navigate to ./Contents/Resources/ remove the VolumeCheck file, this is <B>only</B> required if you wish to be able to re-install over an existing 10.1+ installation<BR> <LI>Use "Show Package Contents" on OSInstall.mpkg, navigate to ./Contents/Resources/ edit the file OSInstall.list to reflect the added packages and correct install order (the updates should be installed by release date). <P></P> <P align=justify><IMG height=453 src="/images/OSInstall_list.jpg" width=567><BR> <B>Example OSInstall.list</b> <BLOCKQUOTE><CODE>Essentials.pkg:required<BR> BSD.pkg<BR> AdditionalPrinterDrivers.pkg<BR> SecurityUpdate10-19-01.pkg:required<BR> IEUpdate.pkg:required<BR> InstallerUpdate1.0.pkg:required<BR> AirPort.pkg<BR> AirPortDriverUpdate.pkg<BR> iTunes2.pkg<BR> iPhoto.pkg<BR> NetServices.pkg<BR> MacOSXUpdateCombo10.1.3.pkg<BR> Java1.3.1Update1.pkg</CODE></BLOCKQUOTE> <BR> <LI>Unmount the disk image and burn this back to a CD (RW if possible as you will find a few iterations may be necessary) <P></P> <P align=justify><IMG height=125 src="/images/Unmount.jpg" width=206></P> <P align=justify><IMG height=166 src="/images/MenuBurnImage.jpg" width=540></P> <P align=justify><IMG height=249 src="/images/BurnImage.jpg" width=351></P> </LI> </OL> </td> </tr> <tr> <td valign="top" bgcolor=#EEEEEE> <p><font face="verdana, arial, helvetica, sans-serif" size="2"><b>Optional: Expand to 700MB/80Min CD using ASR &amp; Toast</b></font> <p><font face="verdana, arial, helvetica, sans-serif" size="2">If you need more space, say to include some of the developer tools or if you don't wish to loose the language support. You will need an OS 9 version of Toast and Apple Software Restore 2.12 (ASR).</font><p>ASR is included in the ASR Scripts download from this page: <a href="http://homepage.mac.com/iluvmacs/applescript.html">http://homepage.mac.com/iluvmacs/applescript.html</a> <p><font face="verdana, arial, helvetica, sans-serif" size="2"> The reason we use ASR is that we must make an exact copy of the entire CD, including portions that are not part of the filesystem and elements of the partition entry. Otherwise the resulting CD will not boot.</font> <p><font face="verdana, arial, helvetica, sans-serif" size="2">Here are the steps involved:</font> <ol> <li>Boot into OS 9 <p> <li><font face="verdana, arial, helvetica, sans-serif" size="2">Launch the Toast application.</font> <p> <li><font face="verdana, arial, helvetica, sans-serif" size="2">In the Utility menu, Select "new Temporary Partition"<br> Set the size to 700MB and select a volume which has the space to hold this 700MB blank disk image<br> Click OK and the disk image will be created </font> <p> <li><font face="verdana, arial, helvetica, sans-serif" size="2">Insert the original Mac OS X 10.1 Install CD, when it mounts on the desktop, drag it's icon onto ASR</font> <p> <li><font face="verdana, arial, helvetica, sans-serif" size="2">ASR Will launch and proceed to scan the Install CD, then it will ask for a volume to "restore" the Install CD to, select the just mounted toast partition and start the restore.</font> <p> <li><font face="verdana, arial, helvetica, sans-serif" size="2">Unmount the disk image, and restart into OS X</font> <p> <li>Proceed from step 2 in the Main procedure </ol> </td> </tr> <tr> <td valign="top" bgcolor=#EEEEEE> <p><font face="verdana, arial, helvetica, sans-serif" size="2"><b>Optional: Use Terminal.app to remove VolumeCheck and InstallationCheck</b></font> <p><font face="verdana, arial, helvetica, sans-serif" size="2">Sometimes, when using show package contents, the Finder will present the contents of the package as dimmed, this prevents access to the VolumeCheck and InstallationCheck files</font> <p><font face="verdana, arial, helvetica, sans-serif" size="2"> I do not know the reason for this, however one can work around this with the Terminal.app</font> <p><font face="verdana, arial, helvetica, sans-serif" size="2">Here are the steps involved:</font> <ol> <li>Launch Terminal.app <p> <li><font face="verdana, arial, helvetica, sans-serif" size="2">Type "cd " into the terminal window, then drag and drop the .pkg file onto this window, this will append the full path of the package<br> hit return to change to this directory.</font> <p> <li><font face="verdana, arial, helvetica, sans-serif" size="2">To remove VolumeCheck, type:<br> "rm ./Contents/Resources/VolumeCheck</font>" and press return <p> <li><font face="verdana, arial, helvetica, sans-serif" size="2">To remove InstallationCheck, type:<br> "rm ./Contents/Resources/InstallationCheck</font>" and press return <p> </ol> </td> </tr></table>]]>
    </content>
</entry>

<entry>
    <title>Citrix Java ICA Client &amp; OS X</title>
    <link rel="alternate" type="text/html" href="http://machack.olethros.com/citrix-java-ica-client-osx" />
    <id>tag:machack.olethros.com,2001://2.1070</id>

    <published>2001-12-23T00:25:00Z</published>
    <updated>2007-07-21T17:48:14Z</updated>

    <summary>Being a cross-platform person, I spend a lot of time on the dark side ie. Windows Although I have extensively used Virtual PC, nothing beats having a real honest to goodness i386 architecture to run Windows. But you don&apos;t want...</summary>
    <author>
        <name>Alex McHugh</name>
        <uri>http://www.olethros.com</uri>
    </author>
    
        <category term="General" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://machack.olethros.com/">
        <![CDATA[Being a cross-platform person, I spend a lot of time on the dark side ie. Windows

Although I have extensively used Virtual PC, nothing beats having a real honest to goodness i386 architecture to run Windows.

But you don't want two keyboards, mice, monitors etc. And more than one person should be able to utilise the x86 box at the same time.

For a long time Citrix have been offering products which satisfy these requirements. I make extensive use of this at work and have been involved in building Citrix servers (which is an odd, patience testing task)

However, Citrix don't have a huge commitment to the Mac, their Mac client was actually deveopled by Insignia (they also developed the only competition Virtual PC ever had SoftWindows)

Almost a year after the release of OS X, there is no sign of an OS X native Citrix client, so until today, my only way of running Citrix was via Classic, which was frustrating.

But, I noticed that Citrix have recently released an update to their Java ICA client.

This client has always been unfriendly to the mac, but mostly worked (albeit slowly as all java did under OS 9). However I have had two issues with the java client under OS X

<ol><li>Program Neighborhood would crash on launch - that's a biggie as it's half of the client solution

<li>Keyboard input was ignored, another major show stopper

</ol>

Well, the latest ICA Java version (v6.20.1205 - 11/12/01) finally fixes the program neighborhood issue and as a result finally gives me a fix for the second issue via the newly accessible program neighborhood

I am now in ICA heaven (or as close as I can be until a truly native ICA client is released). This of course begs the question, is Java a truly native application environment for OS X?

Anyway, thanks MRJAppBuilder I now have double clickable applications for the two modes of Citrix ICA Client operation and more importantly, now that Program Neighborhood works, I can set my keyboard type which allows Citrix to recognise my text input

To read how to set this up for yourself, click for]]>
        <![CDATA[I know this still needs work, please bear with me, soon it will be all glossy screenshots time permitting

<ol>

<li>Be sure you are running 10.1.3 and the latest Java updates

<li>download citrix Java Client (v6.20.1207 - 01/07/02) from http://www.citrix.com/download/java-downloads.asp

<li>Open Terminal, this lives in /Applications/Utilities

<li>change directory to where the setup.class was downloaded to<br><code>cd /Downloads/</code>

<li>Run the setup.class<br>

<code>/usr/bin/java ./setup</code>

<li>Follow the windows style installer wizard, you may experience some graphical glitches, I'd recommend <u>/Applications/ICA Java Client/</u> as the install location

<li>Install will give an error ignore this 

<li>Become an apple developer (free) and download/install the most recent developer tools (Dec 2001) and the Java dev update

<li>Launch /Developer/Applications/MRJAppBuilder from the freshly installed Developer Tools. A blank build window will appear.

<li>Click the Merge Files tab, add all the files installed by setup.class that have the suffix J.jar

<li>Next, Click the Java Properties tab. Edit the the parameters property to suit your installation. To see all options, make sure to read the documentation also available for download from Citrix. Scroll down the and change the growbox.intrudes property to true. This corrects an annoying problem where the bottom few pixels of the window were cropped off.

<li>Then, click on the Application tab. Enter com.citrix.JICA in the "Main classname" field. The Classpath is created automatically from the files selected in the merge files step..

<li>Then in the "Output File" field, pick a destination for the finished app.

<li>Lastly, click "Build Application", it doesn't take too long (a few seconds for me) <li>Run the newly created application to test, don't close the MRJAppbuilder window until you are satisfied with the built app otherwise you'll have to start from scratch if you want to tweak things.

</ol>]]>
    </content>
</entry>

<entry>
    <title>An OS X utility CD</title>
    <link rel="alternate" type="text/html" href="http://machack.olethros.com/osx-utility-cd" />
    <id>tag:machack.olethros.com,2001://2.1069</id>

    <published>2001-12-03T22:01:00Z</published>
    <updated>2007-07-21T17:43:56Z</updated>

    <summary>I&apos;ve been experimenting with this recently. Currently I have a utility CD, booting OS 9.2.1 and chock full of goodies for fixing almost any mac problem. I also have similar for x86 machines but am sorely limited by a reliance...</summary>
    <author>
        <name>Alex McHugh</name>
        <uri>http://www.olethros.com</uri>
    </author>
    
        <category term="General" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://machack.olethros.com/">
        <![CDATA[I've been experimenting with this recently.

Currently I have a utility CD, booting OS 9.2.1 and chock full of goodies for fixing almost any mac problem. I also have similar for x86 machines but am sorely limited by a reliance on DOS and the plethora of network/scsi drivers required for widespread support.

With my own Mac constantly running OS X these days, it makes some degree of sense to start thinking of bootable OS X CDs and the ability to repair/optimize/hack from a CD boot.

The default OS X install/upgrade CDs are bootable, but will only launch <b>installer.app</b>. This can be changed by editing /etc/rc.cdrom on the CD prior to burning. However most apps expect to be able to save their preferences and make unnecessary assumptions about write-access.

I have managed to modify a 10.1 CD to launch Terminal rather than Installer, however Terminal fails as it is opening a window. It is either looking for a file which does not exist on the CD or is expecting to have write access.

These problems have been resolved on other operating systems with the usage of a RAM disk. Is this an appropriate path to follow?

Closer inspection of the rc.xxxx scripts is required and any suggestions are welcomed.]]>
        
    </content>
</entry>

<entry>
    <title>Re-Registering Office X</title>
    <link rel="alternate" type="text/html" href="http://machack.olethros.com/re-register-office-x" />
    <id>tag:machack.olethros.com,2001://2.1068</id>

    <published>2001-11-25T13:40:00Z</published>
    <updated>2007-07-21T17:43:09Z</updated>

    <summary>So you excitedly got your hands on a copy of Office X and in your haste to see this app in all it&apos;s Aqua glory, you made a typo on the registration. Although one could potentially re-install the entire suite,...</summary>
    <author>
        <name>Alex McHugh</name>
        <uri>http://www.olethros.com</uri>
    </author>
    
        <category term="General" scheme="http://www.sixapart.com/ns/types#category" />
    
    
    <content type="html" xml:lang="en" xml:base="http://machack.olethros.com/">
        <![CDATA[So you excitedly got your hands on a copy of Office X and in your haste to see this app in all it's Aqua glory, you made a typo on the registration.

Although one could potentially re-install the entire suite, a more mac-hack friendly solution is presented below.

<blockquote>

<ol>

<li>Use a utility like file buddy to make the file "OfficePID" visible.

This is usually located in <i>/Applications/Office v.X/Office/OfficePID</i>

<li>Move this file to the trash.

<li>For each user who has run office, remove the following preference files:

Carbon Registration Database

Office Registration Cache X

Microsoft Office Settings (10)

These are all located in <i>$HOME\Library\Preferences\Microsoft</i>

<li>Re-launch any of the Office v.X apps and you will prompted to re-register them. Make sure you have your serial number handy at this point.

</ol></blockquote>]]>
        
    </content>
</entry>

</feed>

