UtahRails.net Tech Talk

...being a log of web site changes, along with technical discussions of computer-related subjects.

Lessons Learned

PHP - CSS - HTML5 -- a description of how this UtahRails web site is configured and how it works.

Localhost -- Information needed to use a localhost testing server.

Audio -- How I capture and convert audio.

Photos -- How I scan color slides, and color and black & white photo prints.

HTML Validators -- Online and stand-alone validators for web pages.

Testing At UtahRails -- Links to various test pages.

What's New on the Tech Side

[Most recent entry listed first.]

February 19, 2024

Site Map -- Added a 2-page HTML site map of all pages at UtahRails. This is an auto-generated site map that changes as pages are added or removed.

July 23, 2023

Robots.txt -- The robots text file has been rewritten and now includes better allow and disallow parameters. It also now has the location of the site map, out and away from Google Analytics and Google Search Console. Google was constantly throwing errors about missing pages, when in fact they were long-deleted, with redirects to replacing pages. Google was also throwing long lists of mis-typed web addresses, which is silly because anyone who makes a typographical mistake in their web addresses should be using an internet search service -- there are several that are not Google.

June 1, 2023

Table of Contents -- The JavaScript for the "Index For This Page" table of contents of most pages at UtahRails has been fixed. For the entire time that the script has been in use, since 2013, the validators and JavaScript linters (script error checkers) have given the script a failing grade. But without any skill to fix the errors, I figured as long as the script worked, there is no need to spend time trying to quiet the error checkers. The JavaScript has now been fixed with the help of Asham Khan in Pakistan by way of the Fiverr service. The fee was amazingly low, especially when considering the value to the overall health of the UtahRails website.

May 24, 2023

Google Analytics -- UtahRails is no longer being terrorized by the Google Analytics service. The small bits of code invoking this Google service (about 22 lines of code) has been removed from all pages at UtahRails. Google has made too many changes in their measuring processes and their reporting parameters, as well as the actual reports themselves, making the service no longer useful for small non-commercial websites. In early February Google made changes that revealed the accurate number of non-robot visitors to UtahRails, and the daily visits dropped from an average of almost 1100 visits per day, to a more accurate 50-100 visits per day, a number that is the total of visits to all of the 1900+ pages. UtahRails.net has always been, and will continue to be my own research notes about things I find interesting. It is a good thing if others find my notes useful, but tracking the number of visits is no longer important.

Google Search -- The Google Search Console, and the UtahRails.net participation in the service, is also broken and the verification code removed. Although the Google Search Console shows that the 1900+ pages at UtahRails are not being indexed, in fact any internet search returns pages at UtahRails.

May 10, 2023

Canonical -- I have added a reference link in the <head> section of every web page that designates the canonical URL for each page, in case the search engines get confused while they do their indexing. This is an "error" that Google Search has been complaining about for UtahRails for well over a year. The fix was a relatively simple bit of PHP coding that auto-generates the canonical URL as the actual page being viewed.

This is entirely behind the scenes and does not change the privacy of anyone using UtahRails.net, which does not collect personal data.

April 18, 2023

External Links - I have finished removing another batch of broken external links to other websites away from UtahRails.net. I also updated the site map for Google's search engine. I can't keep up with the broken links, redirected links, and server errors, so most external links have been removed. In many cases I kept the web address as plain text, which will allow interested persons to copy and paste the address into their browser.

March 31, 2023

Tables to Lists -- I have finished converting literally thousands of roster notes from using one- and two-column tables, to unordered lists and ordered lists. This task has been waiting in the wings for many years. With the completion of several photo scanning projects, it was time to get started changing the roster note tables to ordered lists. I soon developed a workflow that used extensive cut-and-paste actions, copying the data from table cells, over to list items. But as progress was made, slowly, I kept thinking that there had to be a way to automate the task. This was, after all, a computer and the internet, which serves to make our lives easier.

Using the cut-and-paste action, I soon found enough variation among the notes that using any sort of site-wide match-and-replace workflow, such as regular expressions, would be difficult. Regular expressions are strings of text and special characters that let you create patterns that help match, locate, and manage text. Regular expressions are popular among data wranglers to manipulate large amounts of data, but come with a steep learning curve. So, if regular expressions would not work, then I needed a script, such as a JavaScript, or a Visual Basic script.

Most of these scripting environments work while presenting web pages, and don't work with a desktop computer to change text files, with one exception being Microsoft's Visual Basic for Applications, or VBA. But I wanted to avoid the cumbersome Microsoft-only VBA route, preferring to use a plain text editor for these hundreds of PHP web page files.

I recalled using numerous scripts (called "clips") with NoteTab Pro, my text editor of choice, to create and edit the many changes to UtahRails in its early years. Unfortunately, although I use NoteTab almost every day, I had lost the skills of creating and using clips over the many years since my last use of them, 8 to 10 years ago. I joined an online discussion group of NoteTab clip users (the same one I had used in those early years), presenting my task and asking for some assistance. Within one or two days, a few answers came that helped me to clarify what I wanted and presented some suggestions about how to go about it. At the same time I received a private message from a user in Austria, who shared his suggested clips that did exactly what I needed. After some exchange of ideas about automating the task for entire files, or for entire folders as sets of open documents, I realized that there were numerous but slight differences among the table notes, and that I needed to change them one at a time, looking carefully for any obvious problems in the conversion.

Using the clips (scripts) in NoteTab Pro made the task go much, much quicker, with a completion period of mere days rather than six to eight weeks. Each conversion was simply a one-click change, with the script moving immediately to the next candidate within each file. Then, using the CSS HTML Validator web page validator (from AI Internet Solutions), I was able to find the errors caused by the variations in the code for the tables. At the same time I used the validator to find many, many broken links, and syntax errors across all the pages of UtahRails.

Here is some background of the change from roster-note tables to roster-note lists.

In a discussion among webmasters in March 2013, I asked for some advice about formatting the roster tables at UtahRails to make them responsive and more "mobile-friendly" for mobile users which make up about half of the visitors to UtahRails. One of the comments pointed out that I should not be using single-column tables and two-column numbered tables, when ordered lists and unordered lists, with styling, would do a better job of conforming to "best practices." The commenter noted:

"I'd say one of the bigger issues [with your site] is that a lot of content has been put into tables. Even those footnotes in the bottom are tables, even though it would make much more sense for them to be ordered lists."

I started doing locomotive rosters in 1973 (more here), and in the 1990s I was lucky enough to have several roster books published (a list is here).

The first online rosters on UtahRails were also some of the very first pages on the web site, and were real multiple-column tables with tabular data. To better match the roster published in my previous books and magazine articles, each of those rosters on the web site also has a "roster notes" section, with footnotes. Matching the look and readability of the published pages explains the use of these numbered or lettered footnotes as single-column and two-column tables.

There are hundreds of roster pages on UtahRails.net, each with tabular tables, and most have been there since 2000-2002. For later additions over the following 15 years, I simply used the older tables as templates. Originally, they all had individual HTML formatting, with percentages set for each column, and no CSS. In 2001 I began converting my web pages to using Cascading Style Sheets (CSS), but it never occurred to me to change the one-column and two-column tables ("roster notes") over to ordered lists.

While converting UtahRails to HTML5 in 2015, I spent several hours experimenting and testing the use of lists for roster notes, fiddling with the CSS for classes and divs, and margins and padding. I finally found the right combination of styling to make the lists look like the original table layout version, which in-turn matched the previously published-to-paper works. But truthfully, the amount of editing to convert all those tables was a bit too much, so unless I could figure a way to automate the process, the effort would have to wait for bluer skies.

