I finally broke down and decided to start a blog. I do spend a lot of time hacking, coding, and doing computer science-y things, yet I don't really talk about it nearly as much as I want to. In any case, I'd like to start this blog with my very first post, called "Hello World". In this first post, I'm going to discuss the technologies I'm using to power my site: ajkelly.net.
I'm currently running an Azure VM with Ubuntu - I decided to go with Ubuntu over Windows Server due to cost. In the past, I was using hostgator.com as my main web host; however, I found it was difficult to have an all-in-one server given the hosting packages they offered. I was also slightly bothered that I didn't have full control over my site, and I found standing up services to be difficult.
Before the migration, my site was entirely PHP based. While PHP is great, I decided I wanted to transition my site to be python based (mainly to keep up with new technologies, also because I needed a project!) In any case, I decided to use a Python framework called Web2Py. I picked Web2Py over Django because it was faster (for me) to get up and running. I was able to get this site up and running in under three hours, and that includes the ramp-up time on Python. Also, I want to note that Web2Py made MVC feel very natural and straightforward - I think my feeling is due to my background with C# and Razor.
While it took me about three hours to transition my site, the overall project took around ten hours total. When I first started setting everything up, I ran into numerous server errors including Apache configuration mismatches, disk failure, and incorrect DNS deployments. Also, PyCharm didn't want to play nicely with my server and ended up writing over everything I had stored locally. (Thankfully, I use GIT) My server is a LAMP(ython) stack and has Web2Py installed as well. I'm using a SQL server for my blog posts, projects, and data for future scalability reasons.
I like Web2Py, Python, and the MVC pattern I'm currently running. It's extremely straightforward and easy to understand. Over the next few days, I plan on taking on the following tasks:
Testing by alex
test by alex