Archive for December 14, 2005

Servers Transitioning

As we come to the end of our server transition, here are some lessons learned:

- There was much less actual downtime than anticipated. Richard B. had to down the servers only when migrating data, but then he could bring the old servers back up again and test the data on the new servers.

- My attempts to promise a specific day for the cutover were defeated, twice. It would have been better to have told users that the new network would be in place when they saw it in place.

- The new web server was a useful place to post status announcements even while I was building it out. I had thought the entire server would be out of commission for much longer.

- Winter break was the best time to do this transition all year. It was quieter here than at any time during the summer, and users will return gradually over the next week and a half.

- The only big obstacle was the mass migrating of Exchange server accounts from one server to the other. The export utility worked fine, but the import failed. However, since the export creates an individual PST file for each user, it should not be a problem to import them into the new mail accounts individually or to provide users with instructions to import their own PST files if they so desire.

- AD Infinitum has been an essential tool, creating all AD accounts and generating secure, initial passwords for the new accounts on the fly. It’s a great deal for $100.

Related: The Quietest Week of the Year, Preparing the New Servers

Better Batch Image Processing

Photoshop has offered a good batch processing tool for a while. Record an Action, then apply it to files in a folder. However, Photoshop frequently requires user input during a batch process, for example to set the quality of a JPG save or to overwrite an existing image. This makes Photoshop inefficient when processing large numbers of images. Photoshop is also incable of executing logic when processing images. For example, I have 300 photos that all need to be sized 180×144 for my cousin’s hat company. The problem is that some of the images are tall and others are wide. Photoshop cannot keep image proportions but change canvas proportions when resizing an image.

Enter GraphicConverter. This program has been batch processing images longer than Photoshop and does it better. The interface is more manual than Photoshop, but the program runs much faster and the options are exhaustive. To solve the above problem, I use if…then statements and the Bring to Size command. My batch workflow looks like this:

Change Color Mode to RGB
Scale to 180 pixels wide
If height > 144 then
  Scale to 144 pixels tall
  Bring to Size 180x144
Else
  Bring to Size 180x144

300 images are resized in about three minutes.

Preparing the New Servers

We have begun installation on our new servers in earnest, coincident with the departure of our students, faculty and staff for vacation. This process will take about two weeks and will result in nine new servers in our collection of eleven. The main challenge is how to sequence the installation steps in order to minimize disruption to our 500 users. My colleague Richard has devoted the week to nstalling Win2k3 server software on the machines and testing user and mail account migration from the old servers to the new. Once we take the old servers down and interrupt service, he will have to move quickly in order to restore service ASAP. Importantly, we learned that passwords will not migrate — all of our users will have to create new ones when they first log on upon return from vacation! Exchange accounts will be moved via an export utility that spins off a PST file for each user, a process that will take a long time. Active Directory accounts will move by way of an application that can create and modify batches of accounts. This application will create new, temporary passwords for our users and save them in a file for us to distribute manually to users.

I spent today prepping our new web server. Here are some lessons I learned from doing this for the first time. IIS installation went quickly, though I forgot to enable server-side includes the first time through. As a result, the server returned 404 (not found) errors for my .shtml files until I figured that out. Activestate PERL was a piece of cake, though I neglected to add .cgi to the application mapping table and got stuck on that for a while. PHP was surprisingly hard work, since the documentation indicates that the Windows installer should not be used on production servers! The manual process was more tedious, though a couple of hours’ work finished the job. I elected the ISAPI method for PHP execution instead of CGI, because of the superior performance and security promised by that method. Finally, I have improved the structure of the cgi-bin and PHP script virtual directories, in order to minimize the chance of a user gaining script source access. One great new feature in IIS 6 is the Windows equivalent of a chroot “jail,” which automatically restricts their FTP activity to an AD-defined user directory.

There is a lot more pressure on us to quickly migrate popular services than there was to introduce these functions the first time. At least they are familiar to us and therefore quicker to configure than when we did not know anything about them.

FutureMe

A funny thing has happened to my friend Matt (from our Gateway days). Three years ago, he and a friend wrote FutureMe, a nifty tool that allows you to write yourself an email and schedule it for delivery sometime in the next 30 years. Last week, a bunch of news agencies picked up the story. A similar thing happened to my brother-in-law’s Elfster service.

Why now? It seems that news agencies have decided that small, innovative web services are now news. Perhaps this is because of the increased popularity of online services in general. As more people hit the web, the potential audience for a story on a web service grows, the potential ad revenue for a tech article increases, and the stuff they care about becomes news!

Simple User Interface Design

We have a tester of user interface design in our home: our four year-old son David. If he can figure out how to use a device, then it qualifies as having simple user interface design (and carrying value to a four year-old!). Doors, light switches, lamps, and the vacuum cleaner came first. Then the TV on/off switch. Next came the kitchen appliances: the door sensor in the fridge and dishwasher buttons. Finally, the mailbox — a little harder since it is nearly out of reach. Most recently, David has figured out our iPod. David has figured out how to replay the same song (Philadelphia Chickens) over and over again by pressing the back button.

