log 1 = 0
I am planning to maintain a log about various things I do in a week.
This my first weekly log. Hence log 1 ( 2 October 2017– 8 October 2017 )
Note on personal finance
I kick started this week by typing a private 914 words medium story which deals with my thoughts on personal finance and the core principles that I am following and will be following. I am not very comfortable in making it public, as I don’t see a strong need for it. But long story short, “Don’t get a credit card and loan”.
oss-checklist
I compiled a list to build Open Source Software.
scriptnull/oss-checklist
oss-checklist - Checklist for building Open Source Softwaregithub.com
The size of it is controversial. But I myself is experimenting with it. I hope to make it better. I think it is the first direction towards something that will make building and releasing open source projects standard.
If you have something to say about it, please comment it out on reddit
New laptop for sister
Sister started in college and laptop seems to be a mandatory thing. So, we got a new one.
Linked Lists
Data structure containing list of elements or nodes. Each element or node contains data and link
Singly Linked Lists
Circular Linked Lists
Doubly Linked Lists
Multiply Linked Lists
Combined Linked Lists: Combination of above structures: (Example: Circular Singly Linked Lists)
Hash Linking: Use array to store linked list. link is the index number of next data instead of a pointer.
Sentinal node: special type of node used to track end/beginning of list. (Example: golang stdlib double linked list implementation uses a sentinal node )
Crystal lang
Good news! I am picking up a new programming language. I always wanted to hack in ruby. But didn’t have the chance yet. Last week, I came across crystal which is “Fast as C and Slick as ruby”. I am super excited to build with crystal and do my best in making it production ready.
.editorconfig
I happend to come across http://editorconfig.org/ while browsing a crystal library project generated by running crystal init lib mylibname
How come I didn’t come across all these days? .editorconfig is a file that tells various editors to follow set of formatting conventions in code. For example, all crystal files in a crystal project use the following rules by default.
[*.cr]
charset = utf-8
end_of_line = lf
insert_final_newline = true
indent_style = space
indent_size = 2
trim_trailing_whitespace = true
Revisiting Linked List
I am already in path of writing a decent Linked List implementation in Crystal. Before I move on, I would like to get more comfortable with linked lists. So, I am going to solve a linked list programming challenge again. ( I solved the entire series 22 months back in Java 7 )
I want to solve it in Go, but unfortunately Hackerrank does not support Go for this series. So I will stick with my college best friend — Java 7
[ Update: Was not able to complete it within this week— still two problems remaining :( ]
Solve Data Structures Code Challenges
Join over 2 million developers in solving code challenges on HackerRank, one of the best ways to prepare for…www.hackerrank.com
Rainy days
Revenge of the nerds
I spent an entire bus journey reading this blog post from Paul Graham and it totally bought me into Common Lisp.
So the short explanation of why this 1950s language (Lisp) is not obsolete is that it was not technology but math, and math doesn’t get stale. — Paul Graham
Buying a Squid
I got a 1 year subscription for a note taking app. As long as I researched it seemed to be the best fit for me to take notes on things I am learning. Lets see how it goes. I would like to get a stylus in future.
Squid - Take Notes & Markup PDFs - Android Apps on Google Play
Take handwritten notes for class, work, or fun! Easily markup PDFs and share ✏️️play.google.com
I took the first notes in it and started uploading it to pinterest. Damn, it took a lot of time trying to get this done in finger touch. I better get a stylus in future :D The app is good though !
Wishlist
Understand locality of reference in detail and find ways to visualize it.
Checkout Common Lisp
Crystal lang: Make crystal init command experience rich. (1) interactive mode like npm init (2) able to swap ci templates ( right now only travis is supported )
Crystal lang: Mocha like spec reporters for crystal spec tool
Crystal lang: List all the keywords in documentation
Crystal lang: Goto beginning and end of block using shortcut in VS Code
Crystal lang: help option for crystal docs
Crystal lang: dest option for crystal docs
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 ): Thoughts turn into action, when the thinker is strong enough to act.