LightWindow – an excellent LightBox implementation

LightWindow is perhaps one of the best of the LightBox-type implementations around, supporting almost every media type currently in use.

screenshot

I found a few gotchas, but these were very minor:

  1. needs XHTML pages with correct DOCTYPE for it work in IE
  2. Might need to edit lightwindow.js to correct the hardcoded paths to the skin elements
  3. Replace the first line with the second in the HTML HEAD:

You can grab the files here: http://www.stickmanlabs.com/lightwindow/lightwindow.zip

Array formulas in Excel

Perhaps one of the most useful yet least known features of Excel is its array formulas. Essentially, array formulas are standard Excel expressions which are evaluated over a range of cells, rather than just a single cell.

In my case, I needed to aggregate the status of various DevDoctor projects, tracked in an Excel workbook:

Each row against a status (D5:D9) must aggregate a count of that status from a “status” column (here, column F). Using standard formulas alone, this is not possible (unless you resort to VBA scripting); however, using array formulas, this becomes a breeze.

The formula in cell D5 (counting the projects in Pending status) is:

=SUM(IF((F$12:F$42=C5),1,0))

When you press CTRL+SHIFT+ENTER on this formula, Excel converts it to an array formula, and indicates this with curly braces:

The expression is slightly strange, with a conditional being evaluated over a range of cells (F$12:F$42), rather than the usual single cell. In effect Excel calculates the inner IF expression once for each cell in the range, and the outer SUM expression then produces the required summation.

UPGRADE: MCAD Skills to MCPD Web Developer by Using the Microsoft® .NET Framework

I passed my 70-551 upgrade exam a couple of days ago, giving me MCPD Web Developer certification.

Having developed web-based applications in C#/.Net 2.0 for the past few years, this was relatively straightforward. There are some tricky questions on things like:

  • serialization
  • ACLs and code access security
  • encryption

However, I found the SQL Server 2000 developer exam (70-229) to be more taxing, as well as potentially more useful for building enterprise software, so I am surprised that the new MCPD (Enterprise Applications Developer) certification does not have any detailed database knowledge requirements.

Anyhow, a very handy guide to studing for and passing the 70-551 exam is here: http://www.alexthissen.nl/blogs/main/archive/2006/12/31/prepping-for-exam-70-551.aspx

Subversion made easy: VisualSVN Server

Subversion is fairly straightforward to install and maintain, but VisualSVN Server makes the process on Windows almost trivial:

  1. Download
  2. Run Installer
  3. err, that’s it

It bundles Apache and the SVN server, and comes with a nifty Admin console which makes it easy to change repo permissions. It even provides pretty repo browsing via XSLT in the web browser.

IISAdmin – multiple sites on Windows XP

The inability to run multiple concurrent websites from IIS under Windows XP is a pain. I need to run Server 2003 and IIS 6 to do that, and live with the resulting slowdown

IISAdmin Screenshot

There is a handy free utility, IISAdmin, which mitigates the worst aspect of the IIS 5 limitation: the need to reconfigure the Default Web Site each time I want to work with a different site. IISAdmin allows you to create new websites, each permanently pointing to a different set of files on disk. The limitation (probably in IIS 5 on XP) is that only a single site can be started at a time.