But, in the interest of using best practices, any editing of specific parts of any of the rosters replaced the one- and two-column tables with ordered lists. And I occasionally converted some of the older roster listings using the cumbersome cut, copy and paste method.

The task of converting table-notes to list-notes is now completed. Now, for some numbers. There are just over 250 web pages with equipment roster listings at UtahRails (an index is here). And each page averages about 15-40 roster notes. There are roster notes for specifications of steam locomotives and passenger cars (Description), roster notes of a more general nature for groups of locomotives or cars (General Notes), and roster notes for individual cars and locomotives (Notes), usually giving specific disposition or other specific information. This process over the past week has changed 1,932 Description tables to lists; 3,277 General Notes tables to lists; and 2,403 Notes tables to lists.

October 7, 2022

Dead Links -- I have fixed and/or edited-out more than 100 dead links. The internal links have been fixed, and almost all the external links were simply removed. As I mentioned in early 2020, my goal now is to stop citing web links for source material, and instead make sure my information is properly credited, cited, and sourced, without web links. I again used the Xenu Link Sleuth, a free program that hasn't been updated since 2010, but still works very well. I also took the opportunity to make sure the website's HTML and CSS both validate properly.

October 6, 2022

The Project VII responsive (drop) menu has been removed, and replaced by a single "Show Menu" button that calls a stand-alone main menu page that duplicates all of the entries formerly in the drop menu. This new stand-alone menu will be much easier to maintain, without the hundreds of lines of previous HMTL, CSS, and JavaScript code that the drop menu required, as well as needing Dreamweaver to use the Project VII Drop Menu Magic extension. This is mostly driven by the fact that Project VII no longer offers the extension, and I found that its replacement was too cumbersome for me to understand and make use of, and included numerous features I am not interested in.

The top part of every UtahRails page now includes a Main menu button, a What's New button, and a Search button to search for anything only at UtahRails.net. The Search page was changed to make it mobile friendly.

I will retain the use of PHP as a server-based scripting language, even though I only have a single PHP include, that being the header that is common to 95 percent of the pages here at UtahRails.net. I had entertained converting to a single Dreamweaver template that would include the needed common header information, but with 1800+ pages to edit and convert (adding the page title and page description to every page), the task is simply unrealistic and not a good use of my time.

October 2, 2022

Usability Changes at UtahRails.net -- I have been fiddling, to see if I can do away with the responsive menu that lives at the top of all my web pages. My goal is to make UtahRails.net a standalone website, without any dependency including an internet connection. This includes doing away with PHP server-side includes.

I tried a straight HTM page to do away with PHP, after I have realized that the header I am using with PHP is only 78 lines without the responsive menu, and would be easy to add to all pages. The Google Analytics stuff takes up 20 of those 78 lines. Dreamweaver does a good job to find and replace on all pages, so any changes to the header would be relatively easy. I have already removed the PHP footer, which was a copyright name and date, which is no longer an issue since copyright data is part of the header.

I also added a new "Go To Top" floating button for the long pages. Scroll down a bit, and the button appears at lower right. This is mostly for the mobile users, which make up almost half of the visitors to UtahRails.net. The button is bit of 17 lines of JavaScript and is styled with CSS. The "Go To Top" continued to show when a page is printed on a desktop, until I added the '!important' instruction to the 'display:none' property for the #myBtn id on the utahrails-print.css page.

June 17, 2022

As of June 17, 2022, updates to UtahRails.net will no longer be posted to the UtahRails.net Facebook page. The work to produce duplicate entries to both Facebook and the UtahRails/What's New page is taking away time that can be better used on other projects. Also, the increasing level of negative political and religious comments on Facebook in general, as well as the obvious attempts at clickbait to drive likes and comments makes Facebook not a useful service. The third factor is that it is almost impossible to find information previously posted to Facebook; it is a terrible way to archive photos and information.

It started on March 8, 2015, when links to all "What's New" updates for UtahRails.net were posted to both Facebook and UtahRails/What's New. It was a useful service at first but it is no longer, especially for the past two or three years. All updates will continue to be posted to the UtahRails "What's New" web page.

May 12, 2022

Twenty-year anniversary; UtahRails has been online since May 12, 2002.

March 30, 2021

I tried updating the drop-down menus to the most recent version of drop-down responsive menu from Project VII (PVII). Their new Adaptive Menu Magic (AMM) is significantly harder to set up than the earlier Drop Menu Magic (DMM), which I had purchased in early 2015. It was a bit of a problem getting the updated PVII Extension Manager for Dreamweaver CC 2021 to work, but their tech support was able to help. It was simply operator error on my part.

Thinking that it wouldn't hurt to update the add-on, I purchased the replacement AMM. But after spending a couple hours trying to get my styles close to what they are in Drop Menu Magic, the function in AMM is simply not there. Or if the function is there, the user guide falls short in explaining it. I'll be staying with Drop Menu Magic, where I have already done the work of styling my menu. Too bad Drop Menu Magic is no longer available; it's a great add-on for Dreamweaver. I purchased the DMM add-on in 2015 at a very reasonable price. It's unfortunate that its replacement (AMM) falls severely short, at least for my minimalist web site.

After a couple hours fiddling with the code, I was able to get the DMM responsive menu working for the latest Samsung S21 and iPhone 12 mobile phones, as well as iPad-type tablets. Then, after exchanging emails with Project VII's Gerry Jacobsen, I was able to add 'Show Menu' and 'Hide Menu' to the three-line hamburger menu icon, the function of which has needed explanation to users who are less tech-savvy.

January 27, 2021

Changed all instances of indented quoted text from <blockquote>, to be a CSS-styled <div> using a vertical bar to denote quoted text. There were 2,055 instances across all 1,805 files at UtahRails. After testing a few for about a week, I made the change across the entire web site, which took Dreamweaver less than two minutes.

February 17, 2020

No more Facebook -- I have freed UtahRails from the tyranny of Facebook and OpenGraph. The use of Facebook and OpenGraph tags by UtahRails was getting numerous validation errors, which has become tiresome. I could never figure out any kind of generic specific property meta tags to use for a non-commercial, minimal web site like UtahRails, so I gave up and removed all of the applicable meta tags.

Dead Links -- I have fixed and/or edited-out as many dead links as possible, both internal and external (mostly external), which numbered into the hundreds when considering the dead and redirected external links. My goal now is to stop citing web links for source material, and instead make sure my information is properly credited, cited, and sourced, without web links. I used the Xenu Link Sleuth, a free program that hasn't been updated since 2010, but still works very well.

Site Maintenance -- I have fixed an embarrassing number of coding mistakes, i.e. mismatched tags and tags that were not properly closed. Most modern browsers fix such things before displaying the page, but it is sloppy coding that is easily fixed, although hard to identify. I again used the great program called CSS HTML Validator from AI Internet Solutions. It is a commercial program that produces easily understood reports of web page errors and warnings, and also reports broken and redirected links.

December 11, 2019

UtahRails.net is now a secure web site. We will never ask you for any information.

June 16, 2018

Added zebra striping as a visual aid to the roster tables, using the tr:nth-child(even) concept.

December 8, 2017

UtahRails now has a custom 404 Error page that properly displays when a page is requested but not available, either due to server or internet issues, or because a page has been removed completely. When a page's content is still relevant, the old page is properly redirected to the new page. This new custom Error page uses PHP programming and applies to all errors, not just 404 errors. Having a custom and fully functional error page is a feature that Google has been giving low-level warnings about for a while.

October 14, 2017

After setting up a new desktop computer, and installing the programs I still use, I discovered 11 web pages here at UtahRails with redirected links to non-existing web pages, i.e. broken links. I used Xenu Link Sleuth, which easily found several mistakes that had crept in over the past year or so since I last ran the link-checking program. All errors have been fixed. A new XML sitemap has also been uploaded, showing well over 1600 pages existing as part of UtahRails.

