As the title says, I'm going to create my own blog software. Why, you ask? Well, I want to be able to write my blog posts in markdown, complete with code formatting and syntax highlighting. I've managed to get the syntax highlighting to work with blogger, but it requires hand editing HTML, which is annoying to say the least. There are other options, but most of them I either strongly dislike, or have a very long history of security issues. A lot of them also do not support markdown. So, why write this post about it? What's the point, you may ask. I am a huge proponent of not reinventing the wheel. And making the decision to write software is not to be taken lightly. My rule of thumb is that if something meets 90% of your needs, you should ask the following questions: 1. Can I live without the 10%? 2. Is there a way to extend the software to add part, or all of the 10%? 3. If there is a way, will it be so painful, that the investment to write your own is worthwhile? In this ...
As the title says, I'm going to create my own blog software.
Why, you ask?
Well, I want to be able to write my blog posts in markdown, complete with code formatting and syntax highlighting. I've managed to get the syntax highlighting to work with blogger, but it requires hand editing HTML, which is annoying to say the least.
There are other options, but most of them I either strongly dislike, or have a very long history of security issues. A lot of them also do not support markdown.
So, why write this post about it? What's the point, you may ask.
I am a huge proponent of not reinventing the wheel. And making the decision to write software is not to be taken lightly. My rule of thumb is that if something meets 90% of your needs, you should ask the following questions:
1. Can I live without the 10%?
2. Is there a way to extend the software to add part, or all of the 10%?
3. If there is a way, will it be so painful, that the investment to write your own is worthwhile?
In this case, I could live without 10%, but since I want to write markdown, and consider that a primary feature, it's more than 10%.
I have tried to add the feature myself, but the result is painful, and isn't markdown anyway.
Blogger is a nice piece of software, and is absolutely fine as blogging software. But it doesn't meet my needs as a technical blogger. Posting code will be a regular part of what I do. I also had to weigh the cost of losing features, such as AdSense integration, letsencrypt, etc.
Now, I can add these features on my own, but that adds to the effort. In addition to that, I'll have to pay for my own hosting, instead of using a free service.
To offset that, I can design the system from the outset, to be a service I can commercialize too. I'm sure there are plenty of other tech bloggers that would enjoy the same features I'm looking for. I could also just open source it, and rely on ad revenue from my own blog to fund hosting and development.
I'm not entirely sure which route I'll take there. I love open source, but I also really want to be able to cover hosting costs. There's also the question of my ability to continue doing something I find quite difficult, organizing my thoughts and writing them out in a format others can consume. I have a habit of dumping a "stream of consciousness" as a principal engineer once said to me. I really want to work on that, as that same principal engineer is the one who made me much, much more proficient with git by forcing me to deal with some very messy commit history.
Anyway, this post is long enough. I find this decision making process in software development and interesting problem. I'd be curious to know how you work through this exact same process. Would you follow my example here? Would you take another path?
I'd love some comments! Please do let me know!
For now, that's all folks!
Comments
Post a Comment