What's the deal with this?
I hear you... "Vinney, you claim to be some kind of programmer by trade - why does your website look like it's either broken or was made by a total amateur?"
First, you're falsely equating programming with web styling. Second, I have a few answers to your question and if you're still here I'll assume you actually want to hear them.
This is what content looks like by default when it's rendered by a web browser and not obsessively styled. It seems a lot of people have forgotten that fact and this type of appearance is seen as unacceptable to them. I think it's worth remembering and reminding people about because there's an under-appreciated beauty to it.
Purpose. The purpose of this site is to display the various information you see here. The purpose is narrow and ends exactly right there. It is absolutely accomplished with exactly as much styling as is being used (just enough for margins, basically).
Usually the more annoying parts of my day revolve around styling/front-end niggling. I don't want to do it when I get home, too. While I thoroughly enjoy programming and am quite happy to do it "after hours" in order to build personal sites, and develop other projects I'm working on, I don't really relish screwing around with front end design and styling.
Don't get me wrong, an exceedingly-designed and richly-front-end-featured website is often a very lovely thing.. But it needs to be proportional to the goal of the site. Also don't mistake what you see here as a lack of design :) everything about this is a choice, and choice == design.
Design and styling beyond this is time-consuming and usually takes me through a whole series of roundabouts and re-workings. That fact is one of the reasons I didn't have a personal website for an interim there - it's crippling. Deciding on this (very pleasant to me) aesthetic allowed me to move forward in a way in which I wanted.
If you came here wondering about the actual construction of this site itself, here's that:
This is a sinatra site with no database. I maintain a .yml file of "topics" which are pulled in to the currently page to be displayed. If I find I want to write a lot more about a topic, I can add another key to its yaml entry and it'll have a separate 'more details' page generated for it. So far I haven't had enough thoughts for that yet ¯\_(ツ)_/¯. This single yaml file is essentially the only CMS I need and is really easy to work with if I want to quickly make some updates without writing markup.