As mentioned above, a new desktop computer is now the major tool for UtahRails. The new computer is a Dell XPS 8920, with an Intel i7-7700 processor and 32GB RAM, along with a 500GB sold state drive and a 4TB data drive. I chose Windows 10 Pro as my operating system. This combination should keep me up and running for another 6 or 7 years. The last desktop was an HP Pavilion with an Intel i5-2400 processor and 8GB RAM, running Windows 7, all running from a single 2TB hard drive. The old HP worked very well for 6-1/2 years, but with all the photo scanning projects over the past year or so, the rig was getting slower and slower. Comparing the restart time, for the same startup programs, shows over 5 minutes for the old HP, and 12-15 seconds for the new Dell.

To maintain UtahRails, I purchased Adobe Dreamweaver CS3 way back in 2005. With the new computer and operating system I was concerned that I may have to upgrade to get Dreamweaver to run properly under Windows 10, and I was right to be concerned. To register DW CS3, I needed to use Adobe's Register server, which they no longer support, so I was unable to register the program. They offered a copy that does not require registration, but it is a limited version, with the most notable limitation being that simple Control-B and Control-I do not work to set text as either Bold or Italics. I paid a one-year subscription for Dreamweaver CC 2018, which they say has been rewritten from the ground up, including numerous changes in the menus and work flow.

To make my Project VII Drop Menu Magic responsive drop menu extension work, I used Project VII's own Extension Manager, since Adobe no longer supports its own extension manager. I installed the two needed P7DMM and P7Affinity ZXP files, and the drop menu dialog box comes up and the menu appears to work as it should.

About a year ago I set up a testing server using WAMPServer, and it also runs very well on the new desktop.

July 27, 2017

Thunderbird Is Dead -- For a little over a year, and after I removed Outlook as my email client, I used Thunderbird as my reader for saved emails. During the project of getting rid of Outlook (see below), I started using the EML format for emails with clickable links, as a way to preserve those links. Although Thunderbird is an open-source program, it is still a proprietary program that Mozilla seems to see as an orphan. Other programs may open and allow me to read an EML message, programs such as Microsoft Mail, but Thunderbird seemed to always be the best choice. Unfortunately Thunderbird was designed as a full-blown email client, so takes a long time to load whenever I clicked on an individual EML file.

In late June, I discovered that the PDF files created by my Chrome browser when an email is printed, "Save As PDF," preserves clickable links. So I went looking for a way to convert my 1100+ EML files and attachments (originally converted from Outlook emails) to clickable PDF files, with similarly named attachments. I found Total Mail Converter Pro from CoolUtils (Softplicity), and downloaded a 30-day trial. It worked great, so I bought a license and proceeded to convert all the remaining EML files to PDF. I really like the format that Total Mail Converter Pro used for each email's From - To - Subject header found on all the email I saved.

Now that all EML files have been converted, Thunderbird has been uninstalled, and now that it is no longer needed, Total Mail Converter Pro has also been uninstalled. As mentioned below, I have a process to save important emails from within GMail as PDFs, and I try to keep my Inbox less than 50 messages. The naming scheme (YYYY-MM-DD_HH-MM) seems to be working very well because the file name format is unique to emails, and easily recognized as such.

July 15, 2016

Tech Talk Audio -- Updated the MP3 tagging section of the Tech Talk page for Audio.

June 29, 2016

I used a validator for my robots.txt file, and learned that almost every line had an error due to the way the file was formatted. Now that I have taken away several (inadvertent) road blocks, the various search engines should find pages a bit easier.

May 23, 2016

Outlook Is Dead -- I have used Microsoft's Outlook since its Office 1995 version. It was preferred because the program matched what I used daily at my place of work. Over the years, as I upgraded my computer, including an 18-month diversion using an Apple iMac, I continued to use Outlook as my email client. I had a major hard drive crash in late 1999, in which I lost everything. It was after this crash that I began my regular use a external backups. This means that I essentially had all my emails since late 1999; 15 years worth. It was a challenge to keep migrating the PST file, but I did not want to lose the valuable information that was in all those emails, including many, many emails with attachments, such as a photo, or a PDF, or a document like a spreadsheet. As I began using GMail more and more as my daily email client, I realized that I was using Send/Receive in Outlook only about once a month as a way to archive my emails off line. A growing concern was that at 7GB, the PST file was the largest file on my computer, and as each daily backup took place, it was the PST file that was taking most of the time.

The desktop search function works very well in Windows 7, and I use it to find information stored on my computer. The searches find information inside the Outlook PST file, but reading the emails to extract the information requires that Outlook be started; a process that can slow the research process. Information stored in a plain text is considerably more accessible, a fact that crossed my mind every time I was forced to open Outlook to gather information as part of a larger research project that also involved research using web searches, as well as magazines and books spread out on my desktop.

I had occasionally converted single Outlook messages as plain text for various reasons, usually to export the data and use it on a web page. Such conversions in Outlook are limited to one-at-a-time efforts. Back in October 2014, I came across a program that exported Outlook emails as plain text files either one at a time, or an entire Outlook folder. Besides the utility of plain text files, moving away from a proprietary software package (Microsoft Outlook), to a future-proof plain text seems like a very good idea. I needed a way to export the emails and their matching attachments in a way that kept the emails and attachments together.

I tried one particular program (Total Outlook Converter Pro) that stood separate from Outlook, reading the PST file. Exporting the emails worked well as plain text, along with saving their attachments. The program also allows conversion to other formats, such as PDF, or Word, or HTML, or images such as JPG, and other email formats for importing into other email clients. Its weakness was that while there was a preview of each email, there was no way to simply delete the message after finding that it was not needed as an archived file. The work-around was to use the stand-alone program to export only selected messages and attachments within a folder, then open Outlook to delete the folder and unwanted messages.

Progress was slow as I worked my way through the first of my hundreds of Outlook folders. About three months into the effort, I found an Outlook add-on (MessageExport) that worked from inside Outlook, converting entire folders as needed, but also allowing deletion of unwanted messages, as well as deleting folders as I emptied them after exporting messages. This was the solution I needed, and after struggling with the stand-alone program for three months, I began using the add-on almost on a daily basis, as time became available between other projects. The weakness of the MessageExport add-on is that while attachments are extracted, they need to be renamed to match the message they came from.

What I began calling "The Email Project" was finished on May 21st, almost 18 months after it was started. I have successfully exported 15 years worth of emails and attachments, a total of more that 30,000 emails. While about half of the emails have simply been deleted after being reviewed, those that were retained were moved into applicable folders on my hard drive. All that I have on any particular subject is now in a single folder (which in some cases is quite a bit), instead of having to check emails to see if additional information has been retained.

As a finishing side note, exporting emails as plain text from GMail is done by selecting the Print icon, which opens the email as a separate browser tab. Instead of actually printing the message, I do a Select All (Ctrl-A), and copy (Ctrl-C) the text in my text editor, then save the plain text file. I've been doing this with software purchase receipts and licenses, and other important emails for many years, but I now do it for a much larger variety of GMail messages. I then delete the GMail message. There is some minor editing using my text editor, and I then save the text file with a unique file name. The naming scheme for these plain text files is YYYY-MM-DD_HH-MM_[From]_to_[To]_ [Subject]. Attachments are saved with the same naming scheme, with an added attachment file name: YYYY-MM-DD_HH-MM_[From]_to_ [To]_ [Subject]_attach_[attachment file name].

For emails with internal links to web pages, or specific photo albums, I save the email as a PDF file, which preserves any internal links. Saving to a PDF file from GMail is done by clicking the "Print" icon, then selecting the "Save as PDF" printer in Chrome, using the same name scheme as saved text plain text files.

