Hello, World!

Nikhil Jha | | 4 minute read

So, it’s a blog. Nothing exciting, right?


I’ve made a few blogs over the years, but never posted past my introductory post. Or, if I did post, I considered the post to be not good enough and deleted it.

The choice of blogging software was also painful. Wordpress is heavy, bloated, and every cool feature or plugin I wanted isn’t free.

So, what is my solution?

Static Site Generators

A static site generator (SSG), as the name implies, generates static sites. This means that all pages are created at build time on my machine, and all the server has to do is send pages to readers.

As staticgen.com writes on their about page:

The typical CMS driven website works by building each page on-demand, fetching content from a database and running it through a template engine. This means each page is assembled from templates and content on each request to the server.

For most sites this is completely unnecessary overhead and only adds complexity, performance problems and security issues. After all, by far the most websites only change when the content authors or their design team makes changes.

Thanks to the aforementioned website, I chose Hexo.

What methodology did I use to pick a SSG? First of all I went by theme support. SSGs with good theme support are probably more likely to have good theming support. Some SSG project pages don’t even mention themes!

I went in wanting to look somewhat like Kevin Kwok’s Blog. In my opinion, it has just the right level of simplicity and content. It feels busy, but not overwhelmingly so. It makes me want to read the posts (a very good thing).

I eventually realized I don’t have enough content to make that work, so I settled for a simple minimal theme instead.

This narrowed me down to Hexo and Hugo, both of which are in the top three on staticgen.com.

Next up I looked at the source. When something goes wrong (when, not if), being able to understand and fix it is a big issue for me. Hugo’s source slightly confused me. Hexo has a standard layout for all it’s files, and I felt like I could understand it if I needed to.

So it was decided, Hexo it is.

Bonus: The format for hexo and hugo posts are largely the same. If I want, I should be able to move from one to the other without much hassle.

Writer’s Block

So that’s the first problem solved, I have a simple medium to publish on. The second problem is not publishing articles at all/often.

I decided to remedy this by simply doing more “cool things” that I can write about, and being sure to write down every idea I have for what to post.

Here’s a few things I want to write about.

Neural Networks

I am currently working through Hacker’s Guide to Neural Networks by Andrej Karpathy. Unfortunately, he abandoned the excellent guide (the first one to help me understand backpropagation and derivatives). It is also a bit wordy, so one of the things I could do is try to explain his concepts on my own.

The benefit to this is twofold. One, it helps me learn. I learn very well by teaching others. Two, it may help others learn. I hope I can help someone else learn too!


Sometimes I get sent a link, or I find one browsing around, and I find something interesting that I want to share with everyone. The fact that I can’t think of any right now means that they may not be as interesting as I think they are when I find them.

Maker Projects

Simply put, connecting things to other things in order to do interesting/useful things? I may write about my DIY IoT project if I ever rehaul it.


How did (blank) get popular? Why is (blank) done in one language, but not in its parent languages? How is (song) using (thing) for (effect)? Sometimes I think about things like this, it could be fun to write it down.

And that’s it for today!