Thursday, November 5, 2009

The Church and School Website - Part 1

Some time last year I decided to join the Technology Committee at my church. My intention was to see what kind of technology the church's school (which my daughters attend) was working with, and help improve things if possible. When I got to the first meeting, I discovered that what the school board really wanted was to find parishioners who had the skills to revamp the church and school's web presence, and in the process hopefully do so in a more frugal manner. The existing site was rather dull, hadn't been updated in a while, and was costing nearly $50 a month to host.

The school board and church organizations had a lot of big ideas for the site, but no one there really knew whether any of these things were possible, or how much it would cost to get it done. It turns out that most of what they wanted could be done, and I could do it for free. I volunteered to help, so "they" then became "we", and I now had a lot of work ahead of me.

After getting the login information for the account that they had at the time, I realized that there were some serious limitations to what we would be able to do with the current hosting situation, and it was costing about $40 more a month than what I thought we should be paying. The church and school had an arrangement with a former student where he had been providing email accounts which they were using, but also a free web hosting account that we were not aware of. With this new information, I started planning the new site for the church and school. I gathered the requirements and began the work of deciding whether this should be a hand coded undertaking, or if an existing CMS package could be customized to better suit our needs.

The main goals right from the beginning, beside the obvious goal of having a better site that cost less money per month, were the following:

  • Something functional had to up and running rather quickly, as one of the main functions of the site was to allow the school to become somewhat "paperless" by providing links to most of the various forms that would normally be sent home with the kids. The parents could just read and print them from home instead.

  • The site needed to allow for members of the school and church to easily edit the content. The idea was to give people a sense of ownership, allow the community to take an active part in this.

  • The site needed to be scalable. The ability to easily add more functionality as things evolve had to be there from the beginning.
Since time was of the essence, and the budget was non-existent, I chose to use an open source CMS application for this project. Now I just needed to decide which one to use...

Sunday, November 1, 2009

The darker side of hosted solutions

Web based applications are great. Anyone who has known me for any amount of time, knows that I am big proponent of moving just about everything to a browser based model, at least where the application lends itself to this. All of that being said, the web, the cloud, or whatever you want to call it is not without disadvantages. Relying on hosted solutions for business critical applications puts you at the mercy of a lot of different factors.

Perhaps most obviously, you are dependent on your Internet service provider. Web based applications are worthless without an Internet connection, it is as simple as that. If your Internet connection goes down for whatever reason, you are out of business for that period of time, and you must rely on those responsible for restoring this connection. Depending on what the problem actually is, the delay could be long and that could be catastrophic. The good news here is that unless you are using a "home tiered" cable or DSL connection for your business (If you are, shame on you!), odds are that you have a service level agreement attached to your Internet service, and any outage will be quickly resolved because it will cost the service provider dearly otherwise.

Similar to the above pitfall, the vendor/host of the application itself can have issues. They can overload their servers, apply a bad patch, have a SAN crash and burn, or all of the above at the same time. These things really do happen. I have seen this kind of carnage first hand on more than one occasion. In fact, I spent nearly 3 hours helping someone attempt to recover from a SAN meltdown a couple of weeks ago. You are "down for the count" until the vendor gets this issue resolved. If the vendor (or the contractor that the vendor employs to resolve such issues) is less than competent, you will end up paying the price. If you're hosting your own web/browser based application, you have a degree of control over recovery.

Perhaps most insidious is the fact that typically your data is under the complete control of the vendor/host. I don't think I have ever seen an application where the data stays in-house and the application is hosted. This opens up all kinds of gruesome possibilities. Your data can be compromised. Your data may be for sale in the Ukraine, China, or Cleveland (ok, far fetched). The data could be wiped out with no chance of recovery. Of course you would have a known good backup of your data at all times, but does the vendor? The most likely scenario regarding your data however, is that you will have an extremely difficult time retrieving a copy of your data from the vendor should you decide that you want to switch vendors. Just the thought of this undertaking alone can be enough to make one tolerate much more in the way of bad service than anyone should ever have to.

Hosted applications seem like a good deal, and don't me wrong, they can be. I am not making an "about face" on my previous stance on web based applications, which I have shamelessly promoted ad nauseam. I do however, want people to be aware of some of the possible "gotchas" in hosted applications, as well as make people aware that I too am aware of these things. You see, I have been a "web fanboy" in many of my postings and conversations, but in the interest of presenting information and not just my opinions, I felt I must make this posting. It is also very important to note that the above situations are some of the worst case scenarios.

