I had been using a GoDaddy shared hosting account for my personal website since I created it, but recently changed things up. With Amazon announcing their EC2 Micro instances, cloud based hosting was within my price range. The cost of running the VM is $0.02 per hour, totaling around $14.40 per month. There are some other costs including storage and bandwidth, but they will likely total less than $2.00 per month. What it comes down to is I have my own personal install of Linux to host my web site!
This does come with some down sides. The VM is slow, specifically the CPU. It comes with 613 MB of RAM which is plenty for my purposes. Since my website doesn't receive that many visits the speed is not a major concern of mine. However, I have determined that the micro instance isn't powerful enough to handle my install of ThinkUp because the database is just too large. This is disappointing, but I will create a new install on my Linux box and run it locally.
The reason I can justify paying twice as much for hosting is the benefits that I get from having root on the Linux box. While it means I have to do more Linux administration, it also means I can run whatever software I want! Specifically, I have set up a personal SVN server that I am using for class projects. I use both Google Code and Github for open source projects, but my class projects never had a home until now. So far it has worked out with no problems and using WebSVN provides me with a useful way to browse and analyze my code.
I have migrated my backup script to the new setup and switched to using s3cmd to transfer files to Amazon S3. With the additional services provided on the server, the script now includes a backup of the SVN repositories and the server configuration files.
While this does mean that I will be paying more, the additional features should justify the cost.
Monday, September 20, 2010
Switching to EC2 Hosting for my Personal Website
Monday, August 30, 2010
Wednesday, August 4, 2010
Automated Generation of Javadocs for Open Source Android Applications
While Java is not my favorite language, it has its benefits. With one Android application already posted on the market and another application in development, I decided to start using Javadocs a little more seriously. The process of generating Javadocs is not that complicated using Eclipse, but that is not the solution I wanted. My goal was to automate the generation and posting of the docs as the source code changed.
- Clean up any files from the previous run of the script
- Download the latest source code from the svn repository using svn export. It is notable that you can use svn export with Github since they support accessing repositories using the SVN protocol. Awesome!
- Generate the javadocs based off of the freshly downloaded code using the desired parameters.
- Copy the newly generated javadocs to the desired server. For my purposes, secure copy was the best solution. With my server's public key installed on the shared host, I was able to log into the remote box without prompting for a user name and password.
#!/bin/bash
cd /path/to/files/docs/
rm -rf ampted.svn
rm -rf ampted
svn export http://ampted.googlecode.com/svn/trunk/
mv trunk ampted.svn
JAVADOCHEADER='<a target="_top" href="http://www.amptedapp.com/">Android Mobile Physical Therapy Exercise Documenter</a>'
JAVADOCFOOTER="Generated on `date`"
javadoc -private -header "$JAVADOCHEADER" -footer "$JAVADOCFOOTER" -d /path/to/files/docs/ampted/ -sourcepath /path/to/files/docs/ampted.svn/android/src/ -subpackages com.AMPTedApp -classpath /path/to/files/lib/android.jar
scp -r /path/to/files/docs/ampted remoteuser@example.com:/path/to/remote/files/docs/
Nothing to do, so what will I accomplish?
There are two and a half weeks before my last fall semester starts and I have very little to do. I have a few things on my calendar, but generally it is empty. So, what I am going to do with all of this free time? Simple, write lots and lots of code. Actually, my plan is to work on several projects while I still have the time. It just happens to be that most of these projects involve me writing code.
Monday, July 26, 2010
Some Web Server Management and a Plan for Backups
It has been quite a while since I spent some time administering my personal websites. My sites are hosted using GoDaddy's shared host, which isn't as bad as some of the reviews make it out to be. The big thing that I have been putting off is implementing a reliable and automated backup system. My previous strategy for backups was to simply dump the databases and copy down all of the files once a month, if I remembered. It would not be easy to replace the content of my websites if it were to be lost.