6 things to make (my) blogging frictionless

Friction

Reflection on some issues I faced. If you find some of these useful, great. The post is not intended as an advice

Background

Recently I heard the talk python to me podcast where A. Jesse Davis was interviewed. The topic was a bit different than usual python related topics. It was about how to make blogging easy. Jesse talks about several nice things, including the fact that why we should not feel guilty for not blogging regularly.

You should listen to the podcast here if you have not.

So the idea was at the back of my mind for a while, and this post is sort of brain dump of why I am unable to publish regularly inspite of having content written.

Finalize the source format

I kept moving between org and rst. I liked org when I started using emacs. (In fact that was the reason to start using emacs) So few of my initial posts are in org I had one post in asciidoc as well. But I think I will stick to reStructuredText mainly because most of the static site generators will have support for this format.

Even bigger number probably support markdown but then there is no standardization, you have too many flavors out there. Also, I think rst is bit more richer than markdown

I had one post in asciidoc as well

Create/Use templates

In order to get the thoughts on paper (so to speak) I start typing in an empty file. By the time I am done, I have very unformatted text that requires “formatting”, and this is where the delay in “publishing” comes in. I have so many written-but-unpublished posts.

Having templates with headers and categories/tags pre-populated would be good way to reduce the friction. Jesse talks about how we mostly have about 5 different types of posts. May be create just 5 templates for 5 “types” of blogs, and remove the decision making from choosing the categories and tags. (I never remember the list of categories and tags I have used, and always have to search the older posts to get the list, sorta)

On second thoughts, I think nikola already has a script to create a new posts. May be I ought to use that ?

Write more frequently

This may seem confusing. Let me explain. As I mentioned that I usually start writing as a plain text, and later “format” the contents. One of reasons why this happens is because I can't remember the syntax at the time of writing. (and that happens when one keeps switching between org to rst to md. See the first point.)

If I write more often using only one platform, the “formatting” syntax will be part of my memory. I already write the documentation (using sphinx) in rst -another reason to finalize on rst over org or md

Finalize the blogging platform

I have one blog in pelican. (This one. updated after a long time) and other blog in nikola. Switching between them just takes mental effort. If I were to standardize on it, there won't be “switching trouble”

I also want to consider hugo, but my initial attempts to get a blog rolling with a theme-that-i-like hasn't worked well.

But irrespective of the blog generator, if I standardize on reStructuredText, I don't have to worry about switching the blog generators (I think)

Finalize the blog home

On a related note, having single home for my blogs also might be good idea. It is always an effort to decide where should a specific post go. While with my second blog, the idea is very clear - it is about “what I learnt”, so things like “thoughts” should not go there. Yet, sometimes it is not easy. May be just have one blog with category as “wiltw” (short for “What I learnt this week”)

Focus on the content

I am never happy with the themes. I was almost happy with Material Design theme for nikola, but it could not render bullets (can you imagine?) So I switched to a simpler theme. But I am not happy.

But I should just pick one up, stick with it, and not worry about the “look”

I have read several great blogs that look down right ugly, but the contents are worth in gold.

Publish now, refine later

Perfectionist in me wants to read-edit-read a LOT after my initial writing is done. I spend a lot of time in this. May be I should just publish it first, and then refine it.


Photo by Kaitlyn Baker

Why I moved to Static Blog ?

Pelican

Little bit of a histoy of my blog at various platforms.

This is my third attempt at blogging.

Wordpress.com

