This blog is online. I’m starting to write regularly.
Which brings up a few thoughts on how you can get your content online. First of all, it’s good to know the difference between a blog vs website? A blog is a website. A website is static content organized into pages where the content isn’t updated much. A blog on the other hand is regularly updated with new content (or posts) and organized with the newer posts listed first. You can think of posts as journal/diary entries.
What makes blogging popular is that it is very easy to add content. For example, I’m writing this post and don’t care right now about the technical details of this blog. Of course, I do know about those details having built this blog. For someone who doesn’t have a software development background, it’s still a great tool to just focus on content. That is what makes blogging so cool.
When you create a new blog, you want to think about things like:
- How do I want to host my blog?
- How much technical control of my blog do I want?
- How much time can I spend on hosting my blog, developing my blog vs writing content, etc.?
- How much can I afford to spend to run my blog?
- Do I want to use a popular platform to run my blog or do I want to use something not so common?
People who blog include:
- Software developers, like me, who tend to optimize every technical detail of their blog
- Software developers who want to blog but don’t need, or have time for, full control over it
- People who want to blog but never wrote a line of code in their lives
- Anyone really, so long as they have something to write about
You’ll need some kind of hosting for your blog. You can self-host the blog. It’s not uncommon for software developers to do that and sometimes even using their own machines. Or you can use a service. Let’s assume that you use a service. Which service is best for you may depend on which blogging platform you choose. Hosting companies often support specific blogging platforms. Here are some of the popular hosting companies. Of course there are many others.
- InMotion Hosting, Inc
- Amazon Web Services
- Google Cloud
Some of these services also offer accounts for limited usage that you can use to run your blog. If you don’t want to pay for web hosting you don’t have to. For a simple blog like this one there are no-cost or low-cost options available. Here are a few other free hosting services I looked at.
In a future post, we may dig into the reasons to use a free vs paid service and which blogging platforms work best with specific services. For now, I’ll just mention that I chose not to pay for hosting and that I went with GitLab Pages . More on that later in this post.
You’ll need a domain for people to find your blog. You can use one provided by a service. GitLab Pages , for example, provides one when creating a page for your project. Or you can register a custom domain with a service like GoDaddy or Google Domains .
If you do use a custom domain, you need to configure it to work with your hosting service. Here’s an example with GitLab Pages Custom Domains .
Limited Customization But Easy to Write Content
One blog on these platforms looks and feels much like any other blog on the same platform. The expectation is that you go with what’s available to you. That is reasonable since it’s their platform after all. It just makes it much harder to build a blog that reflects your personality and preferences. Note on Medium: even if you decide to roll your own blog, it’s still a good idea to cross-post articles from your blog to Medium though because of Medium ’s huge readership. Over 60 million readers isn’t something to ignore.
King of Customization But Read the Fine Print
WordPress is the most popular blogging platform used on the web. WordPress also supports a massive range of features that make it an easy, powerful, and flexible platform to work with. One problem is that WordPress is prone to security issues, especially with its plugins. Web security expert Troy Hunt’s New Blog post goes into detail on the trouble with WordPress . Another problem is that WordPress also has features that you may not always want. If you spend more time figuring out the wanted vs unwanted, when all you want is to blog, then that isn’t cool! A third problem is that the code generated by WordPress can be Chef Boyardee spaghetti . The platform kind of just does its thing while its users have much less control over things.
If none of those problems matter to you as a developer; or you’re a developer with little time to customize your blog; or don’t understand anything about software development; or you simply want to write and ignore everything else then WordPress is still a great choice for you. Note to developers: you do give up the ability to generate clean HTML. If you’re bothered by that, I get it 😉. See Is WordPress Code Really a Mess? for more insight. It may lead you to also say: a lighter, cleaner approach please!
There’s a lot of powerful web development technologies packed into Microsoft’s ASP.NET product. As someone who routinely works with Microsoft Technologies, it’s only natural that I take a look at ASP.NET -powered blogging platforms.
Orchard CMS is built for re-use and is very well designed but it’s also very complex. You’ll learn concepts like modules, features, content types, content parts, content items, content fields, zones, layers, and shapes. That feels too heavy just to post to a blog. I didn’t like it much either that I needed to start a project just to add a simple byline to my blog. It may no longer be the case with the latest version of Orchard CMS . But with an earlier version of Orchard CMS that I checked out, that actually happened 😒!
are some other
-driven blogging platforms. Each one has trade-offs and concerns. Some of the problems I found: customization (again), some of these tools are powered by older
Web Forms technologies instead of the much improved MVC framework architecture.
hosting costs aren’t cheap either. For these reasons, as much I’d like to go with an
-driven platform, I feel none of the choices are great to run a blog long-term.
is easy to work with. Its themes are 100% customizable and you can build your blog using standard web technologies like
CSS. You can also use frameworks and third-party
is that hosting again costs too much or you must have the ability and time to self-host. If you pay for
to host your blog, customization isn’t so great because again you’re not in full control of your blog.
Hugo is what I went with. For two reasons. First, I chose GitLab Pages over GitHub Pages because I can keep my code repo private with GitLab Pages . GitHub doesn’t let you do that. Second, GitLab Pages is free, supports automated CI/CD features and has native support for Hugo .
Hugo is good for other reasons too. It’s a static site generator, similar to GitHub ’s natively supported Jekyll . Hugo is also powered by the Go Programming Language and is built for maximum speed. Best of all Hugo is specifically built to support blogs.
Web Design and Technologies
jQuery and Plugins
Isn’t jQuery legacy technology? Sure it is. Why not use Angular ? The answer is gray not black and white. It’s true that Angular is great for building Single-Page Applications (SPAs). It’s also true that jQuery isn’t a necessity.
Check out You Might Not Need jQuery for details on how to avoid jQuery . You also have to consider whether or not you need to support pre-Internet Explorer 8 browsers. If you do, the need for jQuery increases. Also, keep in mind that minified jQuery is only 85KB in file size, small enough to get away with.
jQuery and its plugins save development time and provide simple ways to create some nice features. Oh, and I don’t care about those legacy IE browsers! 😃
Bootstrap uses several icon libraries:
Hugo also has native support for emojis.
Photos and Videos
This blog mostly uses Unsplash . Which makes it easy to find high-resolution photos that add a visual highlight to your posts. It is not required, but you can give credit for any photos you use. As a courtesy, this blog credits all photos I didn’t take myself.
You get the idea. I want to spend as little money as possible and still have a high-quality blog. At this point, I only pay one small fee per year for my custom web domain. That’s it! If you don’t need that either, you can run your blog cost free.
When you create your blog, give a lot of thought to what you want. You should consider your preferences, your personality, your cost, and your content. But remember that, in the end, you need to be happy with what you choose. So, that should be your only guideline.
What works for you?