Photoshop Awesome Tip

Recently I discovered a tip while watching a Photoshop Killer Tips
video podcast (http://www.photoshopkillertips.com/), that I
wanted to share with everyone.

If you are using a shape selection tool (oval/box/etc) and begin to
draw the shape…. if you press and hold the spacebar you can move
the shape you have drawn. And then if you let up on the spacebar and
continue to drag your mouse it will enlarge/shrink the shape as
necessary.

This little tip has saved me more than a few minutes recently so I
thought I would pass it along. I wasn’t aware you could move the
shape once I began to draw it…. so I would spend time re-drawing
the shape until I got it just right. After watching Matt move a
shape and continue to grow the shape after moving it… I did a
little digging in the online help and was able to determine how it
was done.

The Ajax Experience

Well, after posting about one of the many great things I learned at
The Ajax Experience (in San Francisco), I decided I needed to spend a
few minutes to attempt at a summary of the event.

I attended with a colleague, and we both felt that the show was very
well done and extremely insightful, beneficial for both of us. The
keynotes were well done and informative, and provided by: Edwin Aoki
of AOL, Brendan Eich of Mozilla, Chris Wilson of Microsoft, Kevin
Lynch of Adobe. AOL also provided a cocktail reception on Wednesday
evening including drinks and a fajita bar.

This show is a great show for the developer attempting to get more
into the Ajax movement as well as the seasoned developer wishing to
stay up with current trends, or seeking more details. We were able to
attend an overview of the frameworks or specialized sessions for each
framework (including Prototype, Script.aculo.us, Dojo, jMaki, jQuery,
Ext, qooxdoo, etc). These sessions allowed us to understand better
their focus as well as what they did well. It provided concrete
examples in the slides/demos of how this library works and how
typical code might look.

There were excellent sessions by Douglas Crockford on JSON, Ajax
Security, and Javascript in general. And an overview of Microsoft
Silverlight, Adobe AIR, sIFR technologies, allowed us to learn more
about how to use these offerings.

Finally, the sessions on the user experience and ways to improve it
were very helpful when you consider the size of many Ajax
applications today. User experience is having a much bigger impact on
which products make it and it was great to see topics like
“Anti-Patterns”, or “Ruining the User Experience” to help bring a
focus to this area.

One additional area of focus was performance and tools to help with
that including the recently released Yslow (a plug-in for Firebug)
developed at Yahoo! (http://developer.yahoo.com/yslow/). Another
benefit of shows like this, is to see what tools others are using to
develop/debug/tune these Ajax applications. Some of these gems were
found in the JSView plug-in for Firefox, JSLint for keeping your
javascript clean, Selenium, Aptana (awesome web development IDE based
on Eclipse!).

Prototype Framework for Javascript

After attending The Ajax Experience (many more posting coming on
this event), I was excited to start making use of Prototype to increase
my productivity while coding various Javascript routines and Ajax apps.

If you haven’t seen, or downloaded it yet, you can find Prototype
Framework for Javascript at:
http://www.prototypejs.org/

Probably the biggest time saver for me so far was the $(‘id’)
functionality, that returns a DOM element named id. This is
equivalent to document.getElementById(‘id) …. and has already saved
me tons of time.

However, one item to note…. and it is a simple mistake to make. In
putting together a quick test for this framework, I didn’t consider
that javascript that isn’t in a function can (and usually does) run
before the DOM is loaded. SO I was getting a lot of messages about
the element not having the properties that I was attempting to
modify. After making a “function doInit()” in javascript and
calling it using <body onload=”doInit()”>, then things worked *much*
better.

Again, great library and I believe the $$(‘css3 selector’) will also
save me large amounts of coding.

The great thing about this framework, is that it appears to be
compatible with all the major frameworks, and in some cases is used
inside their framework. So this is a great place to start, if you
are looking at using a javascript framework to enhance your web
applications, or coding style/speed.

Large Outlook PST files

If you are using Outlook 2003, or possibly Outlook 2007, and are
getting a message about your Personal Folder (.pst file) being full,
you can fix it using the details below:

If you have upgraded from a version Office before 2003, the PST files
that are being created are in a Office97-2002 format, and those pst
files have a limit of 2GB in maximum size. However, you can create a
new “Personal Folder” in the new “Personal Folder File” format that
allows you to grow the file to 20GB. You can then import the
messages from the older PST file into this new file. And then you
can setup Outlook to use that new file as the primary storage file
for email and you can store 20GB of email in a single PST. To change
the primary storage, just go to Tools->Email Accounts-> View/Change
Email Account Settings and in the pull down at the bottom pick your
new Personal Storage file. Once you have done that you can close the
old PST file and not show it in Outlook (just right-click on the top
level of it and choose “close ‘old pst name'”.

Factory PreInstall Flag causing problems

This weekend, I was asked to look at a system that wouldn’t allow the owner to use a USB External Harddrive (Maxtor Personal Storage 3200, 160GB). It was correctly seen by the machine and available in device manager, and the disk management utilities. However, it wasn’t assigned a drive letter by default, and attempts to assign it one failed. Windows would indicate that it had a drive letter but it never showed up in Explorer and reboot or refresh the disk management list and the drive-letter would be removed.

In the Event Viewer, I found the following error:

Event ID:270

Event Type: Warning
Event Source: PlugPlayManager
Event Category: None
Event ID: 270
Date: 7/10/2007
Time: 7:54:53 AM
User: N/A
Computer: computer
Description:
Plug and Play user-interface dialogs have been suppressed in Factory Mode.

After searching the internet, I found a reference to this message, and a “FactoryPreInstallInProgress” registry key that appears to have fixed the problem:
http://forums.techguy.org/…

Details:

Under the Startup key, deleted the
“FactoryPreInstallInProgress”=dword:00000001

Deleted the entire
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Factory key.

Reboot, and it detected the hardware and displayed the balloon help indicating that it was successfully connected to the system. The USB hard drive was given a drive letter and everything worked as expected.

According to Microsoft, we as consumers shouldn’t see a system in this state. However, this particular user had a replacement e-Machine sent to him when his original failed, under warranty. I am guessing that some e-Machine technician didn’t complete some final step (removing this key/etc) before boxing and shipping the system out.