Adobe CS3 on Mac OS X 10.7 Lion

So, I got Lion at work and was going through the process of installing all my work programs including Adobe Creative Suite 3 (CS3). The install finished without any problems. However, when I tried to update it the Adobe Updater returned immediately saying that there weren't any updates.

Now, I know this isn't true because the last time I installed CS3 it had about 500MB of updates! It turns out that CS3 has reached end-of-life and you can't run the installer anymore. That is, unless you set your clock back to a time before July of 2011.

Problem 1 Solved: set my clock back to January of 2011 and the updater found all the updates it needed.

Near the end of the updates installing I got the message that you see in the image above, "You can't open the application bspatch because PowerPC applications are no longer supported."

To make a long story short, follow these instructions posted by Sergio-PL

1) Open terminal (as user)

2) Type: whereis bspatch

3) Note the location of file (ie. /usr/bin/bspatch )

4) Create directory temp somewhere in your system

5) Download 13.0.1 (and next updates) from Adobe website

6) Mount DMG file

7) In terminal – go to your temp directory (ie. cd /Users/username/temp )

8) Copy AdobePatcher.app to the temp directory ( cp -R /Volumes/PatcherApplication/AdobePatcher.app . ) <– dot at the end is _important_

9) Go to the Adobe's bspatch file location (cd AdobePatcher.app/Contents/Resources/PatcherApplication.app/Contents/Resources )

10) Delete bspatch file ( rm -f bspatch )

11) Create symbolic link to the OS X version ( ln -s /usr/bin/bspatch bspatch )

12) Type ls -l to list files. There should be one line looking like this: lrwxr-xr-x 1 sergio staff 16 21 sie 01:17 bspatch -> /usr/bin/bspatch )

13) Go back to Finder, enter your Temp directory and run AdobePatcher.app. Illustrator should update without any problems

14) Repeat those steps for all futher Illustrator updates

Problem 2 solved: make symbolic links to bspatch in the Illustrator patch app.

Whew!

Holiday Calendar for iOS, the Easy Way

Get the iOS Holiday Calendar straight from Apple.

Force PDF to download

Real quick, in order to force PDF files to download instead of showing in the browser add this to your .htaccess file

::CODECOLORER_BLOCK_1::

Works reasonably well for me.

(EDIT) Except, then I realized that it doesn't work in my favorite browser, Chrome. So, here is the new code…

::CODECOLORER_BLOCK_2::

For this I had to enable mod_headers and restart apache:

::CODECOLORER_BLOCK_3::

That works for Chrome and all the other browsers on my computer, so, hopefully, that will do the trick.

Stupid SSL Certificates

So, we get our security certificates (for our Ubuntu web server) from Thawte, 'cuz they're cheap. Their instructions take you through every step to create and implement your certificate, however, for some reason, apache wouldn't restart when the server was restarted. typing apache2ctl restart gave a long error that goes something like "(98)Address already in use: make_sock: could not bind to address 0.0.0.0:80"

While I still have no idea what that means, I found the solution.

https://search.thawte.com/support/ssl-digital-certificates/index?page=content&id=SO14534&actp=search&viewlocale=en_US&searchid=1320343950580

I guess when apache started it wanted the key for the certificate and that is what caused it to fail. so the solution is to input the key like in the above url, or remove the key encryption and use that for your certificate instead. Like in this link.

https://search.thawte.com/support/ssl-digital-certificates/index?page=content&actp=CROSSLINK&id=SO307

::CODECOLORER_BLOCK_4::

Server reboots like a charm now.

aMember old email confirmation messages fail

We use aMember to control access to some of our pay sites. One thing we noticed is that occasionally we'd get a call from someone saying that they say this error message when they tried to confirm their email address:

Incorrect link – make sure you copy link from your email client correctly

After a call to tech support it turns out those confirmation links are only valid for 10 days. By deactivating the code that checks the age we've been able to "fix" the problem. Here's the code from signup.php

if (time() - $email_confirm_time &gt; 10 * 24 * 60 * 60) // check that &#039;time&#039; saved in record is not older than 10 days (to avoid code guessing)
fatal_error(_SIGNUP_INCORRECT_LINK, 1);<!--formatted-->

Commenting out this code made it so that old email confirmation links worked. The only troubling thing is that a comment in the aMember code says that the check is there to to avoid code guessing. But, with our low-traffic site I'm not too worried about it.

Increase WordPress maximum upload size

WordPress allows you to upload images, such as the one on the left, directly from the new post page. However, on a default Ubuntu install, the maximum upload size is 2MB.

It turns out the limitation is in PHP, and specifically in two settings that you can change in php.ini (/etc/php5/apache2/php.ini):

upload_max_filesize and post_max_size.

Set both of these to the value you want (20M), reload apache (apache2ctl graceful), and you're in business.

Log file rotation in Ubuntu

Ubuntu handles log rotation with a utility called logrotate. By adding your own profile to /etc/logrotate.d (just follow the examples already there) the utility will rotate any logs you want.

Who knew?

Headless CrashPlan on Linux

It is possible to run CrashPlan (great backup software found here) on a Linux server that does not have a GUI.
First, install it on your Linux box:
  • tar xzf CrashPlanPRO_2010-03-08_Linux.tgz (or latest file)
  • cd CrashPlanPRO-install
  • sudo ./install.sh
  • finish install with all defaults
  • /usr/local/crashplan/conf/my.service.xml and change "servicehost 127.0.0.1" to "servicehost 0.0.0.0" and reboot. (you need to change this back once you get it installed so the world can't make changes to your backups)
  • make sure your firewall allows port TCP 4242 and 4243

Then you need to install CrashPlan Client on your local pc and make the following change:

  • c:\Program Files\CrashPlan\conf\ui.properties change "#serviceHost=127.0.0.1" to "serviceHost=10.0.0.5" (10.0.0.5 is the Linux server ip)

Now you can connect using the client on your pc but making the changes on the Linux box.

(Thanks Schwer Log)

Naturally, this camera is crap

Quick intro: A friend recently had a duck take over his planter and use it as a nest for its eggs. So, he bought an IP camera.

The Foscam fi8905w outdoor wireless IP camera has some nice features, but it needs a lot of hand-holding to make it work. You can control it through a URL-based set of scripts. Here's the most useful examples:

::CODECOLORER_BLOCK_6::

You can set parameters and reboot the camera with commands detailed in this guide.

We ended up with a series of tools and scripts to make the camera more useful. First is a script that grabs a photo every minute and stores it in an archive.

::CODECOLORER_BLOCK_7::

Next, because the camera doesn't handle going from night to day very well, we had to write a script to handle that. But, the camera stops responding after the brightness has been set, so we wrote a script that reboots it once a day right before setting the brightness at daybreak. This seems to work, but it's far from ideal.

::CODECOLORER_BLOCK_8::

We realized that we wouldn't be able to stream from the camera itself because the owner's internet connection wouldn't handle it, so we found a tool that takes the IP camera feed and rebroadcasts it. The tool is called webcamXP.

After all that we have a pretty good setup for watching the miracle of life. Even if the image is a little washed-out.

Hash tag location change causes reload in webkit

 

Webkit browsers (Chrome, Safari, etc.) all show an annoying bug: When you have a frameset page and one of those frames sets the hash location, the whole page reloads. This doesn't happen in IE or Firefox, and has been submitted (and not rejected) as a bug in Webkit. But, the bug was submitted years ago, and nobody seems to care.

I found a workaround and posted it to stackoverflow. In short, use a full page table instead of a frameset.