Baseball Time Machine

Last night I was invited to a baseball game in West Virigina.

Unfortunately, the weather was pretty bad, and although the rains let up briefly, the announcer told us that due to pending thunderstorms in the area, the game was postponed. However, for our troubles, we’d be given a firework show before leaving the stadium.

I love fireworks. And I really have to admit, they handled it well. The display started slowly, and then built up, and soon resulted in a massive display.

But, rather than burning out in a big finale, they calmed back down and eventually got a pace where they shot off one every minute or two. Non-stop.

This was brilliant. Instead of sending a massive crowd heading for their cars, it thins the crowd out over time. If you’re enjoying the slow display, you stay. If you’ve had your fill, you leave. Even as it was, we were some of the last to leave, and it was still going.

The down side was that it started to rain again, and that brought with it thunderstorms.

As we pulled home, the parents sent the kids upstairs to bed, since it was about an hour and a half past their bed times. And, as kids would have it, they stalled, calling for me to come up and tuck them in.

I went up to my niece’s room, gave her a hug and a goodnight kiss on the forehead, and closed the door. But right at the moment the door closed, there was a huge crack of lightning, such that I could see it under the door frame, with accompanying earth shattering kaboom. I remember seeing the flash, as it knocked out all the power in the house, which returned an instant later.

My niece called out, “Walt! Come back. I need you. Something’s wrong.”

Realizing this might also be a stall technique, I didn’t comply, but stayed silently outside her door.

“Walt?! I’m serious. Something’s wrong!”

At that point, I opened up the door. “What is it? You’re supposed to be in bed.”

Never mind that, “Something’s wrong with my clock! It’s flashing twelve!”

Apparently, she had never seen that before and was unaware that the clock’s reset was tied to the sudden loss of power. And, as my duty as an uncle, I had to play into this.

“That’s because it’s midnight. I put you be three hours ago.” Of course, it had merely been seconds ago, but I started to close the door again, pretending to leave.

“What? The clock said it was 9:30.”

“Yes, when I put you to bed a while back and you fell asleep. Look…” I then held out a hand and counted off on my fingers, “ten… eleven… twelve. See, three hours. I think the thunder just woke you. You’re okay. Good night.”

She started to take this in, pondering the possibility that she just may have been asleep and had just woken up.

“Wait!! The clock now says 12:01! What is going on?!?”

“It’s now one minute after midnight. You need to be in bed.”

This went on for a little bit more before she deduced I was making up her little time travel experience.

“Uncle Walt, I need my clock set. I’m supposed to wake up at 7:30 to play. What happens if I wake up and it blinks twelve at me, I’m going to be very confused. I can’t function like this.”

“Can’t you just subtract 3 from whatever the clock says?”

“You want me to math, in my head, that early in the morning? Can you please just set it?”

Well, if you put things that way, that was a reasonable request. No one should do math in the morning. So, I pulled out my phone and set the clock to the minute.

Which, coincidentally, was 9:30.

Now, the fact of the matter was that that clock had said 9:20 when she went to bed, she just remembered it as 9:30. So, this didn’t stop me from explaining that in setting the clock we went too far back in time, before she was put to bed. Clearly this now explained why she didn’t feel sleepy.

Recover PDF Password

Software review of Recover PDF Password by Eltima Software

Recover PDF Password

Ever run into a problem where you have a .PDF file that’s password protected, only you’ve forgotten the password?

I went on the hunt for the best PDF password recovery utilities for the Mac, and the resounding pull of the tide was to Recover PDF Password by Eltima Software.

The version reviewed here is Version 3.0, Build 3.0.40.

With a PDF file, it turns out there can be two passwords.  The owner password in Adobe Acrobat called the change permission password, which is used to inhibit changing the document, restrict printing, copying, and other related features.  The user password merely allows opening the file.  Recovery PDF Password can not only recover them both, but remove them as well, rending a neutered document; it can also remove a digital signature.

PDF passwords are not simple obfuscation, that would be easily reversible and insecure.  Instead, cracking the encryption involves walking the key space, a task that Recover PDF Password is capable of doing, even when the password contains Unicode characters, using multiple cores to accomplish the feat.

Given that the key space is actually quite enormous, and that users often pick weak passwords, Recover PDF Password can leverage this fact if you know a little bit about your password already. This is what makes Recover PDF Password rather clever —intelligently narrowing down the key space to only try passwords that are likely.

