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.

Nagios 2.9 is available

I was updating some Nagios configuration by hand editing various
configuration files. This “pain” reminded me to check and see if there were
any updates to Nagios, and of course there was a few updates (2.4 -> 2.9)
since the last time I updated it. I grabbed the latest Nagios and the latest
plugins to go with it… and updated my Nagios box.

I am now on the quest to see if I can find a Nagios configuration file
editor that works from PHP web pages. I have attempted to make NagEdit
work, but spending the better part of the morning getting the configuration
files/etc setup and read/written…. hasn’t produced a single page yet of
editable configuration for Nagios. So I will keep looking for this elusive
“tool” to make better use of Nagios.

If you don’t have a solid network monitoring program on your network, you
should give Nagios a try. It is rock-solid and has excellent
reporting/alerting features.

Microsoft Virtual Server 2005 R2 issues with TCP Offloading

If you install Microsoft Virtual Server on a “server” machine and after
starting a virtual host on the machine you lose all network connectivity to
the “host” machine you should read the following:

http://support.microsoft.com/kb/888750

It indicates that VS2005R2 has an issue with TCP segmentation offloading or
other “offloading” to the NIC … so you have to disable those features of
your network card to maintain connections with the “host” machine.

Dameware Mini-Remote Control v5

After putting off the upgrade as long as possible, I finally broke down and purchased the upgrade from v3.x. I was immediately impressed with the dual-monitor support, x64 OS support, and the transparent windows abilities. This product is great example of remote-administration/support software that allows an admin to install the daemon and start it remotely and then connect to it… all with just domain-rights and the ip/name of the machine.

For those of us that need to manage hundreds of desktops across multiple buildings or locations, this is a great way to “extend” your reach and still be able to show the user how to do something (all from the comfort of your office).

Dameware-MiniRemote-Screenshot

Synergy (share a keyboard and mouse)

From the Synergy website: “Synergy lets you easily share a single mouse and keyboard between multiple computers with different operating systems, each with its own display, without special hardware. It’s intended for users with multiple computers on their desk since each system uses its own monitor(s).”

I use my laptop as the “server” and then have a linux machine in my office that I can control with the laptop keyboard and mouse…. just by moving my mouse over to the right edge of my laptop screen until it jumps to the linux machine.
At home I use the same software to control a MacOSX machine from my Windows Server 2003 primary machine.

This product is simlar to a KVM, but allows both machines to have their own monitors and for you to see/control those machines at the same time (without switching between). One side benefit is that you can copy-n-paste between machines (simply copy some text in machine one, mouse over to the other machine and paste), show me a KVM that can do that!

You can download MacOSX, Linux and Windows binaries at:
http://synergy2.sourceforge.net/