kdmurray.blog

The crossroads of life and tech

New look for Google Analytics

New look for Google AnalyticsLast week Google revamped their web-statistics package Google Analytics.  The new look boasts some very web 2.0-ish graphs and provides all the same reports as before.

One of the new features is a drill-down world map, which provides a bit of an easier view of where your visitors are coming from.  Some more detail from the “what’s new” email that was sent to analytics subscribers:Geographic Drill-down reporting

  • Email and export reports: Schedule or send ad-hoc personalized report emails and export reports in PDF format.
  • Custom Dashboard: No more digging through reports. Put all the information you need on a custom dashboard that you can email to others.
  • Trend and Over-time Graph: Compare time periods and select date ranges without losing sight of long term trends.
  • Contextual help tips: Context sensitive Help and Conversion University tips are available from every report.

This is a great new look for the Analytics tool, which in fine Google tradition has been kept as a free service for everyone in the web community.

You can read more detail in the Google Analytics Blog post by Jeff Gillis from the GA team.

Good on ya, Google.  I’ve enjoyed looking through the GA changes over the last week or so and will do so in more detail in the coming days and weeks.  Now if you could just fix that pesky 10MB file limit in GMail….

Microsoft Longhorn/IIS 7.0 GoLive

Last week (while I was too busy watching playoff hockey to post), Microsoft announced that the Beta 3 version of Windows Server “Longhorn” complete with the brand spankin’ new IIS 7.0 would be offered with a “Go-Live” license.  This means that the new version can legally be deployed in a production environment prior to the RTM launch of Longhorn.

This isn’t the first time we’ve seen the Go-Live license, but it is welcome news.  This typically means that Microsoft now has a feature-complete and virtually bug-free (never completely bug-free) release of the product.

From what I read over on Scott Guthrie’s blog, one of the new features will provide enhanced support for other platform technologies (FastCGI support) which will improve the experience for those running Perl or PHP.  Gee… I wonder if this would fix my IIS 6 MediaWiki woes…

Lets Get Virtual!

Several months ago I picked up a new machine, a MacBook, from which the bast majority of these blog posts have flowed. I absolutely love my MacBook and I can see myself becoming a regular Mac user with future computer purchases. That said, for about the past 15 years, I’ve been a devout Windows user. I do still on occasion develop Windows-based applications and it really is much easier to do that on a Windows machine. ;) So, what’s a geek to do? It sure wouldn’t look very technology savvy of me to carry around a second laptop when I have this sleek MacBook so… Virtualization to the rescue! Apple offers a Beta of its BootCamp product to work with OS X 10.4. It would allow me to install and boot Windows directly from my Mac. Not a bad option, but I had some issues:

  1. All the rebooting to switch OS’s would be annoying at best.
  2. The partitioning magic that ships with BootCamp wouldn’t work. To use it, I would have had to wipe and reload OS X and Windows.
  3. Couldn’t use BootCamp to boot from my brand spankin’ new external drive.

So the other options I was left with are Parallels and a new offering from VMWare called Fusion. Parallels has been around for a while and does a decent job of supporting Windows, and a few other OS’s as well (Linux, Solaris), but lacks 64-bit Windows support. Fusion also has similar support capabilities, but does come with some bugs as the product is still in a Beta cycle. What finally sold me on Fusion were three separate things:

  1. VMWare’s support for virtually any operating system I could throw at it (including 64-bit versions of Windows)
  2. VMWare’s website contains tons of pre-built “Virtual Appliances” which are self-contained operating system/application bundles which can be up and running within about a minute of the download completing.
  3. Portability. VMWare has an application called VMWare Player which is available for both Windows and Linux which will allow me to port my virtual machine instances to other computers. Geek factor? Yes.

OSX in V