To start with, there’s a Dictionary attack, which will not only try a common list of words, numbers, or your own common password collection, but it will also perform a number of common heuristic checks against permutations that humans commonly do, such as altering upper and lowercase, reversing, replicating characters, dropping characters, adding characters, etc. This gets more bang for your buck out of common password lists. 

Here’s 62 thousand common passwords to get you started.

While trying a known dictionary is very quick, it doesn’t work against unique, inventive passwords.  To do that Recover PDF Password can also be made to use a brute-force attack.  Again, it has the ability to narrow down the key space to something much more manageable.  It does so by allowing you to specify a minimum and maximum password length, you can provide a wildcard template of what you suspect the password is, or you can conduct a completely exhaustive search.

It’s also possible to limit the characters to uniquely or a combination of lowercase, uppercase, digits, symbols, white space, or additional characters of your choosing.

Recover PDF Password provides a coarse estimate of how long the process will take, the elapsed time so far, and the passwords found. As walking the key space to discover a password can be fairly CPU intensive, this is often a task left to the background or when you’re not using your machine. This is why Eltima built a pause and resume feature in, so that you can put the process on hold, use the full power of your machine, and then resume without having to start all over again. Also, if it’s already discovered the password to a file, it doesn’t have to recompute it (unless you want it to), as it remembers the prior password for a file for you.

The user interface is fairly straight forward, and the online help adequately addresses any subtle questions that might surface. Not only can it recover the password, but it can be used to provide information about the .PDF file as well.

