Upgraded Hard Drive Again

I bought a new hard drive on Amazon which arrived today. This drive is 100 GB. I used PowerQuest’s Drive Copy 4.0 to transfer my operating system and data to this new hard drive. Hopefully it will not go bad on me like the other one did. I also bought the full version of PerfectDisk 7.0 to keep the hard drive from becoming too fragmented. I spend a lot of time just waiting for the disk activity light to stop blinking.

I will need the extra disk space to do some video and audio editing. I plan to begin some multimedia projects soon.

Posted in General | Leave a comment

Data Back Up Plans

After my hard drive went bad, I’ve realized that my home office needs a better data back up plan. First, I’ve ordered a bigger hard drive on Amazon. This will be a brand new drive and not a refurbished drive. My current hard drive is running out of disk space and does not provide enough room for all my projects. Computer Geeks issued me a RMA for the defective hard drive I bought from them so that may give me another hard drive.

Right now I just back up data to CD or DVD. I plan to do that more frequently. I’m creating an Emergency Repair Disk and backing up my System State more frequently. I’ve made a list and schedule of what should be backed up.

My older back up PC needs a bigger hard drive as well. I need to install some software on that so it can be used to continue work if my current PC dies.

Later on I plan to buy an external hard drive for backing up data and I may consider buying a RAID controller and more drives to set up a RAID system.

Posted in General | Leave a comment

Reading About ASP.NET

I am currently reading another book on ASP.NET, Microsoft ASP.NET Step by Step by G. Andrew Duthie, published by Microsoft Press. I’m up to chapter 7 on configuring an ASP.NET application (using the web.config file).

Although I already know ASP.NET pretty well it is fairly complex so it doesn’t hurt to review the subject. Plus I am studying for the 70-305 Exam, Developing and Implementing Web Applications with Microsoft Visual Basic .NET and Microsoft Visual Studio .NET and rather than reread the study guide it is usually more helpful to read a secondary source of information to get additional details.

I have some other books on ASP.NET. One on security and one on web services. I also need to start learning ASP.NET 2.0 but I don’t have any books on that yet.

Posted in General | Leave a comment

UPS Battery Backup

I don’t want to give the impression that my home office is inadequate after my hard drive went bad. I plan to invest in more computer equipment to save my work. I did buy a battery backup system (i.e. UPS) at STAPLES.

I bought the CyberPower CP685AVR which gives me 11 minutes of battery power after a power failure.

CyberPower

It will prevent my computer from rebooting during a power flicker which has happened occasionally. I don’t lose power all that often. There are many thunderstorms over the summer which is when the power is likely to flicker.

Posted in General | Leave a comment

Hard Drive Has Been Defragged

Last night I ran PerfectDisk 7.0 and it did a pretty good job of defragging my hard drive. It got half of it defragged which is much better than Windows 2000’s built-in Disk Defragmenter could have done.

drive defragged

Posted in General | Leave a comment

Hard Drive Needs Defragging

My old hard drive needs defragging. Look at all the red in the defrag analysis below:

Degrag Analysis

I’ve ordered a 100 GB hard drive on Amazon but I don’t want to copy over all these fragmented files. I downloaded PerfectDisk 7.0 because the Windows 2000 built-in degragger does not do a very good job. The demo version of PerfectDisk 7.0 will allow me to defrag this drive until I get my new hard drive.

Posted in General | Leave a comment

Hard Drive Went Bad

My 80 GB hard drive went bad on me today. I have lost some of my email, data, and work from 6/17 thru 7/13. Fortunately I never put Linux on my old 40 GB hard drive like I intended to do so I have simply reverted back to that. I bought this hard drive from Computer Geeks at http://www.geeks.com with a 90 day warranty and it went bad in a month so they better give me a refund or a replacement.

Posted in General | Leave a comment

Problem Solving Skills: Verify The Solution

Working in the Information Technology field really develops your problem solving skills and requires you to think logically. One of the most important steps in quickly solving a problem is to test your assumptions.