Screenshot of me installing Visual Studio 2005 on Vista in Fusion on my MacBook with the blog post in the background. ;) For those of you interested, here’s the configuration I’ve got for this VMWare client:

  • Microsoft Windows Vista Ultimate Edition
  • Microsoft Office 2007 Enterprise Edition
  • Microsoft Visual Studio 2005 Professional Edition
  • 1GB dedicated system memory
  • 1 Virtual CPU (may switch to 2 for some operations (ie large compiles)

In getting everything setup there are already three unexpected features of VMWare Fusion that have impressed me. These are features that were either undocumented, or listed as missing in the last few reviews that I’ve read. Couple of Windows Vista caps in a Very small screen.The first thing that I noticed by accident is that the Command key opens the Start menu! For me, this is a major selling feature, I use keyboard shortcuts for literally everything. This feature is also missing from Microsoft’s own RDP client for OS X. The second is a bit more intriguing: when you resize the VMWare window, the resolution of the Windows Vista client is adjusted to match. No scrollbars. No distortion. Genius! Finally there is automatic drag-and-drop support for transferring files between my OS X installation and my Windows Vista installation. In fact, the two screenshots above were dropped into vista, stitched together, and then dropped back into OS X. Though it’s only been installed for a short time, I think that this VMWare environment will solve my mobile computing issues, allowing me to port a Windows installation with my Mac and live in both worlds.

Getting WGET for OS X 10.4.x

!!! Geek Alert !!!

Sometime ago Apple removed the tool wget from the OS X toolset and replaced it with the arguably more powerful curl tool. This new tool is great, and it has many new advanced features that the older wget tool lacks. However curl has one thing against it: it’s somewhat more complicated to use (and its man page is much longer). As a result, I find I use wget far more frequently.

So the question is, where to get wget?

The answer? Right here!

You can download a package of the binaries and an install script/readme file from here. (Thanks to Quentin Stafford-Fraser for doing the initial version of the binary pack).

Alternately, you can follow these steps (shamelessly cannibalized from wincent.com) to acquire and build wget for yourself. Note: This does require that you have the Apple Developer Tools (XCode) installed.

# Make a working directory somewhere, anywhere in fact.
mkdir wget
cd wget# The original instructions called for you to get the source from the cvs repository
# but it looks like that copy of the code no longer exists.  I believe they switched to
# a subversion repository, but since OS X doesn't come with SVN by default, we'll
# just have to do things the old fashioned way
# Download a copy of the source code for wget.  I found mine at
# http://ftp.gnu.org/pub/gnu/wget/
# (pulling down a file like this is a perfect use for wget)
curl http://ftp.gnu.org/pub/gnu/wget/wget-1.10.2.tar.gz -o wget-1.10.2.tar.gz

# Uncompress the archive
tar -zxvf wget-1.10.2.tar.gz

# Move into the new wget source folder and perform the build actions
cd wget-1.10.2
./configure --with-ssl
make

# Run the installation command.  This will require the root password to complete
sudo make install

# Exit the sudo
exit

# The default installation folder is /usr/local/bin. In Mac OS X 10.4.x, this folder
# is not a part of the $PATH variable by default.  You can add it with the command below
export PATH=/usr/local/bin:$PATH

Again, a big thank you to those whose articles I plagiarized referenced. These binaries above were compiled on the MacBook (Intel Core Duo, OS X 10.4.9). I would think that they will work on any Intel-based Mac for sure, not sure about PowerPC versions. Let me know if this works out for you!

EDIT (2007-06-02): Judging by some of the comments, it appears that this build does not work on PowerPC-based Macs.  I’m looking into the steps required for creating a universal binary now…  Stay Tuned!

DD-WRT: Routers the Next Generation

I realize it’s not a new technology (its on ver. 23), but its one I’ve recently adopted.  We’re planning on doing some re-arranging to put an office in the house, and that means computers in different rooms.  What I need now, I said to myself, is a way of extending my wireless network to another room… preferably with a router on the other end too so I can plug in a non-wireless computer.

The problem: The firmware for my Linksys WRT54G doesn’t allow that, at least not easily.

Enter the DD-WRT firmware package to save the day.  This package gives you full “god-mode-like” control over your router’s settings, and thus your entire wireless network.  Multiple routers can be placed in the same space to allow a WLAN to be extended to a much greater range (this is the same basic principle as a cellular network).  The principle is referred to as a Wireless Distribution System (WDS), with the individual access points acting as repeaters.

Next week I’ll be picking up the second node for my Wireless home network so that I can finally move that other computer upstairs!  :)

DD-WRT has a ton of other features including the ability to host a hot-spot of your very own.  This is particularly useful for small businesses who may wish to offer wifi connectivity on their premises.  Check out the DD-WRT wiki for a full rundown on what this package can do.

For additional information on tricking out your Linksys WRT54G, check out Aaron Wiess’ article “The Open Source WRT54G Story” on wi-fiplanet.com.

WordPress Upgrade Script

For those of you who run your own blogs, and take care of the updates yourselves, I’ve created a WordPress Upgrade script. Note: This is a Linux/Unix/Mac OS X shell script, not a Windows batch file.

