MyMacWorld Calendar, Outlook Compatible

So, the MyMacWorld site made by BDMetrics has an “Export to PDA” function that supports Outlook and not iCal. Try and import the ics file into iCal and you’ll get:"This calendar file is unreadable. No events have been added to your iCal calendar"Guh!? Let’s go back and read the description of what this exporting will get you:

This exports all your scheduled items in a single, iCalendar or vCalendar file. You may then import this file into any iCalendar-compliant system such as OutlookTM, then subsequently synch to your PDA.

Oh super, Outlook. That’s great for the PC manager who gets sent to MacWorld to see what this Mac hullaballoo is all about, but it’s useless for 95% of MacWorld’s attendees. Are you serious BDMetrics?

Update:
OK After spending way too long looking at Apple’s iCal specs and messing with the tags and blogging the whole thing (and using ♥ in my URL, so the thing broke on every other browser besides Safari!) I have the solution. But first the reason they don’t work:

  • iCal will only read VERSION:2.0 tagged files, MyMacWorld is VERSION:1.0
  • The iCalendar spec call for CRLF ending, they use an LF only
  • HA! Of course a spec written in 1998 by an MS employee calls for CRLF line endings! Of course, it makes sense now!

    OK so here’s the code. Get thee to a Terminal, cd to where your ics file is, and copy and paste following onto one line, and you’ll be good to go
    perl -p -e 's/VERSION:1.0/VERSION:2.0/g' ShowCalendar.ics | perl -p -e 's/(\r\n|\n|\r)/\r\n/g' > newShowCalendar.ics

    What’s (not) in the Quicktime 7.3 Update

    This one is weird…
    With the new Quicktime you get movie windows with no border on the left or right, you also get some new Automator actions…
    /System/Library/Automator/Enable or Disable Tracks.action
    /System/Library/Automator/Hint Movies.action
    /System/Library/Automator/New Audio Capture.action
    /System/Library/Automator/New Video Capture.action
    /System/Library/Automator/Pause Capture.action
    /System/Library/Automator/Play Movies.action
    /System/Library/Automator/Start Capture.action
    /System/Library/Automator/Stop Capture.action

    That is, if you are in Tiger. If you on Leopard, these files are copied down but are not added to Automator. If you do add them manually (drag them in, double click them, open from Terminal), they won’t do anything.

    Now if you look in an .action you will see its just a folder, like an app bundle. The meat of an action is in here /Contents/Resources/main.scpt and the Tiger and Leopard Quicktime actions are byte for byte the same (use md5 for a checksum)

    The only concern is though what string you find inside (these are “Run-Only” compiled Applescripts, so no plain text):
    01cd Tiger
    028b 'Tiger:Applications:QuickTime Player.app
    02E9 T i g e r

    Hmmm, is it just me or should the strings Tiger not be in a Leopard component? Especially when they have two seperate packages for the Tiger and Leopard version of Quicktime 7.3? Come on Quicktime 7.3.1!

    What’s in Hard Drive Update 1.0?

    So there’s a Hard Drive Update 1.0 update out from Apple! Put on your mining hats and let’s go spelunking… first stop the package .dist file has some strings of interest:
    if( model.match(/ST3500641AS/) )
    if( revision.match(/3.BTD/) )
    if( model.match(/ST3750640AS/) )
    if( revision.match(/3.BTF/) )

    This refers to Seagate’s 750GB & 500GB drives

    What else can we find? Once we open the archive.pax.gz there’s the actual Hard Drive Update 1.0 Cocoa app, which has a very scary sounding readme.rtf file inside the Contents/Resources/.lproj:

    Warning: It is strongly recommended that you back up the data on your hard drives to an external drive or removable media before running this update. Do not reset, shut down, or turn off power to your computer while performing this update. If an error occurs during the update process, your hard drive(s) may become unusable and all data could be lost. If you have not backed up your data, click Quit and do so now.

    As Count Floyd would say: “Oooh Scary

    Next up is the MacOS/Hard Drive Update 1.0 binary and a selection of strings:
    installEFIUpdater:
    %@/%@/hdfw.efi
    This computer is not connected to an AC power source.

    It uses an EFI application that will update the firmware on the drives (the AC line makes me chuckle, to think of what the battery life of a Mac Pro would be?! Obviously they used a template for this.)

    Inside hdfw.efi are strings that refer to Cygwin, interesting what platform they are using to develop this with: a Windows box emulating *nix
    C:\cygwin\home\Loki\Platform\Apple\Common\Application\ATAHDFWUtil\ATAHDFWUtil.c
    C:\cygwin\home\Loki\Platform\IntelMpg\AppleTools\Build\X64\ATAHDFWUtil.pdb

    Inside the Hard Drive Update 1.0.app/Contents/Resources/System/HDFW directory are hives of model names with single string files (FWAlias & FWCurrent) and the actual firmwares (FW01):
    ST3500641AS__P 3_BTD/FWAlias
    ST3500641AS__P 3_BTE/FWCurrent
    ST3500641AS__P_3_BTE/FW01
    ST3500641AS__Q 3_BTD/FWAlias
    ST3500641AS__Q 3_BTE/FWCurrent
    ST3500641AS__Q_3_BTE/FW01
    ST3750640AS_P 3_BTF/FWAlias
    ST3750640AS_P 3_BTH/FWCurrent
    ST3750640AS_P_3_BTH/FW01
    ST3750640AS_Q 3_BTF/FWAlias
    ST3750640AS_Q 3_BTH/FWCurrent
    ST3750640AS_Q_3_BTH/FW01

    Here’s an amusing edited list of strings :D
    0000000000000c96 Lube Event
    0000000000000d28 Virgin Sector Cleaned
    0000000000000e8f Enter DateOfBirth YYWW
    0000000000000eaa Enter 64Bit WorldWideName
    000000000000534c DRIVE HAS BEEN SET-STUFFED -%1
    00000000000058ca Invalid caller to SaveStuffToDisk()! Write not done! %x
    0000000000006c1a !! Going Offlimits !!
    0000000000006c31 Sleep?

    Sounds like a date gone wrong! You really should get the DOB before initiating a lube event on a virgin sector… *ahem* let me try and get back on track with a couple informative strings about the guts of the drive:
    0000000000012b4b Orig Code = BTG4H1 TONKA2_GX_4H1.0GC.0B9
    0000000000012e87 Built for GALAXY4D,PITKIN,Redback,TI1810 PreAmp,Agere7531 PreAmp,McKinleyDT,4Disk,220 Servos,7200RPM,8Pole,133MHz

    Well, enough spelunking I’m headed topside now.

    What’s in the Login & Keychain Update 1.0

    Login & Keychain Update 1.0

    The Login & Keychain Update 1.0 for Mac OS X 10.5 Leopard is recommended for all Leopard installations. It addresses issues you may encounter when:

      *Logging in with an account originally created in Mac OS X 10.1 or earlier that has a password of 8 or more characters.
      *Connecting to some 802.11b/g wireless networks.
      *Changing the password of a FileVault-protected account.

    What files does it affect?

    /System/Library/Extensions/IO80211Family.kext/Contents/PlugIns/AppleAirPortBrcm4311.kext/Contents/MacOS/AppleAirPortBrcm4311
    /System/Library/PrivateFrameworks/DiskImages.framework/Versions/A/CodeResources
    /System/Library/PrivateFrameworks/DiskImages.framework/Versions/A/DiskImages
    /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/OSServices.framework/Versions/A/CodeResources
    /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/OSServices.framework/Versions/A/OSServices

    Brcm4311 meaning the Broadcom 4311 wireless chip
    I’m sure this is a stop-gap until 10.5.1

    What’s in the ATI Radeon X1900 XT Firmware Update?

    OK so there’s an update for the Radeon X1900 and we really don’t know what’s been improved…
    If you wanna know where the ROM is it’s here
    ATI Radeon X1900 XT Graphics Card Update.app/Contents/Resources/
    ATIFacelessFlash.app/Contents/Resources/R580Alopias_1.202_EBC.ROM

    And what’s in it? Pure binary. No symbol tables, no strings save for the the device number and copyrights….

    ATY,Alopias
    ATY,RadeonX1900
    113-A52027-202
    109-A52027-00
    01.00.202
    AMD Inc. All Rights Reserved. 2005-2007

    If we had the original ROM and this we could see what’s different then reverse engineer the binary! Whatcha think? :roll:

    Me thinks Apple and AMD/ATi should pimp themselves better for all their hard work…. unless it’s a bone headed bug they had to fix :lol:

    Mac Pro 10.4.10 AutoNegotiation Woes

    In case you didn’t know, MacPro’s with 10.4.10 are connecting at 10Mb speeds to 1000Mb switches and hubs… bummer :(

    So a kext is the culprit:
    /System/Library/Extensions/IONetworkingFamily.kext/
    Contents/PlugIns/AppleIntel8254XEthernet.kext

    In 10.4.9 it’s version is 1.1.7a3, in 10.4.10 it is 1.1.8a2, in 10.4.11 it is 1.1.8a6
    That doesn’t matter much really, but that’s the details.

    So you gotta roll back the kext:
    1. Get the 10.4.9 Intel Combo Updater
    2. Get OpenUp or Pacifist
    3. Open the DMG
    4. Show contents on the PKG
    5. Copy out the pax.gz file to the desktop
    6. un-Gzip the pax, and open that up (with Pacifist or OpenUp)
    7. Get the old IONetworkingFamily.kext
    8. Copy it into your /System/Library/Extentions

    Now, the ownership on the kext need to be changed to root:wheel or if you’re in Finder system:wheel
    Also, you should either delete the kernel caches or:
    sudo touch /System/Library/Extensions
    this changes the date stamp on the directory and OS X will recreate the kernel caches…

    And yes, the 10.4.11 seed update corrects this.

    Bonus Log files: These have been “prettied up” for readability, but you’ll see, 10.4.10’s driver is just spitting out Zer0s so the network switch/hub has no choice but to say “O K… I ‘ l l s p e a k s l o w e r t h e n…”

    10.4.9:
    Auto-Neg Advertise Reg (04d) = 0xde1,
    Link Partner Ability Reg (05d) = 0xc5e1,
    Gig Advertise Reg (09d) = 0xe00,
    Gig Link Partner Ability Reg (10d) = 0x7800

    10.4.10:
    Auto-Neg Advertise Reg (04d) = 0xde1,
    Link Partner Ability Reg (05d) = 0x0,
    Gig Advertise Reg (09d) = 0xe00,
    Gig Link Partner Ability Reg (10d) = 0x0

    10.4.11(seed, much prettier logging in this kext):
    Auto-Negotiation Advertisement Register (04d) = 0xde1
    Auto-Negotiation Link Partner Ability Register (05d) = 0xc5e1
    Auto-Negotiation Gigabit Advertisement Register (09d) = 0xe00
    Auto-Negotiation Gigabit Link Partner Ability Register (10d) = 0x7800
    PHY Specific Status Register (17d) = 0xaf48

    If this info from 10.4.11 is NDA well bite me, I think people should know it’ll be fixed in the future, right? :)

    What’s in the MacBook, MacBook Pro Software Update 1.0?

    Well they forgot to enable Journalling so they just have to turn it back on with this update. And after it runs the .dist file and makes sure you have the right machine, it runs this command:
    /System/Library/Filesystems/hfs.fs/hfs.util -J /
    You’ll find it in the postflight file. Besides that it installs a blank dummy file in /var/tmp, because otherwise a package will complain that it didn’t have anything to do!

    Anyhoo, to check to see if you have Journalling installed, there are many ways, but here’s the Terminal way:
    /System/Library/Filesystems/hfs.fs/hfs.util -I /

    What’s in the Quicktime 7.2 Compatibility Update?

    So just one file gets updated:
    /System/Library/QuickTime/QuickTimeComponents.component
    There are some telling strings about a JPEG2000 update in this file:
    /SourceCache/QuickTime/QuickTime-616/Warhol/CodecManager/JP2Codec2/JP2Interface/Kakadu/apps/jp2/jp2.cpp

    Warhol: that was the name of Quicktime when it was in development and apparently still around for nostalgia’s sake
    Kakadu: This is a C++ framework for JPEG2000 handling, which is not just for stills, it can do motion too. I’ve always Vjed with MJPEG clips for quality’s sake.
    QuickTime-616: The previous version of QuickTimeComponents.component contained QuickTime-579, and the Kakadu website mentions they are up to version six now, so it would seem this version number is related to Kakadu and not Quicktime? However I seem to remember QT Player Versions numbers and API’s don’t always sync…

    However I can’t say exactly what else is in this binary file that improves compatibility with iLife. And I don’t think I’m gonna bust out otool and find out either. Pick up Amit Singh’s book for How-To’s on that :)

    What’s in the iMac Software Update 1.1

    Another minimal blurb from Apple

    About iMac Software Update 1.1
    This update provides important bug fixes and is recommended for 20-inch and 24-inch iMac models with 2.0, 2.4, or 2.8GHz processors

    OK so guess what the bug fixes are for?
    That’s right more graphics stuff!

    /System/Library/Displays/Overrides/DisplayVendorID-610
    /System/Library/Extensions/ATINDRV.kext
    /System/Library/Extensions/ATIRadeonX2000.kext
    /System/Library/Extensions/ATIRadeonX2000GA.plugin
    /System/Library/Extensions/ATIRadeonX2000GLDriver.bundle
    /usr/libexec/oah/Shims/GLEngine.bundle

    The Displays/Overrides file has all sorts of gamma values and RGB color points for the display to use. Then a couple kernel extensions for the video card, some plugins, drive bundle, and the Rosetta GLEngine. So an all round Universal patch fest for the drivers. Is AMD/ATI gettin’ to work or what!

    However on second thought is the overides file with it’s color information a response to the 18-bit color reproduction issues some people have been talking about? Hmmmm….