First one is still on hosted wordpress site. In a way, that is nice. Pretty much no administration needed. One can install the plugins that are tested by wordpress.com They also upgrade the platform for you. Great for testing the waters for the first time blogger. I think it is better than blogspot (I can't remember if I had one of those, and moved to wordpress)

Self-hosted Wordpress

But after a while one (at least, I) becomes ambitious. I had my own wordpress blog hosted on my own domain. It was a great experience. I got to try my hands at setting my blog just the way I want. But after initial excitement was over, it started to become burden. One had to spend a lot more time administering the blog (upgrade to latest version of wordpress, and the plugins) and less focus on writing. I never upgrade the blog to wordpress 3 (which by now is very mature) I always kept postponing it because upgrade might break things, so I would do it when I have enough time.

Unfortunately, after a while I wasn't writing much, and stopped paying attention to the blog. I had also used my non-standard email ID with the hosting provider.

The cascading effect was recently I lost access to my blog and the domain. It was completely my fault. My hosting provider did send multiple reminders for renewal, but I wasn't checking that account often enough, and when I finally did, they had probably given up. (I did contact them later, but they ignored my emails)

But I definitely learnt a lot.

Posterous

Then while I still had my self-hosted wordpress blog, along came posterous. What I liked about them was I could post via email. I really liked the concept. They didn't great themes like wordpress, but if the focus was writing, then it shouldn't matter.

…. and then they were acquired by twitter. As everyone had predicted, twitter shut them down.

This was kinda the last straw. I had two blows back to back (One was my own fault, other not so much) But the result was in both cases, I had lost access to my blog.

Finally, Static website …

This was the time, static website generators were picking up. Over at HN I came across several options like Octopress, Jekyll, Pelican . (I chose Pelican because it is written in Python, language which I am comfortable with, as opposed to Jekyll and Octopress.)

It is easy to host the static website anywhere, include the Free Heroku plan (Which I might do in future) But hosting it on github seemed like an easy and popular choice.

BTW, I did get a backup of all my posterous posts, but they were in XML format. Format which was not useful to me as-it-is. There is a ruby script that “downloads” all your posterous posts and converts them to markdown. It was not without problems, but it worked. But it is a topic for another post.

Securing the source

Based on my recent experience, I am aware that github might one fine day decide to stop supporting this feature. But if they did, that is OK too, because I will still have access to my contents in the git repo in the form of “source code” With Pelican I can re-generate the pages, and host it someplace else (like Heroku)

What if github shuts down (or makes all accounts paid, or bought over my big company, and the parent company shuts it down, whatever..) I have already thought of contingency plan for that as well. I push the same “code” to bitbucket repo as well.

While I think chances of both github and bitbucket going away at the same time are slim to none, One can always have the copy of local git repo in the dropbox folder, for additional security, Can you not ? :)


Photo by Gareth Davis

I do not have a task ####################

📅 2014-03-23 :category: thoughts :tags: thoughts, advice, startup :slug: i-do-not-have-a-task

Showing initiative to help yourself

Start ups are considered (by some) as best opportunity to advance one’s career. Irrespective of your years of experience or previous background, start ups will let you work on variety of tasks without specifying boundary.

It is sad when a start up employee says or thinks “I am done working on what I was asked, and have no next task”

Unless it is your first day/week, you probably know the pulse of the organization. You also (should) know various projects/products/initiatives being perused.

Start ups are always short of resources. There is always more work than people available. Show initiative, that is the only way to grow. If you keep expecting “work to be assigned” to you, you are probably not a good fit for a start up.

What are the various things one can do when waiting for formally being assigned the next task ?

  • Look at the bug tracking system : see which bugs/features you can address and volunteer for those. Even if you do not end up working on it, at least you would have now understood — probably unknown till now — part of the code.
  • Learn new technology : This might be more time consuming, but you should be doing this anyway, probably along with your main assignment.
  • Make performance improvements : Depending on the time you have till the next assignment, this may or may not be possible. But you can get started â˜ș
  • Review code written by peers. This helps you learn to write better code, also helps you reduce code review comments if any, especially if you are a junior associate.
  • Check to see if you can help with non-development related work, and expand your mind by knowing other parts of business. This could be looking at front end code, if you are a back end developer, or vice versa.
  • You can also try to get involved in non-technical work. Create an internal company newsletter. Try out new tools company can use for collaboration. Update the documentation. Write up suggested updates for the company website and send suggestions to the founders. If the company facebook/twitter account is non-functional or not well utilized, volunteer to run that. (Thanks Navin Kabra , for suggesting this entire bullet)
  • Try to learn more about the domain you are working on. This might help you understand implicit requirements in your field of work.

This is not restricted to start ups, People should be doing this in any organization, and there are lots of big companies where this is encouraged.

I assumed more “established” companies may have problems when junior person “tries to look around”, on the other hand start ups may welcome it. I’m sure there are exception in either cases.


  • Thanks to Navin <https://medium.com/@ngkabra>_ and Sushrut <https://medium.com/@iamSB>_ for Reviewing the draft and making this post better.
  • Originally posted on Medium <https://medium.com/p/51cfa20c5e1e>_