March 29, 2016

While using an iPhone recently, I found that locomotive number groups on various UtahRails web pages, as well as other number groups such as passenger cars and cabooses, were displayed as clickable links to make a telephone call on mobile devices. This is called "Click To Call," a feature not needed here at UtahRails. The fix was to put <meta name="format-detection" content="telephone=no" /> in the HTML heading. This shuts off the click-to-call feature across the entire web site. I doubt I'll ever need it, but in case I ever want to actually have a clickable telephone number, I can add <a href="tel:+1-555-5555">+1 (800) 555-5555</a> for each instance within the web page.

February 2, 2016

For well over 10 years I have been using three asterisks in a row (***) as an end-of-page marker, as well as a way to separate sections of a web page. Well, it turns out that three asterisks are known as a dinkus, and do not mean what I thought they meant. To be sure, one of the meanings is as a simulation of what is known as an asterism, or three asterisks in the form of a triangle, which in-turn was traditionally used to separate chapters. But other meanings are more negative, and I'd prefer not to use such things. I replaced over 1,400 instances of the three asterisks at the end of each page, with a more generic three number symbols in a row (###). I need something at the end of each file to make working with the HTML code a bit easier. The other 200 uses have been replaced by proper use of headings.

January 30, 2016

In my own use of web pages, I like to open a new browser window or browser tab when I click a link. For me, it's the best way to not lose my place in my work flow, just to check some new potential source. And since I likely use my own web site more than my visitors, I added the code < target="_blank" > to the end of each link to force a new window or tab.

Back in 2006 when I converted to strict HTML4 and XHTML, the use of < target="_blank" > became invalid. The solution was to use some in-line JavaScript, < onclick="window.open(this.href);return false;" > to do the same thing. It was another case of group-think among web developers that JavaScript was/is the solution to everything.

Now that those folks have gotten bored and moved on to everything mobile ("There's an app for that."), JavaScript is in decline. In April 2015, I converted the entire UtahRails web site to HTML 5, and < target="_blank" > is again valid, so the JavaScript has been replaced. In the 1,544 pages on this web site, 481 of the pages had 3,703 instances of "onclick=". They are now back to their proper "target=".

December 20, 2015

As of December 20, 2015, What's New at UtahRails was again being posted to the dedicated What's New page, with an accompanying announcement to the UtahRails Facebook page.

All announcements made to Facebook since March 2015 have been moved to the What's New page.

Announcements between August 2010 and March 2015 were made to the UtahRails.net blog, which was retired in June 2015. All blog entries have been integrated into their respective pages.

October 8, 2015

Navigation Menu -- In the continuing effort to make the site mobile friendly, the top-of-page navigation menu has been changed to use a responsive menu that collapses to a single button on smaller screens.

After considerable research, and misguided attempts at creating my own, I selected Drop Menu Magic from Project VII, which is actually an extension for Dreamweaver. The top-level and sub-menus are easy to create and manage from inside of Dreamweaver, and the finished menu is completely responsive for mobile devices.