Technical errors are sometimes quite cryptic. Many problems are cryptic because you are unable to reproduce an error that was reported by a client. This uncertainty concerning a technical problem usually requires an initial educated guess. At first you might guess that there really isn’t a problem. One of the worst assumptions you can make is to assume that there is a technical problem when in fact there is just user confusion.

You might also assume that the problem is due to the web browser the client is using. If somebody is using an old browser like Netscape Communicator then they might see odd display problems that you won’t see in Internet Explorer. This is often the cause of some really perplexing JavaScript errors that you can’t track down until it dawns on you that need to look at it in another browser.

Other times it is the database that can cause confusion. If you maintain a development web site and a production web site which use separate databases then you need to be aware of the possibility that the data has become out of sync between them. A record may be missing from your production database and cause an error to be reported. If the record is not missing from your development database you won’t be able to reproduce the error. You will be initially puzzled until you question your assumption that the data is the same.

In addition to questioning your assumptions about the nature of the problem and the factors involved, it is vitally important that you do not assume the problem is solved after you correct some technical issue. You always need to test your solution to make sure the problem is really fixed. Time and again I’ve thought I’d tracked down the problem and reported it solved to the client only to have them tell me that they are still getting the error. I’ve learned that you need to verify the solution yourself before telling anyone that it is fixed. This last assumption, that you’ve fixed the problem, is the most important one to question. Test the application and make sure you don’t get the error.

Posted in General | Leave a comment

DSL Connection Woes

I’ve been having a lot of problems with my Verizon DSL line. I keep losing my Internet connection. Today I moved all of my computer equipment into another room to be closer to the phone jack and to use a shorter phone line. I think this has solved the problem.

I have a much bigger desk in this other room which gives me plenty of room for my scanner, MIDI keyboard, drawing tablet, and two printers. My desk was getting crowded in the previous room!

Posted in General | Leave a comment

Hard Drive Upgrade

Today I upgraded my hard drive from 40 GB to 80 GB. I used PowerQuest’s Drive Copy 4.0 to transfer the operating system and data from my old hard drive to my new hard drive. I made the new hard drive a slave drive for the data copy and then changed it back to a master drive. I did not have to reinstall anything.

I may use the old hard drive for a new version of Linux. My master drive is a removable hard drive so I can swap out drives to run different operating systems on the same machine. I currently run Windows 2000 Professional, Windows XP, and Mandrake Linux on this system.

Posted in General | Leave a comment

StoreFront 6.0 URL Rewriting

I have a small project involving converting web addresses like category.aspx?id=6 into more search engine friendly web addresses like category6.aspx or even better sports_memorabilia.aspx. Search engines don’t like dynamic web pages with their lengthy query string values and would prefer a web address to a static web page with a HTML file extension. There are URL Rewrite server components that can trick search engines into seeing HTML static web pages that are actually dynamic web pages which just had the URL rewritten. www.caraccessories.com uses a URL Rewrite server component. Unfortunately, these URL Rewrite server components need to be installed on the web server and even worse, you need to restart the web services for any changes to take effect!

Recently I discovered a better way to do this for ASP.NET web applications. For an ASP.NET web application, you can rewrite the URL in the Application_BeginRequest subroutine of a global.asax.vb file. This works quite effectively for StoreFront 6.0 although you still need to use ASPX for the file extension instead of HTML.

Posted in General | 1 Comment

C# Recursion – File Processing

I have made an important improvement to my C# script that parses an entire web application for significant code. I have added the ability to parse subdirectories using a recursive function. This was necessary because not all web applications keep all their scripts in one directory. Many web applications try to organize the scripts by using subdirectories. My C Sharp script needed to parse all the files in the root directory and then move on to parse the files in all the subdirectories. It does this by using a function to process a directory and then recursively calls that function for each subdirectory within that directory.

I use my C# script to search web application files for SQL statements; INSERT INTO, DELETE FROM, and UPDATE SET kinds of SQL Statements. I get a list of table names from the database information schema and then plug that table name into the SQL statement fragment in order to find the web application files that are adding records, deleting records, or updating records in that table. This gives me a very useful report on the web application design. I even output the line numbers where the SQL statements can be found. It saves me a lot of time when I need to search through the code of a web application that I did not create.

