2017 : Another great year

Looking Back

Learning

Programming Language

In the review of 2016, I had written about “learning go”.

Well, that didn't happen.

But instead I picked up “elixir”. I loved it. I did several exercises from codewars.

Initially, the exercises looked too “amateurish”, but once I hit a road-block, where I was required to use recursion instead of loops, I realized that “simple” exercises are important to get my head around the functional paradigm.

I also purchased my first Udemy course to learn Elixir + Phoenix.

I had hoped to use it in a “real” project, but that didn't happen.

and towards the end of the year, I again picked up “go lang” (This is for a project I will be working on in 2018) This time, I took another udemy course, by the same instructor.

Non Programming Language

I've started learning Esperanto, after learning about it on one of the freakonomics podcast. I'm using Duolingo.

The language is simple (as claimed) so far. But I am worried that without regular practice, I might forget it.

Visual note taking

Completed Visual Note taking 101 course by sunni brown Completed “Notes a like a genius” course on Udemy

While doing the Udemy course, took “visual” notes based on what I learnt from sunni brown course.

You can look at my new (and old) sketchnotes on my other blog.

Journaling

In late November, early december, Started journaling.

I'm still figuring it out.

I'm applying some principles I learnt in the visual note taking course. I'm making it “interesting”

Meditation

I started using “Insight Timer” app.

As of today, I have been meditating continuously for 279 days since I began !

What I liked about it was variety it provides, but it would have been nice if there was an option to download the “favourite” ones, rather than having to be connected to listen to same one daily. (Recent version has this as a paid option)

Eventually, I started using just the timer without any guided meditation.

I'm not really sure how it impacted me (positively) but at least I got a good habit out of it.

Lately (early/mid December) I have started doing “Isha Kriya”. I start the insight timer when I do it, since it is a form of meditation, and allows me to record my timing.

Blogging

Didn't happen as much as 2016

Drawing - Sketching

I've been much more deliberate this year. I created an instagram account to share my sketches.

Ohh, I also purchased flume, an instragram app for macOS

Plans for 2018

My current project has come to an end.

I've started learning about blockchain, smart contracts and Solidity development. This is the new area I wish to explore.

Since “core” development of both bitcoin and ethereum is in go lang. I may get a chance to put my go-lang skills to practical use.

I also want to blog more regularly.

2016 was a great year

Some of the highlights of the year gone by

Moved to spacemacs

I had started experimenting with spacemacs around late 2015. In 2016, I completely switched to spacemacs. I'm consciously saying spacemacs, because although it is “emacs” I am used to spacemacs keybindings, and may not be able to use “plain” emacs on any other system. (Turns out it is said that unlike vi/vim, no two emacs users can use each others system, because of heavy personal customizations.😉 )

I used spacemacs mainly for python development, but used org-mode as well.

I tried using mu4e partially successfully for a while, but gave up. Time to give it another go in 2017.

Blogged

Wrote 28 posts on my (relatively) new blog Not enough on this blog though. I mean to combined both of them this year. See

Why it worked ? I had clear focus about what to write about. Also, I had decided to “just ship it” rather than keep editing the draft till it is perfect.

Sketched

Did about 25 sketches.

Some of the initial ones are scanned/uploaded almost as a second thought (and it was. They were drawn to amuse my son, hence “any” paper would do.)

Later I because a bit conscious. Now I draw for myself. Hence better “paper”, background etc.

Shipped Product

In 2016, I shipped one more product. This is my third product which I created from the ground up. Earlier two products are in web2py.

This time around, I did several things differently.

  • Used REST API + Javascript for the front end - style architecture. (Just to be clear, I created the REST API, someone else worked on the web app and the android app)
  • Used Python Eve framework (based on flask)
  • Started writing unit test cases (using pytest). Helped a lot with a big refactoring effort.
  • Wrote API documentation using sphinx
  • Used gitlab (Earlier products used privately hosted git repo)

Plans for 2017

  • Start using golang seriously
  • Email within spacemacs
  • Continue blogging
  • Continue drawing

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