(2017 update: After upgrading from Dreamweaver CS3 to Dreamweaver CC, and to make my Project VII Drop Menu Magic responsive drop menu extension work, I used Project VII's own Extension Manager, since Adobe no longer supports its own extension manager. I installed the two needed P7DMM and P7Affinity ZXP files, and the drop menu dialog box comes up and the menu appears to work as it should.)

(2021 update: Adobe continues to tweak and "improve" Dreamweaver CC, trying to be everything to everybody. A recent change broke Project VII's Extension Manager. I discovered this after I tried to make a minor change to my drop-down menu. A few emails exchanged with Project VII's tech support brought an updated version of their Extension Manager, and the extension is working again.)

Additional changes include longer easier-to-see links, and more space between links, both to support the use of touch screens.

October 3, 2015

A recent review of this site's statistics shows that about 30% of visitors are on a mobile device, either a smartphone (20%) or a tablet (10%). (By late 2019, about 49% of visitors use mobile devices.)

UtahRails Logo -- As part of the effort to make UtahRails more mobile friendly, the UtahRails logo and logotype have been removed. These were both raster images, and I don't have the skills to convert them to scalable vector images.

Google Site Search -- To reduce the page-width, and to make each page more responsive for mobile users, the Google site search has been moved to its own 'Search' menu item. This function still works very well. Please use it to find items of interest at UtahRails.

Data Tables -- There are hundreds of data tables at UtahRails, in the form of roster listings of locomotives, cars and other railroad equipment. These data tables have rows and columns that do not easily convert to the small screens on mobile devices. Using a mobile device in landscape mode usually allows the data tables to display properly.

Some roster pages can be converted by using a mobile browser's 'Reader' mode, which strips out the formatting. Users with Apple devices and iOS can try the 'Reader' option in Safari at the left end of the address bar. Users with Android devices can enable the Chrome Reader mode icon, or install an app that does the same thing.

June 26, 2015

UtahRails.net Blog -- I have removed all references and links to the UtahRails web log (blog) at Wordpress.com. I started this service back in 2010 as a place to share links of What's New at UtahRails.net, and to write an occasional narrative about some new research. It was started in August 2010, and since that time, there was a total of 144 posted messages. But since its earliest days, the visitor count was seldom more than 3 or 5 visitors per day, and usually 1 or 2 visitors. The limited usage makes it hard to justify the $60 per year to keep the service ad-free, and to customize the appearance, and the service has been canceled. All of the content has been migrated to either new web pages, or integrated into existing web pages.

What's New at UtahRails is now available via a link to Facebook. A Facebook user account is *not* needed to view the UtahRails updates. For those who refuse to use Facebook in any form, let me know and I'll send a direct email.

June 12, 2015

Click Here -- One of the changes needed to make UtahRails a bit more mobile friendly, is to do away with single-word links to pages and other web sites. This includes hundreds of "Click Here" that I have used since the earliest days. I likely have missed a few, but most of my single-word links have been expanded to be more usable and make more sense.

(Crime 9 on the "10 Usability Crimes You Really Shouldn't Commit" - https://line25.com/articles/10-usability-crimes-you-really-shouldnt-commit/)

UtahRails likely can never be entirely mobile friendly because of the hundreds of roster data tables, which don't display very well in what is known as "responsive design," meaning web pages that display equally well no matter the size of the viewer's screen.

April 19, 2015

HTML5 -- UtahRails.net now complies with the HTML 5 standard. A bit of research found that named anchors as navigation aids (either as name= or as id=) are not recommended best practice for HTML 5.

One side benefit of removing named anchors, and applying IDs to the various structural elements, is that the table of contents on most pages now links to an actual id (#locomotives) rather than a generated but unique version (#heading_toc_j_3).

Because I used lots and lots of named anchors, I even learned some very basic 'Regular Expression' Find and Replace syntax to make numerous site-wide changes. I also used the generic bit of regex to find many site-wide mistakes that were common to many pages.

Over the years, by shear numbers and episodes of editing, I had introduced many minor and simple errors to what is now over 1500 pages at UtahRails. I began using CSE HTML Validator to help me validate each page as HTML5, and soon found the errors, as well as numerous examples of badly written code. The effort started on April 5th, and finally, after about two weeks, the cleanup was completed, with errors and warnings beat down to zero. (If you find a problem, please let me know.)

(CSE HTML Validator)

March 8, 2015

Facebook -- After some tweaking, I have started to use UtahRails' Facebook page as one method to show "What's New" here at UtahRails. In addition to the structured Google Search, which can take a few days to show changes, I'll try to keep UtahRails at Facebook updated to show updates and additions, including new photos, document images, and PDF files.

(As of June 17, 2022, updates to UtahRails.net will no longer be posted to the UtahRails.net Facebook page. The work to produce duplicate entries to both Facebook and the UtahRails/What's New page is taking away time that can be better used on other projects. Also, the increasing level of negative political and religious comments on Facebook in general, as well as the obvious attempts at clickbait to drive likes and comments makes Facebook not a useful service. The third factor is that it is almost impossible to find information previously posted to Facebook; it is a terrible way to archive photos and information.)

(It started on March 8, 2015, when links to all "What's New" updates for UtahRails.net were posted to both Facebook and UtahRails/What's New. It was a useful service at first but it is no longer, especially for the past two or three years. All updates will continue to be posted to the UtahRails "What's New" web page.)

January 9, 2015

Maps -- Since early 2011, I have had a dedicated web page for maps at UtahRails.

I created my first Google Map in November 2009 in response to a discussion with James Sonntag about the route of the Salt Lake & Utah in Salt Lake and Utah counties. I learned a lot about the details of creating and sharing maps using the Google interface. I especially liked showing where railroad routes were in relation to today's landscape.

Through 2010, my method of sharing was to add a link to each railroad's individual page, pointing to the Google Map showing the railroad's route. Soon, there were well over 20 maps to keep track of, and it was getting hard to access all the maps without clicking all over the web site. To make it easier, in January 2011, I created a separate 'Maps' web page to serve as an index page for all the maps at UtahRails.

When I first started creating Google Maps, I learned the tricks of structuring the web address (URL) for each map so that it displayed as a map, instead of a satellite image, and displayed with the proper zoom level to fill the screen. This link, which could be quite long for some of the maps, was then used on the UtahRails Maps web page as a link to each map.

(Index page of all UtahRails maps)

To create a map, I clicked on Google Maps, then I clicked on My Places, then on Create a Map. In its on-going efforts to improve itself, in early September 2014, Google began making changes to the "user experience" of creating maps. The changes made it easier to users to embed maps into their web pages and blogs. My Places was going away, to be replaced by My Maps. I received an email telling me that all of the maps in My Places would soon be converted to the new My Maps, and that links would be added to my Google Docs account.

I tried a couple test maps, and the workflow of creating a new map was surely different, with an apparent focus of creating maps using the touch screens on mobile devices. Doing nothing is always an option, and I chose to devote my time on other updates to pages at UtahRails.

Then, it happened. In late December 2014, all my maps showed up in my Google Docs account, and the links in My Places took a really long time to load, as did any of the maps linked from the UtahRails Maps index page. It became obvious that the extended time came from the links being converted on-the-fly by the Google server, from the structured URL that I was previously using, to a different address that appeared to be encrypted, but still pointing to the proper map.

The biggest change was that the zoom level was set to a default that made all the maps way too small. But clicking on the map in the Google Docs account brought up each map with its new appearance, and proper zoom level to fill the screen. The URL was also much shorter.

So, on the first Monday of the new year, I set aside the time to figure out the changes, and how to best take advantage of the new features, and new way of creating a Google Map. With well over 50 maps to attend to, I soon found that there was some serious cleaning up to do as well, fixing links to and from the each map and its associated railroad's web page.

It's all done now. An added benefit is that I was forced to learn the new workflow of creating and editing a map. The process is different, and I don't like the lack of control over many of the features, but it is what it is, and I'll do my best to take advantage of this still-free service from Google.

May 23, 2013

Google Search for recent changes -- A new feature has been added to UtahRails.net -- searching by a specified date range. While adding the new Table of Contents to the pages that need it, I've noticed that many suffered from a confusing mix of previous formatting and usability features. At the same time, I began doing minor updates, such as filling in the odd date here, and the bit of background there, and fixing spelling errors. I soon realized that I wasn't keeping up with any sort of "What's New"; there were simply too many.

So I started looking for a JavaScript or similar geeky bit that would search the entire web site for recent updates. While reading what seemed like unending forums and discussions all about scripts and programming, I noticed some comments about a new feature of Google Search. It seems that in 2009, Google released what it called Universal Search, which included the capability to search for a custom date or a custom date range, along with a way to sort the results by date. A quick search for what are known as search operators found JWebNet.net's full unofficial list of the various operators and what they do. (The JWebNet.net web site is no longer active.)

Using this information, I was able to build a structured Google search with just the first and last day of whatever month I wanted to search on. (In the searches, "tbs" = time-based search; "qdr" = query date range; "cd" = custom date; "cdr" = custom date range; and "sbd" = sort by date.)

I tried a couple real-time searches, such as an update in the most recent 24 hours (tbs=qdr:d), the past week (tbs=qdr:w), and the past month (tbs=qdr:m), but since UtahRails has a low priority, and the Google bot does not crawl my site every day, these real-time searches do not work properly. I found that a range of dates works just fine, and the link will find the most recent changes within a day or so. I can adjust the date range to be any range of dates I need, so I've chosen to search by each month, from the first day through the last day. The new searches have been added to the What's New page; give them a try.

(As of September 2022, the Google structured searches continue to work very well -- https://utahrails.net/whatsnew.php)

February 25, 2013

Table of Contents -- An off-hand remark by a family member, appreciating the usefulness of the Table of Contents on every page of Wikipedia, sent me down a road seeking "how do they do that?" Through the magic of Google searches, I soon learned what it would take to create a similar Table of Contents for pages at UtahRails. Many hours of experimenting has resulted in a very satisfying outcome; a working Table of Contents that the user can show and hide as needed, and which requires little more to add to the web pages than to insert three lines of code, and make sure the hierarchy of HTML heading is properly used. The Show and Hide function is especially nice.

(View screen capture examples before)

(View screen capture examples after)

(View the same page with its fully functioning table of contents)

For anyone interested, although I've done quite a bit with the CSS styling, and adding the show and hide arrows, the function comes from the generated_toc JavaScript by Stuart Langridge in July 2007. (May 2015 update: changes to the original script for better usability were made with the gracious help of Mr. Langridge.)

(Generated TOC download link)

Additional site maintenance includes new a page header graphic, adding a bit of color, and learning to take advantage of transparent backgrounds.

January 2013

Digital audio -- Although not related to maintaining a web site, December and most of January were spent learning the finer points of digital music, and benefits of using the MP3 format as part of keeping and using a large music library. The time included capturing the audio portion of a Union Pacific music video from 1990, and researching the back story to the video.

(Read my lessons-learned about digital audio)

November 2012

Digital photos -- Beginning in mid November, scanning became the focus of the learning curve of technology. There were several false starts and incomplete attempts of scanning printed materials, and converting them to PDF files that were keyword-searchable. Finally a workable combination was reached, and over 2000 pages of published books and magazine articles were scanned and converted to digital files. One of the side benefits was the discovery that scanning a published photograph at 300 pixels per inch, renders the photograph nicely zoomable, with very few artifacts of the dots-per-inch standard for publishing photographs to paper.

(Read my lessons-learned about digital photos)

August 30, 2012

Created a YouTube channel to share videos made from old Union Pacific television commercial advertisements. Over the next month or so, a total of 46 videos were converted from VHS tapes, and uploaded to YouTube. In October 2013, the videos on the UtahRails YouTube channel were removed at the request of Union Pacific Railroad.

(The UtahRails YouTube channel has been discontinued in February 2014.)

July 8, 2012

Using a combination of Google webmasters tools, UtahRails now has an Google-compatible behind-the-scenes sitemap. The tools pointed out numerous duplicate page titles and page descriptions.

Also, many broken links have been cleaned up, both internal and external.

May 12, 2012

Ten-year anniversary; UtahRails has been online since May 12, 2002.

February 17, 2012

Digital video -- Researching the best format for video, meaning the best uncompressed video format for long term, universal (cross-platform) usability. At this time it appears that the best first-stage is copying a VHS tape, or ripping a video DVD to .TS format. Then converting the TS file to an AVI format/container. There are lots of tools available, free and otherwise, for working with TS and AVI files.

February 5, 2012

The last photo was moved over from the Gallery photo album installation, to the SmugMug account. The weakness of the Gallery installation was the ability to customize the look. Just because I could, I felt that I should. Too much time was spent to make it look the way I wanted, a bit like a carpenter having to make a new hammer for each new job, and having to understand metallurgy at the same time.

Moving from Gallery to SmugMug meant that I needed the original scans, instead of the small 600- and 800-pixel wide images I was using in the Gallery installation. After all the hard drive crashes I have suffered through, in which I thought I had lost the original scans, I have been surprised at how many I've been able to recover from the 100 or so "backup" CDs. There were so many CDs that I never took the time to look at them, since 95 per cent of the content has been updated and added to, and therefore useless as backup. But in amongst the kibble, I found most of the original photo scans. They have all been copied to the primary drive, which itself gets backed up to two separate external hard drives. The CDs have all been disposed of.

(View the UtahRails Photo Albums)

January 15, 2011

Adjusted the URL addresses for the UtahRails Google Maps to point to the Map View of each map.

(Go to the UtahRails Maps page)

August 10, 2010

Moved the UtahRails.net blog from Blogspot to Wordpress. (As of mid-June 2015, after 144 entries, the UtahRails blog at Wordpress is being migrated to regular web pages.)

January 10, 2010

Set up a new photo album at SmugMug. I like the look of SmugMug and the way the site works. Plus the fact that I don't have to maintain "the man behind the curtain" like the Gallery photo albums.

(View the UtahRails Photo Albums)

June 25, 2009

The Apple iMac died (hard drive crash), and was replaced by a Windows PC desktop computer.

April 30, 2009

My audio life. (Read my comments)

December 1, 2008

Changed the heading used to print web pages from this site, which uses a special print CSS file.

November 20, 2008

Fixed 34 broken links, as reported by the Xenu's Link Sleuth broken links tool. Also fixed some HTML code that was not validating properly.

(Use Xenu's Link Sleuth broken links tool)

November 15, 2008

After one too many bumps in the road with Lunarpages.com as my web hosting service, I switched hosting services to Dreamhost.com. The major problem is the loss of the photo albums, but they can all be rebuilt. The site was down for over 24 hours, mostly due to an suPHP configuration setting that is not needed at Dreamhost. Except for some missing files that did not transfer for unknown reasons, all seems to be back up and running.

August 3, 2008

PC to Mac and back again. I went back to using a Windows PC desktop computer.

March 9, 2008

Changed the copyright notice to include a Creative Commons license. (This feature was removed in early December 2014.)

Fixed the Google Custom Search in the top menu so that it validates for XHTML Strict.

March 8, 2008

Fixed the broken positioning for the Google Custom Search in the top menu, and moved the "about" menu back up where it belonged, as a separate drop-down menu.

February 22, 2008

A home network has been established between my primary computer, an Apple iMac, and two other computers in the household, a Windows XP computer and a new Windows Vista computer. It took some tweaking and several phone calls for tech support, but all is working now.

(August 2008 Update: I discovered Network Magic, which solved all of the networking problems.) (Windows 7 solved all of these networking problems, and retiring the Apple iMac also helped. Cisco bought Network Magic August 2008 and within two years, stopped supporting the program.)

December 27, 2007

Completed several customizations in the Gallery photo albums. Also updated all the links in "What's New" to point to comparable albums for Gallery 2, rather than the original Gallery 1.

October 13, 2007

The Google custom search box was broken in IE-Win (too much vertical space between header and content). Fixed it by placing the nav and googlesearch divs inside a new menubar div. Safari is still broken, but not too ugly (too much space between menubar and header divs).

Now testing with Firefox-Mac, Firefox-Win, Opera-Win, Opera-Mac, IE-Win, and Safari. That's enough. Everything validates, so if these pages are broke for you, try becoming a bit more mainstream. Although I test with IE-Mac, its more for entertainment than anything else since most of the CSS is broken in IE-Mac anyway, but at least the links work. The so-called IE-Mac backslash hack does not work for me, and I don't care enough to do any more troubleshooting.

October 9, 2007

Added a Google custom search in the top menu. You can search the entire UtahRails.net web site for any word or number (like a road number or a builder number).

September 3, 2007

Rearranged the menu to show "Mining" and "Industries" in the Resources menu.

May 18, 2007

Rearranged the menu to separate the "Railroads" from the Resources. This was to allow more items in the drop-down menus.

April 24, 2007

Dreamweaver CS3 was installed to edit and manage the web site.

March 22, 2007

Fixed the UtahRails.net photo albums, adding a proper logo in the header, and fixing the width at 800 pixels to match the maximum photo size.

January 18, 2007

Finished recovering from a crashed hard drive (the third in three years), that happened on the morning of December 25. The result is a new Apple iMac computer that replaced the four-year-old Dell PC.

Once again, the problem with the Windows XP kernel that causes certain motherboards, with certain IDE controllers, to wipe out the master boot record of a computer's primary hard drive. All files were recoverable by merely hooking the problem drive up as a secondary hard drive and copying them, if you happen to have a different bootable hard drive. That was the last straw. The next day, I visited my local Apple store and walked out with a new 20 inch Apple Intel iMac.

(September 2007 Update: Getting to know the navigation and way that a Mac works has been frustrating at times. But nine months into the experience, I don't regret the change over. I have learned to use the Mac programs, and now only use Parallels for PC programs that I use that don't have a comparable Mac version.)

At the same time, I purchased Parallels, a program that creates a Windows XP virtual machine inside of an Intel Macintosh. It is quite simple to swap back and forth between the two setups using the assigned hot keys. This new combination allows me to continue running several Windows programs that are not available as comparable versions for the Mac, including IrfanView as my image viewer, and NoteTab Pro as my text editor. Also, I owned Windows versions of Dreamweaver, PhotoShop, and Paint Shop Pro, and with new this setup, I could continue to use these, along with my chosen genealogy program. I also have a couple CD-ROM suites of Utah history information that need Windows as their operating system.

For me, a computer is merely a tool, not my hobby. I much prefer researching and compiling history, compared to fiddling and tweaking my computer. All of my Word and Excel documents open just fine in the Mac versions, but they are all slower due to the difference between PowerPC and Universal Binary. Office 2004 runs under Apple's Rosetta software that allows PowerPC programs to run on Intel computers.

Newly purchased Mac software includes Pathfinder as a files management tool; ChronoSync and SuperDuper as a backup and synchronization tools; CuteFTP as an ftp client; WhatSize as a files and folders tell-tale; and ReadIRIS as a scanning OCR tool, along with my Epson 4990 flatbed scanner. All combine to get me back up and productive. My Minolta slide scanner has been retired due to lack of support from Minolta (and their Konica successor) after their exiting the digital photographic market, which also means that I've given up using Vuescan. I've learned that the Epson 4990 scanning software does a great job on scanning eight slides at a time, so losing the Minolta scanner has not been a real hardship. With the release in early 2007 of Dreamweaver CS3 (for web pages), along with a growing familiarity with the various Mac features, my use of Windows programs in Parallels has diminished greatly. But it is still there if I need it.

The two external hard drives did their duty by allowing me to restore my files. The combination of 1) booting the Dell PC from a different hard drive, 2) connecting the unbootable hard drive as a secondary drive, 3) connecting both the Dell PC and the new Apple iMac to the wired home network and allowing shared files and folders, and 4) connecting the external hard drives via their powered USB hub, allowed all the files and folders to be properly copied to the new Apple iMac. After a full recovery, one of the external drives was reformatted for Mac, and all the files properly backed-up. Then the second external drive was reformatted for Mac, and a second backup was made. All this took well over a week and a half. All is working well.

One special note is due here. For over six years I have been using Microsoft's Outlook as my email client of choice. I tried several others, but none had the ability to edit the subject line of an email. In this age of email replies without changing the subject line, I needed to edit the subject line to reflect the content of the message being archived. The change to Mac forced me to give up this great feature, as Microsoft's Entourage for Mac does not have it. Without this feature, I defaulted to simply using the Apple Mail application, mostly to use the integrated address book. But the problem was the potential loss of all my Outlook PST files, which is how Outlook stores its messages. Entourage for Mac does not import mail from Outlook for PC, but I found a great $10 program called O2M (Outlook to Mac) that does a great job. This wonderful application comes from Little Machines, and really saved my bacon. I was able to import all of my emails, and get back up and running in very little time at all. Possibly the best $10 I've ever spent. The current fix for keeping all my email as email files is changing by using Apple Mail's ability to save an email as an RTF file, in my documents, with full message header information (date, sender, subject, etc.).

(June 2015 Update: After converting email back and forth too many times, from one computer to another, from one operating system to another, and from one email client to another, all emails are now saved as plain text files, out and away from the email client itself. This also makes them fully searchable.)

September 14, 2006

Updated the Sitemap by installing an auto generating script that I can run on a regular basis to update the sitemap. An added bonus is that the same script also generates an xml file that helps the search engines do a better job of finding all of the web pages here at UtahRails.net. [Update: the site map was removed due to difficulty in keeping it properly updated.]

August 8, 2006

A bit of an oops. The change in link appearance was broken in Firefox. It was a misplaced comma, and it is now fixed. I guess Internet Explorer is a bit more forgiving than Firefox.

August 7, 2006

Changed the appearance of links, from bolded to dashed, with solid underlines when mouse hovers over link.

May 9, 2006

Upgraded the UtahRails.net photo albums from Gallery 1.5 to Gallery 2.1. The preinstaller makes this pretty easy, as it downloads the compressed file into your selected server folder, extracts it, and installs Gallery. The only problem came with the initial setup of the MySQL database. This was my first database, so I had to figure out how my service provider, Lunarpages, had their version of MySQL configured.

May 3, 2006

Set up my photo albums at PBase.com as an alternative to what I thought would be a difficult upgrade of my Gallery photo albums. This was to take advantage of some great photos I had received of the construction phase of UTA's Frontrunner commuter rail, along with some photos I took myself on April 30. This was kind of a stop-gap measure as I had not yet been able to set aside the time to upgrade my own UtahRails.net photo albums. In addition to the Frontrunner construction photos, I had previously put some great photos by James Belmont of Utah railroading subjects on PBase.

February 3, 2006

Added validation logos at the bottom of every page to show that all pages at UtahRails.net now validate to World Wide Web XHTML 1.0 Strict standards, and to proper CSS formatting.

Added tracking by Google Analytics.

(Google Analytics canceled, May 24, 2023)

January 29, 2006

Done! The work needed to validate all pages at UtahRails.net to the current World Wide Web XHTML 1.0 Strict standard has been completed.

January 27, 2006

Work continues on preparing all pages to validate to the World Wide Web standards for XHTML Strict, which should make them enduring in their formatting and presentation for the next several years. This has been an excellent example of the need for clean coding in the first place. Our modern browsers are pretty forgiving when it comes to glossing over bad code, such as no closing tags, or the odd closing tag when there is no opening tag. The "Strict" variation is helping me to find and correct a lot of problems.

December 28, 2005

Added UP Roster Updates and Tech Talk (this page) to the What's New drop-down menu.

The validation process for XHTML 1.0 Strict has turned up several problems in the table structure, which is quite surprising after all these years that the roster tables have been available. The problems include missing closing row tags </tr> at some places, and missing opening row tags <tr> in other places. I guess our browsers are pretty forgiving when it comes to badly formed markup. Also, numerous instances of incomplete <p> paragraph tags and badly formed <i> tags for italics. Work continues, with all of the rosters and over half of the text pages, being completed.

December 17, 2005

A big concern from the validation process was that the width attribute was illegal in both HTML 4 and XHTML 1. All of the locomotive rosters use <td width="[some percentage]"> to keep the data columns readable. But I discovered that setting the white-space to "nowrap" forces all the columns to be whatever the data needs in that column. Of course, this also means that the Notes column will stretch way out to the right if there is a lot of text in that column. Using Dreamweaver, I have been able to set each <td> in a wide Notes column to have a class of white-space: normal, thereby allowing the wide columns to wrap within the 750 pixel width of the body. Works great.

Dreamweaver works great at setting the .wrap class to the wide table columns. It works when I insert a temporary internal style sheet at head of the file, which Dreamweaver senses; then when I select the entire column that needs to be wrapped, and right-click the selection, Dreamweaver presents me with a list of available styles, from which I pick "wrap". I then validate the file and fix any errors, then remove the temporary style sheet, and do a final validate. This is only needed for the tables with either the roster class or the bordered class, since the roster-note class is already set to wrap as part of the class. Done.

December 15, 2005

Work begins on fixing the code to allow proper validation as XHTML 1.0 Strict, using the W3C validator as the standard. This means lots of cleanup in the css styles and classes. They are all pretty minor, although I have found some surprises that the browsers seem to gloss right over since they are usually in Quirks mode to be backward compatible.

December 10, 2005

Removed the breadcrumbs feature. It did not validate for XHTML, which is my goal for the whole web site. Also, it really was not useful as a navigation tool since it reflected my directory structure rather than my navigation structure.

December 9, 2005

Completed the changes needed for the main style sheet to validate to World Wide Web Cascading Style Sheet (CSS) standards.

December 7, 2005

New Epson 4990 Photo flatbed scanner installed (the previous Microtek i900 scanner was just recently disposed of via eBay). The new scanner made the scanning software freeze-up during the scanning action, which was quite frustrating. After tech support calls and emails to Epson, and after some on-line research using Goggle, I figured out that the problem was underpowered USB ports.

Underpowered USB ports (or rather, bus-powered ports vs. self-powered ports) seem to explain some of the problems I have been having recently with my scanners and scanner software, whether it is the native Epson or Minolta programs that came with the scanners, or the Vuescan multi-scanner software. My new Epson 4990 Photo scanner seems to be much more sensitive with its power requirements. High power USB items include scanners, cameras, printers, and hard drives. Low power USB items include mice and keyboards.

The fix was a self-powered USB hub that furnishes its own power to all USB items plugged in. Separate trips to CompUSA, Walmart, BestBuy, and Office Depot ended with the purchase of a Belkin 7-port self-powered hub from Office Depot. The Epson scanner now works very nicely.

December 5, 2005

I use a local copy of both the Apache HTTP server and PHP to test my web pages locally, before uploading them to the remote server. Previously I was using an application called Sokkit that installed Apache and PHP, along with MySQL, and made all the needed changes to the various configuration files. After the crash, I was trying to get Sokkit to work, but my anti-spyware/anti-virus application kept the PHP application from being loaded. In response, I changed my anti-spyware/anti-virus application, and made the decision to load the Apache and PHP applications separately, and my localhost server works just fine. I never did need the MySQL database capability, so that always seemed like a waste of resources and complexity. The recommended php.ini configuration file changes kept some of the PHP includes from working locally. The fix was to delete the file completely, and all seems to work. I guess PHP is using some sort of minimal ini file, since there is no formal php.ini file. The installation for both Apache and PHP was extremely minimal, with the only edits being to show the two applications where my files are on my local hard drive, and to tell them that I am using http://localhost as my local server. Using Apache and PHP locally allows local testing to be done with either a web browser (both Firefox and IE are used) being pointed to http://localhost, or by using the testing server configurations in both Dreamweaver and Top Style.

December 2, 2005

Recovered from a dead computer, which developed 1) a corrupt hard drive file system; 2) a corrupt Master Boot Record, and; 3) a corrupt partition table, all on November 23, 2005. After numerous calls to Dell (hardware manufacturer) and Microsoft (software manufacturer), plus advice from friends, family, and various tech support people, we determined that I did not get a virus, since I faithfully run a good anti-virus program that updates automatically every day, along with a good firewall and several good anti-spyware programs. I have two other anti-virus applications that I also use to scan my hard drives with on a regular basis.