Common among these items is a clear indication of where the buttons are. Consider equally important tasks that David has not yet conquered: the Input button on the TV, the Play button on the DVD player. Unlike the iPod and dishwasher, each is one of a string of equivalent buttons. The dishwasher and iPod, in contrast, clearly distinguish the importance of different buttons, making it easier to experiment and learn.

dishwasher

iPod

This Blog Has Moved

You have reached Kassblog at its new host: http://www.kassblog.com. Please update your bookmarks. I have moved the site in order to avoid a week’s downtime during our server transition at school. Plus since it appears that I may be blogging for a while, I should get a real URL.

I tweaked the old installation at insideUHS to make the move as smooth as possible. I replaced the main PHP script for the blog (kassblog.php) with the following redirection, so that any old link to the blog will continue to work as long as the old server is up!

if (strstr(implode(",", array_keys($HTTP_ENV_VARS)),'QUERY_STRING')) {
header("Location:http://www.kassblog.com?" . $HTTP_ENV_VARS{'QUERY_STRING'} . "\n\n");
} else {
header("Location:http://www.kassblog.com\n\n");
}
?>

(I know you PHP gurus out there know a much more elegant way to find out whether an array item exists!)

In order to get the latest Nucleus CMS software, I created a brand new installation on this server and then migrating all of the mySQL data from the old to the new. The only problem was in restoring the skin files. The new installation didn’t want to import my customized skin files, because it thought the skin was already imported (due to the mySQL data). I got around that by deleting the skin before uploading and importing it.

Blogging, Forums, and Wikis Compared

What are the differences among blogs, forums and wikis? We use all three at UHS, the forums most often, wikis second, and blogs a distant third. Dave Warlick compares the three technologies more eloquently than I could:

Discussion boards [a.k.a. forums] are about collaborative idea building. It is a conversation where the goal is to build new knowledge by stacking student ideas, insights, and perspectives on top of each other.

Blogging is about idea publishing. It certainly has the idea building, conversation element. However, what is central to the activity is for a person to write a well thought out (with the exception of my blogs), compellingly constructed document. It’s about publishing. However, the interaction, commenting, and cross-blogging all happen and are instructive in exactly the same way as discussion board.

Wikis are about collaborative document building. A group of students work together to construct an effective study guide for their next test, as an example.

Source: WWWEDU

Both our discussion forums and wikis took off on their own, with minimal adult involvement. I put the technologies out there and the students just started using them. Critical mass, the number of students needed to make the technology function well, developed naturally.

Why haven’t the UHS blogs taken off in the same way? Partly, it’s the timing. With the dominance of social networking sites on the Internet, students have so many outlets for online interaction that even our vaunted forums have recently suffered from a lack of participation.

It’s also the technology. Blogs are at first blush individual tools, and we have situated them within a school community context. Forums and wikis are by their nature collaborative, community tools. Also, a blogging community required more investment than a forum or wiki community. More students have to spend more time thinking and writing in order to build a blog community, and your blog won’t even get noticed until you have written powerfully and long enough to make an impact on other people. Most students are more strongly oriented toward social chatter than individual proselytizing.

UHS Blogs are brand-new — I will give them at least a year before declaring them DOA!

Citing Wikipedia

Our students frequently cite Wikipedia as a research source, but a recent post from Gloria Bobbie casts doubt on the validity of such a citation.

The key to validating material is the critique of the author. Unless the author can be identified and plagiarism checked (perhaps all submitted material should automatically be scanned and someone found submitting plagiarized material could be banned from ever posting) it will never be acceptable as a reference source. It is fine for preliminary research to get information about a topic, but when my students cite a source, I want them to give credit to the author of the material and be able to tell me why they accept the author’s views as credible. So, for the time being, I’m afraid my students, both graduate and undergrad will have to leave both Wikipedia and Britannica in the info gathering list and avoid them in their reference lists.

Thank you for directing my consciousness to this point. Upon reflection, it seems critical to good research practice and information consumption. The distinction between research and information gathering is also important. Bobbie encourages students to use Wikipedia to gather preliminary information on a topic but then turn to sources from verifiable authors for actual research.

Related posts: An Actual Study on Accuracy in Wikipedia, Learning Wikipedia

An Actual Study on Accuracy in Wikipedia

A lot of people immediately find counterintuitive the authority of Wikipedia. If there is no small group of experts, how could the articles be accurate? Well, as any researcher will tell you, you really need data to judge such a claim. Thankfully, Nature magazine has published a comparative study of the accuracy of science articles in Wikipedia.

The exercise revealed numerous errors in both encyclopaedias, but among 42 entries tested, the difference in accuracy was not particularly great: the average science entry in Wikipedia contained around four inaccuracies; Britannica, about three.

Too bad that Brittanica contains so many errors! Teaching criticial evaluation of information sources is the key.

Reference: Chronicle Wired Campus Blog

We’ll Need Really Good Software

If the $100 laptop becomes a reality, it will raise the bar for software performance. This article on preliminary specifications contains some refreshing, non-hysterical commentary on the issues. Two take-away messages include: 1) the $100 laptop will require a new display technology that will likely take longer than people think to invent and test; 2) software developers will have to write more disciplined, innovative software than is currently the standard. The minimal hardware specs will not allow for memory leaks, wasted display real estate, or processor hogs. It’s a noble ambition that I truly hope will meet with success.