Dynamic Website Performance Issues

July 13, 06 by kenrich

It’s hard to get any work done for my current employer. Our system is very complex and convoluted and doesn’t respond very fast when navigating our website. That’s one of the drawbacks of working for a smaller company. We don’t have the manpower nor the resources to build a responsive website.

A lot of it boils down to the large amount of data we are sorting through. We have thousands of users on our systems with gigabytes of data for our websites. Despite best programming and database practices, our relatively weak servers cannot keep up with client demands. It seems that we should improve our database server or put in extra effort to optimize our database layer.

The key to keeping your customers happy is to create a fast and responsive website. With a highly dynamic website, the best way to do that is to improve your database speed and use caching on your site to speed up your pages. We have managed to make general improvements in this regard, but more needs to be done if we are to be considered the major player in our field.

Just Back from Vacation

July 11, 06 by kenrich

I just got back from a two-week vacation to Canada for my family reunion. I didn’t spend much time on the computer (intentionally). I really had a good time just enjoying the weather and the holiday season.

We spent a lot of time swimming in the pool and just relaxing. I definitely felt like I needed a break from work (although I did manage to do some work while on vacation.) Our kids really enjoyed the trip and they are already wanting to go back. We took them to a petting zoo, to a parade and to the Canada Day fireworks show.

I still may take another week’s vacation this year. It’s one of priveleges I’ve earned with my current employer. It may be hard to get some time off during the Christmas or Thanksgiving holiday, so I may just save the vacation time for next year. Make sure that you take your vacation time. There are little (if any) benefits to being a workaholic.

Rebuilding an Older Computer

June 16, 06 by kenrich

My computer at home was having problems recognizing my AGP video in an old system I was putting together. I think there was an IRQ conflect between the built-in video and the AGP video memory or something like that. Even though I disabled the onboard video in the BIOS, the system refused to recognize my video card.

It wasn’t like the video card didn’t work. I’d still get graphics but even when I tried to install the correct drivers for the card, the system didn’t recognize the device. I finally ended up giving up on the AGP port and just went with a PCI video card. It’s not AGP, but it still runs about 40x faster than the AGP card I had installed.

Next I’m going to have to re-install the sound card I used to have installed. After reverting back to the onboard sound card, the speakers are generating some really annoying noises that are definitely not normal. Once this is done, it should make the computer complete (well unless I install a bigger hard drive that is).

Microsoft Exam 070-316 Training Materials

June 15, 06 by kenrich

So I read this study guide from Microsft called “Developing Windows-based Applications with Microsoft Visual Basic .NET and Microsoft Visual C#”. I thought that after studying this book thoroughly, I would be totally prepared for my Microsoft certification exam. Good thing that I looked into additional training material.

It turns out that this study guide amounts to not much more than a really large primer. In order to be prepared for the exam, you need to either take a training class or buy a full-fledged training application for windows. I chose the latter and am using the TestOut MCAD preparation kit. It contains tutorials that work just like the classroom.

So far, I’ve learned a ton of new information that wasn’t covered in the Microsoft test. The total training time for 070-316 is 50 hours. A lot of that is videos where an instructor walks you through the process of building an application and adding features to it. I would definitely recommend this product to others.

Actually, the primer book does server one good purpose. If you are totally new to .NET, it provides you with a foundation for the class library and object-oriented programming. This is one thing that the TestOut package doesn’t include. So you can see that different training materials can overlap and just using one source is usually not sufficient. The one exception to this rule is when you take a real class – usually the instructor knows exactly what you should study for and won’t leave you hanging.