Instead, I was victim of a random effect that has popped up in Windows XP computers since the XP operating system's beginning; that being the above corruption, mostly to the file system on the hard drive. The most frustrating thing was that about 100 files of all extensions, .exe, .mp3, .pdf, and the worst, my .pst file for Outlook email, were simply zeroed out, making them 0k in length. The crash cost me some money because it also wiped out all of the songs, about 25 of them, that I had purchased from iTunes. Recovery was for the most part possible because I had backed it all up, except my email. I lost all email after September 25, 2005.

I highly recommend "SyncBackSE" from 2BrightSparks. This easy-to-use backup software does a simple comparison of source files and destination files, then shows the differences and asks what I want done with the file. The comparison of file sizes really helped with the discovery of the zero-ed out files, many of which I would never have found on my own.

(Go to 2BrightSparks web site)

Also, I learned that when you re-install Windows, you cannot have a second internal hard drive hooked up that has its own Windows folder. I was able to hook up the bad drive as a second internal drive, and see all my files, which is how I discovered many of the 0k files. But since it still had the original Windows directory, when I re-installed Windows, it saw the installation on the second drive and installed itself on both drives. The whole thing came crashing down again when I disconnected the second drive after copying all the needed files; Windows would not boot. I re-installed again on the single boot drive, after a week of recovering everything, and all seems to be working properly. Now, all I need to do is re-install all the programs I use on a regular basis.