The script is very simple:

  1. Download the latest WordPress archive from the website
  2. Uncompress it to a temporary location
  3. Migrate all of the themes, plugins and uploads
  4. Copy over wp-config.php
  5. Back up the old version
  6. Move the new version into the proper folder

Inspiration for this came with this week’s WordPress 2.1.1 update. I figured if I have to keep up with all the security updates, I might as well just build a script to simplify matters.

Download a copy of the script from here.

Questions, comments, compliments or constructive criticism will be gladly accepted!

Free Download: Microsoft XML Notepad 2007

Microsoft has recently released an updated version of its XML Notepad. This is a fairly basic tool which provides a tree interface to edit XML documents which is easier to understand and work with than hacking through the file using Notepad or even Visual Studio.The interface takes a bit of getting used to at first, but the colour-coding of the attributes makes it fairly easy to quickly distinguish between types of nodes in the file, and the tree structure provides a more intuitive view of the data in the file. Though it doesn’t have all the features of a more complete product like Altova’s XML-Spy, the price is right. If all you want (need) is a basic XML editor, XML Notepad may be just what the doctor ordered. This is just another in a series of free releases that Microsoft has targeted at the software development community. Beginning with the Visual Studio Express Betas in 2005, carried forward with the full releases in 2006 and the use of the open-source Cassini web server in both Visual Studio 2005 and the Visual Web Developer Express 2005. It has been interesting to see some progression in Microsoft from a company who would aggressively defend and copyright every piece of software they ever wrote, to a company who is willing to share strategically valuable tools with the community.  Obviously it makes good business sense to get your development tools into the hands of developers before they start that next job; but the optimist in me hopes that this is a continuing trend we see from the giant over the coming years.

Hidden Treasure! – IIS 6 Admin Scripts

Not long ago I discovered some hidden treasure on one of my Web Servers – the IIS 6.0 Admin Scripts. These area bunch of pre-prepared scripts to make administration of IIS much quicker (and much easier to do remotely!) not to mention much more “automatable”.

I’m not going to get into huge detail here, but I whipped up a couple of batch files to do some work in my office a couple of weeks back. Here’s an example of one:

# iisweb /create “Spiffy Site” d:inetpubwwwrootspiffysite.mydomain.com “ASP.NET 2.0 App Pool” /dontstart

# iisvdir /create “Spiffy Site” “images” d:inetpubwwwrootcommonimages

# iisvdir /create “Spiffy Site” “scripts” d:intpubwwwrootcommonscripts

# iisweb /start “Spiffy Site”

Notes:

  • The scripts are all located in the System32 folder (usually C:WindowsSystem32).
  • These must be run with CScript, you will be prompted if the mapping is not set up

Of W3WP Processes and Application Pools

For several months we’d have an issue from time to time where an IIS 6 Application Pool would go rogue and take over one of our web servers. Invariably we wouldn’t be able to determine which one it was, and would either terminate the process, or run an iisreset to clear up the problem. The biggest concern with this is that you don’t know which application is causing you the headaches.

Microsoft it would appear has already devised a solution to this problem in the form of the IIS admin scripts that ship with Windows. These scripts can do all sorts of things, but I’m going to focus on the one that will resolve the problem above.

The scripts are located in %WINDIR%System32 and are in the format iis*.vbs. To get a look at which process is running for a given application pool try:

C:WINDOWSsystem32>cscript iisapp.vbs Microsoft (R) Windows Script Host Version 5.6 Copyright (C) Microsoft Corporation 1996-2001. All rights reserved. W3WP.exe PID: 3492 AppPoolId: DefaultAppPool C:WINDOWSsystem32>

Yes. It’s that easy. If you struggled with it as long as I did, I’m sure you’re feeling the same combination of mirth and frustration right about now.

 

Google Analytics

Google Analytics GraphsThe big G is at it again… one of their new tools: Google Analytics. This is Google’s solution for webmasters that joins together not only site statistics, graphs and reporting but also provides the ability to plan and track milestones relating to traffic and referrals.

Analytics also integrates with Google’s AdWords to provide a method of accurately tracking click-thru’s and other statistics vital to the ad campaigns.

Now for those of you who are saying that this is yet another piece of Google’s ever growing arsenal of world conquering capabilities you’re probably right. But hey, it works well and the code it uses on your website to track the hits doesn’t leave any ugly banners or images. And did I mention that it’s free?

Give it a shot. I did, and it’s here to stay (at least until they decide to charge for it!).