Posted in General | Leave a comment

Williamsport News Feeds

I’ve gathered all the local news feeds I can find into my BlogLines account. BlogLines lets you see how many subscribers a feed has and for many local news feeds like the Williamsport Sun Gazette, I am the only subscriber. Of course, this does not mean that their RSS news feed doesn’t have other subscribers who are using other RSS feed readers.

The local feeds that I found include; Newswatch 16 (a local TV station), the Williamsport Sun Gazette, PCToday (the local community college), the Times Leader (a newspaper in Scranton), and my own blog feed which I added because you need a least one BlogLines subscriber to get your blog or feed in the BlogLine directory. Being the only subscriber to the Sun Gazette news feed means that they have me to thank for their inclusion in the BlogLines directory.

My BlogLines Feeds

Posted in General | Leave a comment

PHP Secure Administration Scripts

I have written some code to secure the database administration scripts I use to manage my books database. Now my simple web application has a log in page and you cannot access any other pages without a valid log in. All of the database administration pages are written in PHP and they allow me to manage a table in this web site’s MySQL database.

I could not write my code as elegantly as I would have liked. PHP handles sessions in a peculiar fashion and I had to set the directory where it can save a file for a session. I did not like that. ASP does not use files to manage sessions. Now I have a directory that is collecting files every time I start a session.

Also, the PHP method for doing a redirect does not work very well. It was doing the redirect regardless of the condition that my code was testing. I had to use JavaScript to change the window location.

It works but I plan to spend some more time trying to improve the code because this is a fairly typical requirement for any web application.

Posted in General | 2 Comments

Universal Data Link Wikipedia Entry

Today I came across something I never heard of before, the Microsoft Universal Data Link (UDL) file type. It is used for database connections. I tried to look it up on Wikipedia but they did not have a page on it so I decided to create my first Wikipedia entry.

Wikipedia UDL page

Wikipedia is a free online encyclopedia which anybody can edit. It has thousands of people contributing encyclopedia articles so it is a major repository of information. Unlike traditional encyclopedias it is being constantly updated and contains current information and articles on very obscure subjects. There has been some controversy over the authority and accuracy of the articles which anyone can edit and corrupt but I think the collective knowledge of thousands of people is better than the knowledge of select experts.

Posted in General | 1 Comment

More Web Applications Installed on my Mandrake Linux Server

Tonight I installed two more web applications on my Mandrake 8.2 Linux server. These web applications finally give me a reason to use my Linux system. And I am gaining experience in installing the types of web applications that are typically deployed by web developers. The web development company that employed me did not encourage the use of Linux or open source web applications. They are really behind the times but now that I’m cut loose from them I don’t intended to limit myself in my expertise.

First I installed phpBB, a bulletin board system that is so popular that I’ve already used it many times as a user. It was the easiest PHP application to install. I didn’t run into too many problems. You do need to delete the install and contrib directories before it will allow you to log in. Also I was unable to log into the administration menu until I changed my server name.

In the screen shot below you can see that it is complaining that the config.php file can’t be written but at least it offers to download the file someplace rather than giving me an error.

phpBB Installation

It did shut me out of the Administration menu for quite a while until I figured out that my browser was just having problems with the server name which needs to be localhost because this system cannot resolve any other DNS name.

phpBB Administration

After installing phpBB I installed WordPress 2.0.2 which is now one of my favorite web applications. I’ve used Blogger before for very occasional blogging but I didn’t really get into blogging until I was running a blog on my very own web site. WordPress did not give me many problems except for the fact that my download was corrupt. I had to use Firefox to download a good file. Unfortunately my linux server is cut off from the Internet so there is not much point in running a blog on it:

WordPress

Posted in General | Leave a comment

Dot Net Nuke and Crystal Reports