Microsoft Windows-Based Applications (C#)

June 13, 06 by kenrich

Recently, I’ve been studying for my in order to update my skills. I’m working towards the MCAD (Microsoft Application Developer) certification. So for the past two months or so I’ve been studying for Microsoft C# – Windows-Based Applications (070-316). This will be the first step in reaching my certification goal.

I’ve had to delay the test date once already and may have to do so again. Judging from some of the practice exams that I’ve taken, a lot of the exam questions are not based on information presented in the Microsoft study guide. There are little idiosyncrosies and gotchas that you need to watch out for when taking the test. It would be impossible to memorize every aspect of the Microsoft .NET Framework, so my goal is to just focus on the most commonly-used features.

I’m really glad that I found out about this before I took the test and not after. I really can’t afford to pay for repeat tests and I prefer not to pay more than I should. The real question will be whether or not I can get this first test out of the way before I head out on vacation in two weeks. That is my goal since I don’t want to spend my whole vacation studying for this test.

SiteMeter Web Stats is Too Funky

May 19, 06 by kenrich

Today I compared the web stats for this blog (provided by my hosting provider) with the stats reported by SiteMeter. My SiteMeter stats were pathetically low. So low, it doesn’t even take into account people who may have stumbled across my blog just by entering a typo into their browser. For a while, I actually beleived that these stats were accurate which a large part of the reason why I haven’t been posting much on the blog recently.

My web hosting stats show nearly 100 times the amount of activity that SiteMeter does. Maybe it’s just me, and I installed SiteMeter incorrectly on this site. Otherwise, I wonder if their product actually works. I am going to remove the SiteMeter link from my blog for now. I will probably switch to Google Analytics to give me better reporting of my site visitors.

For anyone that hasn’t tried Google Analytics, it is a good offering. It provides you web stats as well as help you find marketting terms that will help to bring visitors to your site. Last I checked, they had a waiting list to receive an account with them. I signed up for an account and it took maybe one or two months before I received my account. It’s definitely a valuable resource if you are serious about advertising and marketing.

Google Notebook is Another Winner

May 18, 06 by kenrich

Google Labs has just released their newest tool: Google Notebook. I’ve installed and been using this tool over the past 24 hours and am happy with it’s performance. It provides an excellent resource for all types of applications. What is particularly useful, is that you can share your notes among all your computers. Since the notes are stored on Google servers (just like Gmail), you can access your notebooks from anywhere on the Internet.

The application installs as a plugin to the Mozilla Firefox browser. Once installed, it provides a link to your notebook in the status bar of your browser. Clicking on this will give you a veiw of your notebooks and notes. If you keep large size notes, you will need to maximize the window which will basically show the notebook in your browser window. You can add, edit or delete notes from your browser without having to load the Google Notebook web page. This is definitely useful for maintaining a contact list with addresses and phone numbers.

As a programmer and web developer, this is a handy tool to store commonly used code and algorithms. The systems allows you to setup multiple notebooks. Within each notebook, you can define multiple headings. Unfortunately, they do not let you define nested headings. I’m sure that Google will fix this shortcoming very soon.

The Ajax interface is pretty slick. “Edit” and “Delete” buttons appear over a note when you move your cursor over it. As you move out of the note, they disappear again. There is also a handle that appears to the left of the note which allows you to move the note to a different position within the notebook. The edit controls allow you to change font family, color and size. You can also do bold or italicized text. I’ve noticed they also allow you to indent text using the tab key (in a basic textarea input, the tab key moves you to the next input on the form).

One bug that I did manage to find was when I went to color a section of text within a note. It worked the first three times or so, but when I went to change the color again, the application notified me that I need to select a section before setting the color. This despite the fact that I had already selected the section. I tried reloading and repeated these steps a number of times before finally giving up.

Programming Windows Forms in C#

May 16, 06 by kenrich

Lately, I’ve been studying traditional DotNet programming instead of doing web development. It provides a nice break from the monotony of building websites. When you’ve built as many as I’ve had, you need to take a break every now and then. I am considering going for a Microsoft certification in programming and web development for the DotNet platform. I’m going to look into the different curriculums available and find one that suits my skills and studies.

I’ve got some good reference books to study from and I’ve taken up learning Windows forms programming using the C# language. It’s an excellent language that has all the benefits of an object-oriented language such as Java and then some. It make developing windows applications a breeze. I used to develop windows form applications in Visual C++, but managing all of the handles and pointers and memory management was just too much of a pain. Visual Basic abstracts a lot of these details for you and is a much better alternative if you are interested in Rapid Application Development.

Anyways, I’ve built a couple of small useful utilities in C# so far. One is a password list which can be added and updated. This lives in the system tray and stores login information encrypted in an XML file. After 15 minutes of inactivity, the program will lock itself so that nobody can read the encrypted passwords when you are away from your computer. Another program monitors websites to make sure they are up and running. You can read more about this from my previous post.

Site Monitoring Tool Built

May 12, 06 by kenrich

I’ve just implemented my first multi-threaded application in C#. I’ve created a website monitoring tool that will check all the websites that I work on to make sure they are up and running smoothly. It does this by making a simpe HTTP HEAD request to the website and making sure the server sends back valid data. In the event that our host has a problem, I want to be notified immediately that our site is down.

The application is fully configurable so that you can create a configuration file that holds all of the sites you want to monitor. You can have multiple configuration files each of them with a different collection of site. When you modify the sites being monitored, the program detects these changes and prompts the user to save before quitting.

In the future, I will be adding a notification that will send out an e-mail to a user or group of users in the event that a site is down. This will be useful for using the program in a server environment where a notification icon is not sufficient. I would also like to create a digest of the failure notifications so that the program only sends an e-mail notification once every day (for sites that are continuously down).

Dell Poweredge sc430 Server

April 12, 06 by kenrich

So I just ordered a new Dell server () to use as a desktop computer. This is something that I’ve done before because I currently own two poweredge 400sc servers which I am using as desktops. Dell must be really trying to cut their costs because the new poweredge tower server lacks a lot of features that the previous one had. This is really annoying for the consumer because they have to purchase all sorts of add-ons just to have a usable computer.

The first thing I noticed was that the computer didn’t have any sound ports. You know the phono jacks that allow you to connect a set of speakers and a microphone. This doesn’t work too well for a desktop computer but I suppose it’s okay if you are just going to use it as a true server. So I had to go out to buy a sound card to go into the computer which cost me $11 (not too bad).

The next thing I noticed (which really irked me) was that the computer is lacking any PS/2 ports to plug in a keyboard. I guess all peripherals are going the USB route and so this computer requires you to use a USB mouse and a USB keyboard. While I have plent of USB mice, I don’t have a single USB keyboard in my arsenal. This means that I now, also, need to buy a USB keyboard just to try out my computer.

I know that Dell is trying to cut their costs left-and-right and increase profits. I read a news article recently that read Dell had lost some profits because they were offering substantial price cuts on their systems. They were going to focus on the very high-end (XPS series) systems and also cut the large discounts on their regular systems. I did only pay $299 for my poweredge sc430, but c’mon, at least give us a $9 keyboard with the computer so we can boot it up and install an operating system. I really don’t think this is too much to ask