There are some limitations to be aware of, as of this version the software can only recover the password for Adobe .PDFs for version 9 using 256-bit encryption.  Additionally, it’s possible with some really exotic passwords to find a match, but not be able to physically enter it. (See Note #1.) It also will not support removing a Digital Certificate (a Digital ID) due to International Copyright Law.  (See Note #2.)  These conditions are rare, but worth knowing about.

It’s also important that user expectations be set up front about the timeliness of the brute-force task. Encryption isn’t supposed to be easy to crack, and it’s supposed to be prohibitively expensive to brute-force.

Crack Curve

Recover PDF Password will usually get a 6 character password in a fairly short period of time. However, a 9 character password results in an estimation of “more than a day.” The problem with that is, according to How Secure Is My Password, a somewhat trivial password of that length can take several days, and a complex choice of characters can bump that up over 80 years.  Another site showing tables of Password Recovery Speeds computes that even just mixed upper and lower case characters can take from a month to several millennia. Just single case alphabetics can run in months to years.

This explains why strong passwords are usually at least 12 characters long, contain multiple character classes, and abide by rules to increase password complexity. In a nutshell, if the password you’re trying to recover is too long, or too complex, Recover PDF Password will theoretically get it, but your patience will have long run thin, your hardware’s mean time to failure will come upon you, or you’ll expire yourself before it’s recovered. This is the value of a strong password.

The solution to that problem is clusters of machines working together on the problem, a tactic well-funded governments employ. Perhaps with cloud services and ever faster and more parallel machines becoming affordable, the reach of the average user will extend to cover slightly larger passwords. Eltima tells me they are looking at solutions that allow multi-machine cooperation on a network, and are giving consideration and thought to cloud servcies.

All this, of course, is thwarted by people using much longer and secure passwords today.

As such, being realistic about the matter, Recover PDF Password was able to recover short, simple passwords in a reasonable time, although the real-world passwords I use still require too much computational time to brute-force a recovery. But that’s where the software seems to be appropriately named, especially if you don’t think of it as a password cracker, but a recovery tool. See, most people have a general idea about what the password may be, but have forgotten the specifics of what variation that might have been used. Recover PDF Password’s dictionary and template modes allow for quick experimentation, and using that, I was able to recover a 9 character password because I had some idea about what it looked like and could cooperate in the reduction of the key space process. Recover PDF Password did the grunt work of trying all the possibilities.

In that respect, Recover PDF Password is quite a useful tool, but your mileage may vary based on password length, password strength, and your own recall.

I’ll also point out that when I tested this version with OS X Lion (v10.7.4), Recover PDF Password recommended I install Growl (which comes with the software). The only problem is that it is an older version than Growl available on the AppStore. Eltima has said they are going to reach out and become partners to restore the option with Lion; hopefully this happens before Mountain Lion his the App Store.

While Recover PDF Password is quite capable, there are a number of features I’d like to see in future versions, which I think would enhance the software immensely:

  • Some additional dictionary heuristics, such as Leet substitutions — where ‘apple core’ is spelled as ‘@9913 (023’.
  • The handling of a batch of PDFs at once — walk the key space once, check for all.
  • Displaying passwords as found.
  • Improved progress indicators: how many keys there are, how many it’s tried so far, the velocity of guesses per second.
  • Provide realistic estimates, based on the average velocity, for the coverage of 50% and 100% of key space.
  • Provide hints about how to reduce the runtime through stricter settings.
  • Provide a Regular Expression-like syntax for far more complicated password templates.
  • The ability to “nice” the guessing task — so that it always keeps humming away, but at a lower priority, rather then full-on or full-off.
  • Allow a full quit of the application and to resume later where left off (adding more PDFs as well).
  • Allow the user to enlist a cloud service — it pushes the hashes up and a whole slew machines beat on them.
  • Where practical, build either a pre-computed hash table for quick look up, or grow an online comprehensive dictionary of new passwords to try.
  • Provide realistic estimations before kicking off the job, thus allowing the user to tweak parameters and see the impact.
  • Allow one to pause the job and refine the key space further — one might remember something more about the password and not want to start all over.
  • Utilize the full power of multiple threads, multiple CPUs, the GPU, and if available other machines on the network — a generous license would do wonders for this software.

Quite a number of these suggestions resonated with Eltima Software, and I look forward to seeing more good things from them in the future. 

Making RawTherapee Work in OS X Lion

RawTherapee

I’ve been playing with RawTherapee (v4.0.9), a very impressive RAW file editor that’s extremely technical. It’s available on Google Code.

Here’s how I made it work with OS X Lion 10.7.4.

After installation, opening the app results in an instant crash with an error like this:

Dyld Error Message:
  Symbol not found: _iconv
  Referenced from: /usr/lib/libcups.2.dylib
  Expected in: /Applications/RawTherapee.app/Contents/MacOS/lib/libiconv.2.dylib
 in /usr/lib/libcups.2.dylib

This post led me to copy some libraries from OS X into the application directory:

$ cd /Applications/RawTherapee.app/Contents/MacOS/lib/
$ cp /usr/lib/libcups* .

And then to fix the icons:

$ sudo mkdir -p /opt/local/share
$ sudo ln -s /Applications/RawTherapee.app/Contents/MacOS/share/mime /opt/local/share/mime

You’ll still get a lot of memory errors in the console, but it’s possible to use the software.

Case-Sensitive GNU sort

GNU sort appears to be producing case-insenstive output all the time, no matter what you use for the case-insenstive switch. Turns out there’s a little more going on behind the scenes you need to know.

Had something unexpected happen while using sort the other day: it behaved differently on two different systems.

In a nutshell, I went to go sort data that looked like this:
xyz
CAT
abc

The correct answer, due to case-sensitifivity, should have been:
CAT
abc
xyz

This, by the way is what Cygwin happens to produce.

Instead I was getting the case-insensitve answer:
abc
CAT
xyz

And while the sort program had a case-insenstivive switch, -f, it always seemed to be applied.

I checked for a command alias. None.

I tried a negation value, -f-, and that did nothing for me.

Eventually I figured out that the issue was with the locale specified in the environment variables.

If LC_ALL=en_US, then I got a case-insentive order, no matter what. The solution was to change it to LC_ALL=C to get the case-sensitive version.

As GNU allows explicitly for case-insensitivity, I really wish they’d also explicitly allow for case-sensitivy.

This seems to trip up a lot of people, judging by the number of posts out there about it.

Installing Hadoop on OS X

Fix the “Unable to load realm info from SCDynamicStore” error on OS Lion when using Hadoop.

Using Homebrew to install Hadoop on Lion OS X 10.7, I ran into a snag.

Attempting to do:
$ hadoop namenode -format

Resulted in this error: Unable to load realm info from SCDynamicStore

The solution was in Brandon Werner’s blog on How to Set up Haddop on OS X Lion.

As he puts it, to fix this issue, simply add the following single line to your hadoop-env.sh file:

export HADOOP_OPTS="-Djava.security.krb5.realm=OX.AC.UK -Djava.security.krb5.kdc=kdc0.ox.ac.uk:kdc1.ox.ac.uk"

Other Tips

  • The use of $HADOOP_HOME is now deprecated.
  • Homebrew uses /usr/local/bin with symbolic links to its /usr/local/Celler, so Hadoop just works from the command line. No need to add it to your path.
  • The Hadoop config files reside in /usr/local/Cellar/hadoop/*/libexec/conf

Art Epiphany: There Are No Lines

“Do not try to draw the line — that’s impossible. Instead, only try to realize the truth: there is no line.”

Portrait by Paige

Here’s your art epiphany for the day.

There are no such thing as lines. There is only contrast.

A line is merely a stark contrast between negative space, positive space, and negative space.

Realistic drawings mirror nature, which have adjacent gradients. Where those meet, it creates contrast.

Installing CS5.5 Master Collection on OS X Lion

Installing Adobe CS5.5 Master Collection on OS X Lion and having the Installer hang? Here’s the solution. It isn’t pretty, but it works.

I had a terrible time installing Adobe CS5.5 on OS X Lion 10.7.2; it was the kind that makes you string together colorful phrases and aim them at Adobe. In theory one should be able to install on top of a prior installation. Then again, in theory communism works.

In short, the installer ran, accepted the serial number, authenticated my adobe id account, and offered me a number of packages to install, however when the grand moment came to install the applications, the progress bar never turned into a progress meter. The estimated completion time remained at “Calculating.” And the percentage complete remained at 0%. The only way out was Force Quit.

I should point out if you’re seeing authentication errors, and not a hang error, make sure you have the Java Runtime installed on Lion. Java doesn’t come with Lion by default (thanks for that, Apple). It’s a known issue to Adobe, and it’s discussed on the Apple forums.

Skip to solution…

More Symptoms — Is this familiar?


A failed install can manifest with some of the product installed, just not the application. For instance PDApp, AAM Updated Notified, LogTransport2, Setup, AAM Register Notifier, adobe_licutil, all will appear in the dash board.

The Adobe Setup Error.log will have nothing in it beyond the text “Performing Bootstrapping…”

::START TIMER:: [Total Timer]
CHECK: Single instance running
CHECK : Credentials
Load Deployment File
Create Required Folders
Assuming install mode
::START TIMER:: [Bootstrap]
Perform Bootstrapping …

If one opens Console and looks at the System Log Queries / All Messages, you might see this:

1/25/12 8:05:39.637 PM PDApp: CFURLCreateWithString was passed this invalid URL string: ‘/System/Library/Frameworks/’ (a file system
path instead of an URL string). The URL created will not work with most file URL functions. CFURLCreateWithFileSystemPath or CFURLC
reateWithFileSystemPathRelativeToBase should be used instead.

1/25/12 8:05:39.637 PM [0x0-0x25025].com.adobe.PDApp.setup: 2012-01-25 20:05:39.636 PDApp[389:60b] CFURLCreateWithString was passed
this invalid URL string: ‘/System/Library/Frameworks/’ (a file system path instead of an URL string). The URL created will not work
with most file URL functions. CFURLCreateWithFileSystemPath or CFURLCreateWithFileSystemPathRelativeToBase should be used instead.

Looking at the .log files in /Library/Logs/Adobe/Installed, you might see an Error DW020 or Error DW050. In reading In reading http://kb2.adobe.com/cps/902/cpsid_90243.html, I see that it says if there are no additional errors types (there weren’t)
 to see http://kb2.adobe.com/cps/844/cpsid_84451.html, which didn’t help either.

HOWEVER, at the end of the article it makes this observation: “These errors occur when the version of Flash Player that on your syst
em is newer than the version installed by the CS5.5 installer.”

Someone thread on http://forums.adobe.com/thread/856962 suggested the problem is Adobe AIR, which I noted was installed the m
oment I installed the Adobe Support Advisor to decipher Adobe log files, expose error messages, and make recommendations of support articles. Of course, it wasn’t.

Sometimes cleaning a bit appears to help, only to falsely get your hopes up. The installer may appear to run and then issue this:


Exit Code: 24
————————————– Summary ————————————–
– 0 fatal error(s), 65 error(s), 0 warning(s)
ERROR: DW001: Set payload cancelled status

ERROR: DW049: Payload {007A2A28-D6A8-4D91-9A2B-568FF8052215} has an action “install” but no resultState
… repeats dozens of times with different GUIDs …
ERROR: DW049: Payload {FECCB1BF-038D-41C2-861B-4560E7667005} has an action “install” but no resultState
ERROR: DW050: The following payload errors were found during install:
ERROR: DW050: – Adobe Player for Embedding 3.1: User cancelled installation
ERROR: DW001: User cancelled the operation
—————————————- ———————————————

For the record, I did not cancel the operation.

Checked http://kb2.adobe.com/cps/834/cpsid_83481.html, but Exit Code 24 wasn’t listed.

In looking at http://blogs.adobe.com/oobe/2010/04/cs5_desktop_product_subscripti.html, there is a comment by By Isaac O. Nwuju – 9:5
7 PM on February 1, 2011 that writes Error Code 24 in a response to Adobe thinking an Adobe product is already installed.

Other Mostly Useless References


I have read http://kb2.adobe.com/cps/905/cpsid_90508.html.

  • I am able to get to my ~/Library folder with no problems, that’s not the issue.
  • I do have the Java runtime installed:$ java -version
    java version “1.6.0_29”
    Java(TM) SE Runtime Environment (build 1.6.0_29-b11-402-11M3527)
    Java HotSpot(TM) 64-Bit Server VM (build 20.4-b02-402, mixed mode)
  • I am not seeing Crash Reporter delays
  • I am not having issue with opposite scroll behavior
  • I have no need to use Rosetta
  • My issue is one of installation, not product features, so autosave/restore/versioning/fullscreen/multi-touch are all non-issues.
  • As I can’t get any software installed, I don’t have a product specific issue.

I have read http://www.adobe.com/products/creativesuite/faq.html#lion-os and have downloaded and installed the latest Flash Player.


I have read http://kb2.adobe.com/cps/828/cpsid_82827.html and it was not helpful.

  • I am able to make it all the way past the Install Options screen.
  • The progress bar never computes an estimated time or disk space, and installation remains at 0%.
  • The installer does not report any conflicts, the cleaner tool does not report any other Adobe products, and the Support Advisor tool does not report any problems with the environment.
  • The hard disk has over 150GB of free space.
  • The OS meets the minimum requirements.
  • The Install _did_ initialize.
  • No other installer is running.
  • The file system is not case-sensitive, but is case-preserving.
  • I do have administrative rights.

I have read http://kb2.adobe.com/cps/844/cpsid_84451.html which was partially helpful…

Looking at PDApp.log, I see this error message:

Mon Jan 23 18:25:33 2012[WARN] LWANative – Error in mdbOpenSessionNoCreate 8

And also this later on:

Mon Jan 23 18:25:34 2012[INFO] LWANative – pwa_openSession Session key : 24A46193-DEC1-47E4-AE35-41B39D994CF7
Mon Jan 23 18:25:34 2012[ERROR] LWANative – OOBElib returned error: 34
1/23/2012 18:25:34.889 [INFO] DWA.Utils PWA closesession returned <result><session^gt;24A46193-DEC1-47E4-AE35-41B39D99 4CF7</session></r
esult>

Trial mode, as suggested by Adobe Tech Support, results in this:

1/23/2012 18:25:34.898 [INFO] DWA.StartWorkflow Appmanager size is 98285568 bytes after conversion
Mon Jan 23 18:25:34 2012[INFO] LWANative – pwa_openSession Session key : 655B1D34-154C-43DE-A070-52C639724FAE
Mon Jan 23 18:25:34 2012[ERROR] LWANative – OOBElib returned error: 47
1/23/2012 18:25:34.922 [WARN] DWA.Fetchserialnumber Fetch serial numbers returned nothing
1/23/2012 18:25:34.927 [INFO] DWA.Utils PWA closesession returned <result><session^gt;655B1D34-154C-43DE-A070-52C63972 4FAE></session></result>
Mon Jan 23 18:25:34 2012[ERROR] DWANative – Error in dwa_getInstalledPathOfPayload, pdbSession is NULL.

I can not find those error messages in the Installation launch log error table provided by Adobe at http://kb2.adobe.com/cps/834/cpsid_83481.html.

Based on any error from oobelib it appears the issue is the same – the serial number is not getting validated. This happens regardle
ss if I enter one or use trial mode. This may be because of the prior error that wasn’t able to create a session, which most likely
holds said serial number. That said, the installer does put a green check mark by the serial number when I type it in [correctly].

The article http://kb2.adobe.com/cps/828/cpsid_82828.html is useless, as I’m using the serial number off the box and the installer says it’s correct, taking me to the next screen.

The other error message appears in http://forums.adobe.com/message/4139645 — which suggests repairing disk permissions. I have, though no permission problems were found.

To summarize, I feel I’ve exhausted the online knowledge base looking for a solution.

Adobe Support


I ended up calling Adobe Support at 1-800-833-6687 and learned a few things.

They will try to spend no more than 10 minutes with you on the phone, opting to give you a time intensive task and call you back to check on things.

The initial call was frustrating and almost discouraged me from talking to them again. It boiled down to walking me through the novice steps, and then getting me to download the .dmg off their website in an attempt to blame the media.

When that didn’t work, coupled with sending them some log files and the level of detail above, I got someone who was willing to drag a supervisor into the call. I was told that because I had documented in my case file the details so well, that they were to be extra careful as there was a techie on the line. (This made me wonder if they watch out for “secret shoppers” who test technical support.)

When things really got bad, things escalated to level two support was conferenced in, which is apparently the last line of defense — but at that point I had developed the solution I’m sharing below.

Here’s how I solved it.

First, and I can not stress this enough, back up your machine. And by that, I don’t mean Time Machine only, but a bit-for-bit copy on an external drive using Carbon Copy Cloner or SuperDuper!. Or, clone the drive with Drive Genius. I strongly recommend running Disk Utility after booting an OS X Lion disc and doing a Repair Disk and a Repair Disk Permission before you start. No sense in backing up a corrupted volume.

Second, validate that your backup worked by booting from it using the Option key. Because if your bork things up, you’re going to need to restore from it, and better to learn about that now, not later. If you’re gonna skip this step, at least go read the humorous Tao of Backup before proceeding.

Finally, what I’m about to share worked for me on my installation; your result may vary, and I’m not responsible if it doesn’t work, you mess it up, nor will I be offering support. Hopefully, with the timid gone the geeks remain.

If you’ve got Adobe already installed


Make a copy of your plug0in directory. You find it by opening /Applications, find an app like Adobe Photoshop, and inside the folder that contains it, you’ll see something called Plug-ins. Copy this to somewhere safe.

If you can use Help / Deactivate… so that you don’t burn up a silver bullet and have to call Adobe Support, whose number is 1-800-833-6687, by the way.

You should be able to uninstall the Creative Suite by going to “/Applications/Utilities/Adobe Installers”, and finding an uninstaller.

Uninstalling with the big guns


You’ll want to obtain a copy of the Adobe Create Suite Cleaner Tool. Run it, and clear out CS3, CS4, and CS5-CS5.5.

Going nuclear on Adobe


Create a file called wipeAdobe.sh, put the following in it, and give it execute permissions with chmod u+x wipeAdobe.sh.


open /Applications/Utilities/Adobe\ AIR\ Uninstaller.app

sudo "/Volumes/Adobe Creative Suite Cleaner Tool/Adobe Creative Suite Cleaner Tool.app/Contents/MacOS/Adobe Creative Suite Cleaner Tool" --removeAll=CS3
sudo "/Volumes/Adobe Creative Suite Cleaner Tool/Adobe Creative Suite Cleaner Tool.app/Contents/MacOS/Adobe Creative Suite Cleaner Tool" --removeAll=CS4
sudo "/Volumes/Adobe Creative Suite Cleaner Tool/Adobe Creative Suite Cleaner Tool.app/Contents/MacOS/Adobe Creative Suite Cleaner Tool" --removeAll=CS5-CS5.5 --removeFP=1

cat ~/Adobe*.log

rm -rf ~/Adobe*.log

rm -rf ~/Library/Application\ Support/Adobe
sudo rm -rf ~/Library/Caches/Adobe
sudo rm -rf ~/Library/Caches/AdobeSupportAdvisor.*
sudo rm -rf ~/Library/Caches/com.adobe.air*
sudo rm -rf ~/Library/Caches/com.Adobe.Installers*
rm -rf ~/Library/Preferences/AdobeSupportAdvisor*
rm -rf ~/Library/Preferences/Macromedia/Flash\ Player
rm -rf ~/Library/Preferences/com.adobe*
sudo rm -rf ~/Library/Saved\ Application\ State/AdobeSupportAdvisor*
sudo rm -rf ~/Library/Saved\ Application\ State/com.adobe.*
sudo rm -rf ~/Library/Saved\ Application\ State/com.Adobe.*
rm -rf ~/Library/LaunchAgents/com.adobe*
sudo rm -rf ~/Applications/Adobe*
sudo rm -rf /Users/wls/Library/Application\ Support/CrashReporter/Adobe*
sudo rm -rf /private/var/db/receipts/com.adobe.*
sudo rm -rf /Applications/Adobe*
sudo rm -rf /Applications/Utilities/Adobe*
sudo rm -rf /Library/LaunchAgents/com.adobe*
sudo rm -rf /Library/Application Support/Adobe
sudo rm -rf /Library/Application Support/regid.1986-12.com.adobe
sudo rm -rf /Library/Frameworks/Adobe AIR.framework
sudo rm -rf /Library/Logs/Adobe
sudo rm -rf /Library/Logs/DiagnosticReports/Adobe*
sudo rm -rf /private/var/root/Library/Saved\ Application\ State/com.Adobe.Installers.AdobeCreativeSuiteCleanerTool.savedState
sudo rm -rf /private/var/root/Library/Caches/com.Adobe*

echo "Searching...."
sudo find /Library ~/Libary /private -print | grep -i adobe

rm -rf /tmp/asu*

ls /tmp

echo "Please reboot and consider reinstalling a fresh copy of Adobe Flash and Adobe AIR"

Now run it from Terminal: $ ./wipeAdobe.sh

The prep before the install


Seriously, reboot after doing the above nuclear clean.

Then, download the latest copy of Adobe Flash and install it.

Download the latest copy of Adobe AIR and install it.

And, just in case you need to analyze the log files, snag a copy of the Adobe Support Advisor, which will help you analyze the logs that appear at ~/Library/Logs/Adobe and /Library/Logs/Adobe.

Boot in Safe Mode


Finally, reboot the system, holding down Shift to boot into Safe Mode.

Login with an account that has Administrator rights. Note you do not need to make a new account, though it’s a last resort.

Because safe mode is not loading kernel extensions and clearing caches, you’ll going to find the system running rather slow. This is normal. Lauchpad is going to look abysmal.

Install the software

Now using your Disks, or a downloaded copy of the Adobe Creative Suite 5.5 Master Collection, install the software.

Enter the serial number, provide your Adobe ID, select your products, and press Next.

After everything installed, open an application like Photoshop, go to Help / Updates…

Quit the application.

Restoring the Plug-ins


Open up the application Plug-in directory as well as your saved Plug-in Copy. Copy over anything that’s not in the application’s Plug-in, making sure they end up in the same folders. Check them all. Do not over write any files or directories.

Restart the software and validate the plug-ins work. If they do, restart and log back in.

You’re done. Had you used Pixelmator or The Gimp, you’d have been photo editing rather than following this blog.

Hidden Preference File

Check your ~/Libarary/Preferences directory, do you have this hidden file?

I’m not keen on applications that leave cruft or secret files on my system when there’s no need to do so.

I ran into a file on my laptop called ~/Library/Preferences/.bridge01.dat as well as .bridge3_01.dat — why a preference file is hidden, I don’t know.

Suspecting the file might be part of Adobe Bridge (it wasn’t), I copied it to the desktop, and looked at the file with less from the command console. It was clearly a binary preference file.

I renamed the file to bridge01.plist and started to open it with Xcode, although seeing BBEdit could open it, thought I’d give that a shot and was nightly impressed it detected the file type and presented it as a regular XML file.

Inside was slightly cryptic, but I recognized a sequence of text starting with ESC- and it looked like a serial number. Using Spotlight I was able to find another file that had a matching string, my purchase notes for Flux 3, by The Escapers.

Again, I’m not thrilled about hidden .dat files that ought to be public .plist files in my user’s preferences directory. But at least it was a mystery solved.

5 Stages of Software Development

The five stages of software development bare an uncanny resemblance to….

I’ve observed that all software deliveries go through these five stages:

Denial.

Anger.

Bargaining.

Depression.

Acceptance.

Hey, wait, I’ve seen this model before.