As with anything, there are always variables involved. Personally, if I had an absolutely mission critical application that was browser based, I would keep the web servers and data "at home" rather than trust that someone else has my best interests at the top of their list of priorities. If my application in question is an e-commerce site selling t-shirts or something, or my business's home page, I could have someone else host it and I probably wouldn't lose a lot of sleep over it.

Sunday, October 18, 2009

Low tech tribulations

I have spent the better part of the last four days working on my car. I have never thought that mechanical work was easy, and now I definitely have a renewed respect for anyone who does this for a living.

Thursday on my way to work, the pulley on the power steering pump on my car finally gave way. It was only a matter of time. The power steering hadn't worked in months, I guess the bearings finally disintegrated, and then the shaft seized up, shearing the pulley clean off. The battery light came on due to the alternator no longer functioning (it is powered by the same belt that powers the power steering) and fortunately I was able to limp home on battery power. None of this is the worst part though...

I decided to attempt to replace the power steering myself. This required removing the alternator, and then removing what was left of the power steering pump. I had replaced the alternator before, so I was familiar with how to remove it, and was well aware of how much it sucks to have to do so. The power steering pump was easy enough to remove, as the pulley was no longer attached to it.

Once everything was removed, I began the work of acquiring new parts and putting things back together. First up was the power steering pump. This had to be bolted back on sans pulley because there is not enough room to maneuver it into position and bolt it on with the pulley in place. Attaching the pulley was difficult because there is very little clearance between the wheel well and where the pulley bolts on, but I was able to get this done after a few tries.

After getting the power steering pump attached, pulley and all, I discovered that the belt itself was damaged and needed to be replaced. Routing the belt through all of the pulleys, the tensioner and the idler that is between the power steering pulley and air conditioner compressor pulley was an absolute nightmare, especially after having forgotten about the air conditioner compressor pulley on the first try, but after about 30 minutes I managed to get it in place.

Now for the alternator. There are two bolts that hold the alternator on, one of them is in a nearly impossible to reach place, and it takes 20 minutes to take that bolt off, and another 20 at least to put it back on because there is no room to use a ratchet or ratcheting wrench. It has to be done with a conventional wrench. I would rather chew crushed glass than take the alternator off or put it back on, but I ended up doing this a few more times than should have been necessary as you will see below...

I got the alternator on, and the plan was to plug the three connections that go into it after the alternator was bolted on. This didn't work out because my hands are too big to fit into the very small space I had to work with. So, I ended up having to take the alternator off again just so I could plug these three connectors in. This took forever, but finally I got it done and got the alternator bolted back on, and then pulled the belt over the last pulley.

Now it was time to test drive the car and make sure that everything was working. Power steering still was not working! I forgot to put fluid in the reservoir. I came back from my trip around the block and put fluid in the power steering reservoir. Started the car and prepared to drive around the block again, but instead I heard a popping noise followed by gushing... There are two hoses that need to be connected to the power steering pump, a return hose that goes to the reservoir, and a pressure hose that goes to the rack. I did not plug the pressure hose in, resulting in the pump launching the plastic plug that was inserted into the threaded hose receptacle, and then shooting the power steering fluid all over the garage floor.