Last night I installed Dot Net Nuke 4.0.2 on my system. It gave me almost as much trouble as a Linux web application install. The two aspects I found tricky were renaming the release.config file to web.config and then updating the database connection string in two places in the web.config file instead of just one place. Dot Net Nuke has been on my radar for awhile now. It is an ASP.NET web application framework that many web developers like to use because it gives them much of the functionality they would need to create from scratch if not using DNN. However I come across a lot of uncompleted projects that were started using Dot Net Nuke. I get the impression that developers use it to give the impression that a project is well under way and then they abandon the client. Customizing Dot Net Nuke for the specific functionality a project requires is probably very difficult and developers either bail at that point or find other work and leave a project that the client finds difficult to get completed.

I also played around with Crystal Reports. Crystal Reports has been in Visual Studio.NET for a long time but I never looked at it. I’m not particularly impressed. I don’t like the report formats or the report design tools. I would rather create my own reports using HTML and make them as plain or fancy as I please. I don’t like to fiddle with imprecise positioning of window boxes and text controls in Visual Studio’s terrible design view.

Posted in General | Leave a comment

Blogging For Dummies Book Review

Tonight I finished reading Blogging For Dummies by Brad Hill. Amazon recently added it’s very own version of the blog called the plog which allows writers to have a blog on Amazon targeted to their readers. If you have bought a book by the author you will automatically see their blog on Amazon. Naturally Brad Hill was quick to pick up on this because he is supposed to be an expert on blogging so he has a plog.

Surprisingly his book only has two Amazon reviews right now. I always make the effort to write an Amazon review of a book I’ve read because I’ve heard these reviews are read by authors and publishers. I like to review the obscure books I’m reading and I try to write really intriguing reviews. It is fairly easy to contact an author directly by e-mail so I probably shouldn’t waste my time on this indirect contact method.

Any way, the Blogging For Dummies book was worth the money because it gave me lots of web addresses and resources to check out. It should be of some value in promoting my business through blogging. Being a geek, it could have been more technical for me.

Posted in General | 1 Comment

Installed phpMyAdmin On Mandrake 8.2 Linux

I’ve found it easier to install web applications on my Mandrake 8.2 Linux system which is running Apache-AdvancedExtranetServer/1.3.23 and PHP 4.1.2. I recently installed phpMyAdmin 2.8.0.3 with only a few minor problems, mostly in editing the config.inc.php file and then changing its permissions. Use this command to change its permissions after editing the file: chmod 664 config.inc.php. Here are the lines in the configuration file that I changed. It is safe for me to post this on the Internet because my Mandrake 8.2 Linux system has no Internet access. I have to figure out how to get it to connect to Verizon DSL.

$cfg['Servers'][$i]['host'] = 'localhost'; // MySQL hostname or IP address
$cfg['Servers'][$i]['port'] = '3306'; // MySQL port - leave blank for default port
$cfg['Servers'][$i]['socket'] = '/var/lib/mysql/mysql.sock'; // Path to the socket - leave blank for default socket
$cfg['Servers'][$i]['connect_type'] = 'socket'; // How to connect to MySQL server ('tcp' or 'socket')
$cfg['Servers'][$i]['extension'] = 'mysql'; // The php MySQL extension to use ('mysql' or 'mysqli')

Here is a screen shot of phpMyAdmin which I managed to take using Ksnapshot.

phpMyAdmin Screenshot

Posted in General | Leave a comment

Corel Linux Upgrade Woes

Over the weekend I tried to upgrade my Corel Linux system for PHP 4.0. Unfortunately I was unable to accomplish this because Corel Linux is so obsolete. All I managed to do was upgrade Apache from 1.3.3 to 1.3.35 and PHP from 3.0.5 to 3.0.16. I did document my Apache HTTP server configuration file, httpd.conf, in my notes and gained some experience but it was extremely frustrating. I ought to scrap my Corel Linux system but everything works and it took me a long time to get it that way. I have the Linux version of WordPerfect Office 2000 Deluxe installed on that system. It includes WordPerfect and Paradox 9.

My other Linux system is Mandrake 8.2 which is much better. Unfortunately it is installed on a removable hard drive for my best PC which means I have to swap out my Windows 2000 Professional hard drive for that one. So it requires a lot of hard drive swapping to work on Mandrake 8.2. If I had more disk space I could run Mandrake 8.2 as a virtual server.

Posted in General | Leave a comment