Since the launch of the MacBook Air, Apple produces a nice external optical drive, which unfortunately does not work on every machine; only MacBook Air and some Mac mini models. It was long believed it was due to a hardware limitation, but it is actually due to Mac OS X, as we shall see.
First of all, why use the Apple drive? There are several reasons. The first one is that it is quite nice-looking. It also uses a slot-in, more convenient than fragile drawers, it can play a DVD without changing the DVD drive, as it is considered as 'Apple-supplied drive' by the system and responds to the Eject button on Apple keyboards.
It also has two drawbacks: it is quite expensive and its USB cable is ridiculously short and non-removable. But finally, I found it to be more practical than the other drives I tested.
I could not test the handling on many machines; I had a 2009 17-inch MacBook Pro (when working), a 2006 MacBook (which does not work) and a 2010 Mac mini on which the hack is unnecessary. The tests were carried out under OS X Lion, but should work on Leopard and Snow Leopard.
As far as I know, the easiest way to check if the hack is possible is starting up the Mac while pressing the Option key with the drive connected; if the player turns on, it should work.
For the modification itself, a file editor (I use Hex Fiend) and a tool that simplifies the update of .kext files are needed. I use Kext Utility (search for the correct version for your OS version), but it can be done by hand or with others.
We have to edit a driver file, as follows:
Go to /System/Library/Extensions/, right-click on AppleStorageDrivers.kext and choose 'Show package contents.'
Then go to /Contents/PlugIns/, right-click on AppleUSBODD.kext and choose 'Show package contents' on that file.
Then go to /Contents/MacOS/ and edit the file AppleUSBODD with Hex Fiend.
By searching the file, you should find two chains of this type: Supported Mac Models MacBookAir Macmini Macmini1 Macmini2.
You must replace one of the values by your model identifier. In my case, I simply replaced MacBookAir by MacBookPro to keep a file of the same length. Pay attention to spaces, do not put any between MacBook and Pro. Normally, just use the beginning of the identifier and it should be enough, so : MacBook, MacPro, iMac, etc. Also pay attention to capital letters.
Once it is done on the two chains, just save and replace the original file AppleStorageDrivers.kext by the new. If everything is OK, Mac OS X will ask for a password.
Then launch Kext Utility to clear caches and repair permissions, and restart the Mac. If everything went well -- this was the case on my MacBook Pro -- the external drive should work right away.
[crarko adds: I haven't tested this one. This is where I throw out the big caution flag and remind you that editing .kext files can render your Mac non-bootable. I've done this two or three times in ten years and they went fine but I made sure to have a complete system backup around before attempting it. If you haven't done this before you might want to wait and read the comments of those who try it to make sure there aren't any pitfalls.
I also have to say it's kind of silly for Apple to put this kind of artificial restriction on the hardware.]
This hint points to a really in-depth, hi-resolution take-apart tutorial (on Youtube) about opening, cleaning and closing a dirty wireless Apple Mighty Mouse, presented in English. This is the way to do it after you've tried cleaning the ball from the outside 100 times. Save your mouse from the scrap heap.
Rage Pro cards were not supported in 10.5.8 so you can copy the ATIRage .kexts from /System/Library/Extensions of a 10.4.11 drive to your new one. It will update the kext cache and then reboot. You will no longer have no extension loaded in the system profiler for your video card. I'm not sure what benefit this has but I still can't play Wolfenstein because it won't load OpenGL. This works fine in 10.4.11.
[crarko adds: I admit to having a weakness for the G3/G4 towers. I loved my Blue and White G3. Anything which prolongs their life is a good tip.]
I had been experiencing a thirty second delay when I tried to put my iMac into Sleep mode.
I discovered that after I hooked up a USB modem to receive faxes that I had left the 'Receive faxes on this computer' option checked in the Receive Options of the Fax preferences. Unchecking that box enabled me to go into Sleep mode with no delay.
[crarko adds: USB devices have often been culprits in Sleep problems with Macs for a long time, as indicated in these previoushints. Checking them out is always a good step in troubleshooting problems with Sleep/Wake from Sleep.]
Today I ruined my silver Apple keyboard by spilling coffee on it and had to switch back to an old PC keyboard with a German layout. Which is a fine keyboard with one very annoying attribute: the Control (Windows) and Alt keys are swapped, the bottom keys are from left to right: Ctrl - Windows(Command) - Alt - Space. It can drive you crazy. So I searched for a solution but it was not as obvious as I had expected.
With Snow Leopard the mapping can be changed via System Preferences » Keyboard, there choose 'Modifier keys...' and in the Dialog remap Alt (Option) and Command. However, some applications, like Eclipse, do not get these changes.
So, I would like to swap the modifiers further down at the input driver level. There are descriptions how to modify AppleUSBKeyboard.kext. That seems to be outdated since I can not find AppleUSBKeyboard.kext on Snow Leopard (10.6.7) anymore. But looking at the source code for the the keyboard handler shows that there is a property Swap command and alt evaluated which belongs to the IO Service Provider. At least for Snow Leopard. Unfortunately, the property seems to be poorly documented and I could not find any example.
Using the IORegistryExplorer to check the internal and USB keyboard settings I found another property of the provider, alt_handler_id, set for the internal keyboard.
In the same way I added the property Swap command and alt for the IOHIDEventDriver as follows:
First, open the property list for editing (as system) using a text editor capable of authenticating. I just used vi:
sudo vi /System/Library/Extensions//IOHIDFamily.kext/Contents/PlugIns/IOHIDEventDriver.kext/Contents/Info.plist
Note that the above path can be used with BBEdit or TextWrangler as well. Then make the following addition to the plist file:
in Terminal followed by a reboot, the USB keyboard's Alt and Command keys were changed.
Furthermore, with this kind of keyboard you may want to change the input method. For example, a keyboard layout can be created with Ukelele. For me, the layout offered here works perfectly. Just download it and copy to /Library/Keyboard Layouts.
If you have a keyboard that does not have eject and volume controls natively (like Das Keyboard), you can map them using KeyRemap4MacBook (it works for more than MacBook though!). This is kernel level mapping, so the keys act native, contrary to solutions provided by Quicksilver or Spark.
Download and install KeyRemap4Macbook. Despite the name, it works for any Mac, not just the Macbook.
You can search through the preferences and see if any of the built-ins work for you. I chose to do my mappings manually, as it allows you to map any key to any key.
Open up your private.xml through the "Misc & Uninstall" tab of KeyRemap4Macbook. The following code maps Insert, Home, and Pageup to Volume Down, Up, and Mute respectively. Those keys are pretty useless anyway, so you probably won't miss them. If you wanted to map them to something else, you can do that here. If you want syntax on different keys, you can find them documented here:
Let me finish by stating that this is very powerful software, and it is capable of much more. For instance, I have it do my Dvorak layout remappings, so to user level programs my keyboard looks like a standard QWERTY. This allows for greater compatibility throughout the system. Often, non-QWERTY layouts got tripped up by Java or Carbon apps. With this program, you should have no issues. If you use a non-standard keyboard layout, look into this program!
Here's how to simply use the FireWire 400 hub in your 30" Cinema Display (DVI) with the dual-link adaptor, without the massive nest of unused cable just so the FireWire from the display can reach your computer.
You've upgraded to a new machine with a Mini DisplayPort, and want to keep using your dual-link DVI display. The cable is rather long, and includes USB, but no FireWire. You could try to plug the FireWire into your machine, but the slack they give you is so little, you get a nest from the coiled dual-link adaptor. And its even more awkward if you use a 400-800 adaptor stub.
Here's what I did. Get a normal male-male FireWire cable (800-to-400 if your machine has an 800 port), and just plug it into the back of your Cinema Display. Now you can still hook up 2 FireWire 400 devices thru the monitor: one using the unused port on the back of the Cinema Display, and one using the unused male connection at the end of the monitor's own cable.
Explanation: the 3 connections to a typical FireWire hub (including the hub in the display) seem to all be the same. The only exception in this case is one is male and the two ports are female. The male connection is provided as a convenience and assumed you'll use that to connect your computer. But you can just as easily use it to connect a device, and connect your computer to one of the other two ports intended for devices. Just get a cable of the appropriate length (same as the cinema display cable + dual link adaptor to be a fully apt length). And save the dangling cable on the end of the display's cable for whatever it can practically reach, and set it next to the dual link adaptor's box.
World of Warcraft, as many other games, doesn't have native support for a Joystick or Gamepad.
The solution is to map axis and buttons to key strokes using a device mapping software. I've tried USB Overdrive and ControllerMate. These are my conclusions:
USB Overdrive: Easy to use but limited in functionality. The main drawback is that it takes ownership of the Magic Mouse and converts it into an ordinary 2 button mouse. The programmer seems working hard to fix this issue. Stay tuned.
ControllerMate: Very powerful, a bit daunting at first. It kept my Magic Mouse controlled by the Operating System. It can even create virtual devices mapped to the Joystick that can be used by any application.
My World of Warcraft Configuration:
Create a Virtual Mouse and map the Joystick Y axis (or alternatively, the Rotation axis) to the Virtual Mouse Y axis.
Map right and left buttons to the Virtual Mouse X axis.
Map every button in the joystick to numbers in the keyboard.
Reserve two buttons in the Joystick for "tab" (next target) and "shift" (action bar) keys.
As noted by them, the fact that system info reports that trim support is on, doesn't mean it's actually working until another way of checking it is found in OS X.
[crarko adds: This procedure involves editing a kernel extension by hand with a hex editor. I'll put it out here as a possibility if you really think you need it, but if you mess up (especially on a MacBook Air) you may be looking at a wipe/reinstall, so make sure you have a complete backup of the system before attempting this. Proceed at your own risk.]