Many people have advised that I move away from using Outlook as my email program, saying that Microsoft does not need any more of my money. I have tried them all, including the popular Outlook Express and Thunderbird, but no other email program allows me to change the subject line. I do this for archival purposes, since many emails from correspondence with various individuals and from various on-line discussion groups are keepers, but their subject lines do not reflect the subject of the particular message being retained. Microsoft's Outlook is the only one that allows this; and it turns out that they are using some other method than simply changing the subject line in the message header. There is a Thunderbird extension that attempts to do it that way, but the extension is broken in newer versions of Thunderbird.

The whole concept of Firefox extensions is one reason I shy away from open-source programs from Mozilla and all the others. Extensions are written by unpaid volunteer developers as a personal challenge, and volunteer developers have shown over and over again that they excel at what the engineering community calls "proof-of-concept". Once they have proven that something works, they get bored and move on the the next challenge, with little or no thought about if it really does what the user wants, without workarounds. The whole concept of usability is totally foreign to developers, since they are quite adept at working around any problems to prove that something will work. Without profit and income as a motivator, unpaid volunteers will move in and out of a developer community with little apparent continuity. The phrase "No Longer Supported" is quite common in the open source community. In other words, the developer(s) got bored and moved on to something more interesting. Debugging a program is thought to be a great waste of time, unless you are getting paid to do it.