I had to take the alternator off once again to get to the power steering pump to see where the pressure hose is suppose to go. Also had to find the pressure hose. I found the hose, but the threaded end was missing. This was probably broken off in the original pump, which I had already turned in for a core on the new one. I had to make another trip to the auto parts store to get a new pressure hose. After going to three different stores, I found one. I got home and attempted to thread this hose into the power steering pump, again having very little clearance for the two canned hams that I call hands. I was unable to get the thread started on the hose, so at this point I called in reinforcements. My wife, who has considerably smaller hands than I do (lets face it, it would be messed up if she didn't) tried, but also failed to get the hose attached. Back to the drawing board...

I had to take the power steering pump back off. First the pulley, then the pump itself. I got the pump off and then threaded the hose in. To my relief, it was the correct hose. I had some doubts because it was an aftermarket part, and it didn't look exactly like the one that came off of the car. With the hose attached I attempted to put the pump back on, but now I could not maneuver it back into place (it was nearly impossible without the hose attached) and so this is where I gave up for the moment. The car still sits in the garage in pieces, and if I ever get myself out of this one, I promise to never again attempt to fix anything that does not have a keyboard attached to it. :-)

Update: 10/22/2009

I was able to get the car put back together last night. As an added bonus, it actually works. A couple of test drives around the block seem to indicate success. I need to go out and look under the car this evening to make sure nothing is leaking. Next time I will either take the car somewhere to be repaired, or take it out back behind the shed and put it out of its (and my) misery.

Sunday, October 4, 2009

Hardware musings

Looking ahead to the hopefully not too distant future, perhaps next year after tax return time, I am looking at motherboards and processors capable of using more than 8 gigabytes of RAM, as I need more RAM to accomplish some of the virtualization things I want to do.

Currently I only have 2 gigabytes of RAM. My motherboard is suppose to accommodate 3 gigabytes, but there is a problem with the third bank, as I get all kinds of blue screens, etc... when I put RAM in there. I tried to update the BIOS with the hope that would make the difference, but it turns out I was already using the latest version. This was a little aggravating, but the board is at least 5 years old, and it was probably teetering on the edge of obsolescence when I got it.

Do I want to stick with AMD, which I have used for many years now, or do I want to go with Intel? Tough decision. My only complaint about the AMD processors I have owned is that they seem to run hot. Since the only Intel processor I have ever owned is the miserly Intel Atom that is in my ASUS Eee PC, I don't really have an informed opinion on Intel one way or the other, but I have heard from more than one reliable source that Intel chips are generally more efficient.

Speaking of ASUS, I am a huge fan of their motherboards, but I am wondering if I should pair an Intel processor with an Intel motherboard? I have checked out some other motherboard manufacturers, Gigabyte being one. I am very happy with the Gigabyte video card I have. They also seem to get good user reviews on Newegg.

Video... I am not really a gamer, at least I don't really play anything recent or demanding from a hardware standpoint. My only real requirement for video would be that I have DVI out, and dual monitor support would be nice in case I can ever afford two monitors. I really miss having two monitors when I come home from work. I can get so much more done with two monitors. Anyway, that is a want and not a need.

If money were no object, I suppose I would get a Dell Power Edge 1950 and run ESXi 4 on it. I'd provision a Windows 2003/SQL 2005 Server, an XP Pro and/or Windows 7 box, at least one Linux (probably Ubuntu or Mandriva) VM, and a NetBSD VM. Now I am really dreaming. :-)

Sunday, September 27, 2009

Something old. Something new.

Yesterday I attended the Emergency Chicagoland Commodore Convention with my friend Bob. This is a small, very dedicated group of people who are keeping the Commodore computer culture alive. There was hardware and software on display, some of it was for sale. There were interesting presentations too.

At the doorway of the room someone had set up an old Commodore PET machine, and people were taking turns putting BASIC PRINT loop displays on the screen. The last one I saw there before I left was a scrolling loop of Rick Astley lyrics with a slight delay added in to make it easily readable. This last bit was done by Benjamin Heckendorn, who was there showing off one of the best hardware hacks I have ever seen... an Atari 800 laptop!

I happened to catch most of the presentation by Jim Brain, who still designs and manufactures hardware for Commodore computers. Jim gave a presentation on a couple of things he has been working on recently, and I found the question and answer session about the "ROM-el" chip particularly interesting, because he explained not only what the chip does, but why he designed it the way he did. He went into detail about why he made the choices he did in the design of the board, and why he used flash chips instead of EEPROMS for example. One of the reasons happened to be cost. You can buy flash chips for just under $1.00, where EEPROMS are about $4.50 each. Another positive bi-product of having gone this route is the ability to very quickly and easily write/rewrite information to the chip, where with EEPROMS this not nearly as easy. It was a very good presentation, and it was nice to see that they are still doing exciting things in the ever shrinking realm of Commodore.

I also happened to see two CMD 40 Megabyte hard drives. This was pretty cool because I could never afford one of these when I was a kid, and I had never actually seen one in person. It looks like a very well designed piece of hardware. I think most if not all of the BBSes I used to call used the Lt. Kernel for storage, and the CMD hard drives came out relatively late in the game for Commodore. I always wanted one, but even today they are very expensive when you actually see one for sale on EBay, which is quite rare.