VPS Experience (Part 1): Moving to VPS to Host Personal Blogs

So I decided to move my blog from shared hosting so VPS hosting. VPS is getting cheaper everyday with as low as $2 per day makes it a good bargain to host blog in VPS. With VPS, we can choose which software we want to install, and configure it in our own taste.

But definitely, choosing VPS is not for everyone. It is more suitable for advanced user as configuring it involves a great deal of IT skills. Despite of several one-click install available which makes our VPS production ready within few minutes, configuring manually enables us to cramp our VPS and maximize the resource without several overhead and bloatware provided by one-click install. Moreover, I believe it is a good step for us to get to know how to deploy server for production grade.

The Problem with Previous Hosting

Actually I experienced no major issue with my previous hosting. But from recent review, I read a lot of complaints and recommendation to stay away from this host anymore. My previous hosting was shared Windows hosting. I used to experiment with Windows hosting to host ASP.NET application but for most of the time, I am using it only for hosting my blog. Moreover, nowadays there is a technology called ASP.NET Core which can be run on top of Linux machine. Therefore, I have no constraint in using Linux again for deploying my own personal server.

Moving to Linux VPS will be a new experience for me as I will ditch the simplicity of configuring and deploying sites via IIS Management console and Visual Studio. I also have to install and configure on my own via command line. But I think it is a great idea to learn and build your own server from scratch!

Advantage of VPS

We can configure VPS to suit our needs. We can also install software other than web server, such as streaming server, messaging server, etc. This ability is unavailable in basic shared hosting services. You are also not limited by specific platform, such as PHP, which is really common in shared hosting. You can pick your favorite platform and install it.

Continue reading “VPS Experience (Part 1): Moving to VPS to Host Personal Blogs”

Using Generics in an Ugly Way

Previously I was talking about generics. You can see how I do with generics to the confusing level:

new AsyncTask<Void, Void, RefreshTaskResult<ActionResult<List<SquadInfoShort>>>>() {
	protected RefreshTaskResult<ActionResult<List<SquadInfoShort>>> doInBackground(Void... params) {
		try {
			ActionResult<List<SquadInfoShort>> result = client.getSquadList();		
			return new RefreshTaskResult<ActionResult<List<SquadInfoShort>>>(result);
		} catch (Exception e) {
			// Catch any exception
			return new RefreshTaskResult<ActionResult<List<SquadInfoShort>>>(e);
		}
	}
}.execute();

See how many < > to feast your eyes.

Control Your Source Code

You usually save your code on your development machine. When you need to share your code with your friend, or perhaps when you use multiple development machine such as desktop and laptop simultaneously, you share your code by copying the entire folder and share it to your liking. This is a very bad practice, especially when sharing involves changes and development from other party. Because of that we need a Source Control system.

So my friends, what is source control? Basically it is a software that controls the changes and revisions on each line of your source code. So every changes are tracked, every files in your software project are monitored, and it has revision history so you will never lose track with any changes happen on your source code. They say that source control only useful for large projects, I say NO! Source control is very useful for any collaboration between two people. Even I, the lonesome programmer, can really make use the benefit of source control system so that I can keep my development workstations, my desktop and my laptop, in sync.

Okay, so I need to find a source control system that is suitable for me. The main requirement for my source control system is: CHEAP, preferably FREE. I was searching for the best solution for me. So I travelled the journey to look for the best. Here’s the story of my journey.

Continue reading “Control Your Source Code”