Hello World

Here is the mandatory first post to commemorate (possibly) my 5th attempt at creating a personal website. 5th because I’m lazy and am easily bored, so personal pet projects tend to get lost rather quickly. With that in mind, this website is powered by Hyde, one of many static-web generators, this one just happens to be Python based. A popular alternative appears to be Jekyll, but I know next to nothing about Ruby, so left that well alone.

Static You Say?

So why a static based website in this day and age when the norm for the last decade has been primarily dynamic and web-based CMS driven? It’s pretty easy to answer actually,

  • Simple. No frameworks and libraries to muck about with. Just content and design (or lack there of in my case). No more databases!

  • Fast. Think instant load times and the ability to scale web servers much, much more than a comparable dynamic site without having to worry about adding caching layers and all that junk (albeit cool junk).

  • Secure. It’s rather difficult to hack a static web page.

  • Cheap. Being both simple and fast, hosting the site becomes a lot cheaper. Think generating static pages and pushing it to a CDN. Almost no need for a web server.

  • Can still be dyanmic. Thanks to JavaScript and the myriad of client-side third-party plugins, you can still have all your social media things, if you care about such things.

The above are all huge, but it does not mean your site has to look like it came from the 90’s. Clever mobile friendly design (via CSS) and Javascript snippets can easily fool people into thinking there is some CMS behind your site. It’s a classic case of the artist and not the canvas being the primary limiting factor. There’s also plenty of third-party platforms that can be linked to to add-in site comments and all that social jazz if so desired.

That all said, this site is intended from the outset to be plain and boring, for reasons stated earlier, but also because I kind of like that bland-look-info-first style.

Deployment

Installation was a breeze. I’m a Debian user, so you’ll have to adapt as necessary if your distribution is not Debian derived.

  1. Install pip, if you do not have it already

    $ apt-get install python-pip
    
  2. Install hyde via pip

    $ pip install hyde
    
  3. Init the basic hyde website to a location of your choosing and generate it. The -r flag tells hyde to regenerate everything, rather than being smart and do incremental changes

    $ hyde -s /var/www/example.com create
    $ hyde gen -r
    
  4. I prefer to use Apache to serve the pages, so install that

    $ apt-get install apache2
    
  5. Create a new virtual host pointing the DocumentRoot to the deploy sub-directory as this is where hyde generates web content to by default. The following is a minimal stub, adjust accordingly,

    <VirtualHost *:80>
        ServerName example.com
    
        DocumentRoot /var/www/example.com/deploy
        <Directory /var/www/example.com/deploy>
             ...
        </Directory>
        ...
    </VirtualHost>
    
  6. You should now be able to hop into a browser and view the beginnings of your new site in all its super-fast glory.

  7. Begin hacking at the content and layout files to make it look the way you like. Oh, and its probably a good idea to commit your new baby into some sort of versioning system like GitHub.