June 12, 2005

Adobe's Dreamweaver was purchased after it was recommended highly to me. I did the test drive, and it met my needs. Later experience has strengthened my satisfaction. The only problem comes from Dreamweaver's inability to generate links to specific named anchors in other web pages; a simple task that Microsoft's Frontpage excels at, and the sole task for which I now use Frontpage.

May 23, 2005

Completed a redesign of the web site's menu, from a full CSS left-side menu, to a new CSS top drop-down menu. The previous left-side menu, uploaded on May 7, had issues with the way Internet Explorer displayed the locomotive rosters, which are the most visited pages on the entire site. With the new top menu, the rosters now display properly.

May 7, 2005

Completed a redesign of the entire site, using CSS layout to replace the old table layout. If you use Firefox or Chrome, get Chris Pedrick's web developer extension and take a look at the source code and the CSS file. Now the work starts to get all pages to validate as XHTML. Let me know of any broken pages.

April 28, 2005

Completed a new left-side menu, wherein I replaced the old, bloated Java script, with a much cleaner unordered list with CSS style. This makes the page load much faster. It validates in CSS and in HTML 4.01, and works in Firefox/Mozilla and in IE.

November 16, 2004

I am back after having my home computer die for five days. It was either some sort of spyware that took over the computer's resources, or a power glitch that fried some part of the hard drive. Whatever it was, it killed the poor thing and I had to reformat the hard drive. Of course, I had backups, but I lost all my configuration files, and I am still reinstalling all the programs. At the same time, I have taken the opportunity to upgrade to Windows XP Home Service Pack 2, and Microsoft Office 2003. I have also installed a local version of both the Apache HTTP Server and PHP.

March 21 through April 17, 2004

Completed reformatting of entire web site, using PHP scripting language. It all started with the initial use of Gallery as a server-side photo album. Gallery is a PHP application, and in order to get it to look like the rest of the UtahRails web site, I was forced to learn the very minimal amount of PHP, just enough to get it to do what I wanted. I soon saw the advantage of using PHP includes for a consistent look across the web site for headers and footers, and the horizontal menus.

May 12, 2002

UtahRails.net (http://utahrails.net) first became available as it own domain name.

December 25, 2001

Changed color scheme.

Minor site maintenance.

November 21, 2001

Changed formatting on all pages to allow use of cascading style sheets (CSS).

Added navigation bar at bottom of all pages, including this page. Most pages use a FrontPage shared border, but a few, like the roster pages, require their own HTML code due to special formatting considerations. The major pages also have their own coding to allow use of the black "you are here" feature.

November 19, 2001

Since mid October I have been getting the dreaded blue screen of death, which means that something is terribly wrong at the basic level on my computer. It started when my daughter loaded the Star Wars DVD to get access to some special content at their web site. First the DVD would not play, then when we got the updated drivers from the graphics card manufacturer, the blue screen problems started. First my modem went bad, so I got Microsoft on the line and together we figured out that the ISA slot on my mother board was bad. So I bought a new PCI modem. The blue screen would still come on almost every time I booted the computer. I then tried several possible PCI conflicts, since the troubleshooting kept pointing to conflicts as the probable cause.

Last week I bought a new external modem that connects to a serial port, which is what I should have done when I bought this computer two years ago. I was able to return the PCI modem, and since the ISA modem was a brand name (U. S. Robotics), they bought it for $20. So these two changes in modem ended up costing me a bit less than $20, which is a good thing.

But the blue screens continued, so the next thing was to re-install Windows. I was surprised to see that it did not wipe out all my programs, which is what I was expecting. I guess it simply wrote over the system files. Whatever it did, my computer boots just fine now. Actually, with all the other stuff I have tried, along with all the stuff I have deleted, it boots a bit faster.

November 18, 2001

Removed background image to speed loading in browsers.

August 5, 2001

Added a hit counter to all pages that did not already have one.

March 19, 2001

Reorganized site to allow use of FrontPage 2000 for web site maintenance.

October 30, 2000

The UtahRails.net web site first became available. From October 2000 to May 2002, the web address was via my internet provider's web service as part of my account.

###