log 2 = 0.3010

This is my second weekly log.

Language Servers

Language Servers are awesome. In one of my previous blog posts, I have talked about Abstract Syntax Trees and how they play an important role in building developer tools.

I am super interested everything about Editors and IDEs. Plugins, Text Editing Algorithms, Text searching algorithms, UTF-8, and literally anything regarding text editing. You name it, I am ready to learn about it.

I wanted to know more about language servers, ever since hearing this talk.

So, I started this week by skimming through stuff about Language Servers, Lexers etc. The conversation happening here made me to get a idea about language server implementation of crystal language called scry.

Few things to note here are, Language server protocol could be read from it’s open source repository.

It uses JSON-RPC to communicate back and forth.

Why JSON-RPC ? It’s probably lightweight and same reason why JSON is preferred over XML ( JSON’s size is much smaller compared to XML )

"name": {
"first": "Vishnu",
"last" : "Bharathi"



XML uses 66 characters and JSON uses 45 characters !

Tired days

I was tired most of the week nights. I did long commutes in bus. Heavy rain is making these commutes more adventures and sometimes tired I guess. So this week is going in a more relaxed phase.


I learnt about this amazing command utility called pv ( Pipeline Viewer )

$ yes | pv > yes.txt
pv intercepts writing yes command output to a file and shows its progress.


I happend to go through some really basic stuff about trees this week. Also tried to cartoon that stuff and will probably upload them to pinterest later this week.


I wanted to build a production quality linked list in crystal and i started on it last week. I spent most of my weekend building it and i am close to completing singly linked list.

I wrote a lot of tests ( 70+ ) for my code and actually felt the feeling of writing object oriented code after quite some time.

Dream in code

I think I spent a good amount of time with linked lists and programming, that when I woke up the Monday morning i had a dream of rewriting a Unix command line utility in rust. Haha. Just like the good old days when I dream of making npm packages for every computer science problem I wanted to solve.

What is a container?

I watched this amazing talk about containers. It’s really cool and i would definitely recommend it to people who are into containers.


I also love this conference named DEF CON. I take time to learn about computer and information security whenever possible. This weekend I watched and liked this talk on proxies and botnets.

This is helping me

This whole weekly log thing is very new to me and i already feel that it’s helping me by having notes on various things I learn and do. This is kind of fun, but I want to streamline the process more.

Wish list

  • [DONE] Upload the tree data structure cartoons to pinterest
  • Launch linkedlist.cr v1.0.0
  • Contribute to a language server.

Thanks for reading. I quote verses from my favourite Tamil literature “Tirukkuṛaḷ” at the end of my blog posts.

“இன்பம் விழையான் இடும்பை இயல்பென்பான்
துன்பம் உறுதல் இலன்.”
— திருக்குறள்

Translated meaning ( in my words ): Problems are common. People who understand this simple truth will not be affected by their problems.

One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.