Tech Notes 2018

Mar 02, 2018

See also: log, 2018


Fri, Mar 2, 2018

Started this tech notes section as companion to the general log I keep. This is a page for making notes about ongoing intersting things in all things tech -- programming, computers etc.,.

I had started another "techne" blog living at "". However, maintaining too many "blogs" is a drain on energy and attention. So, this is just another file next to the general log I already write.


Nim Version 0.18.0 released. The TLSF (Two-Level Segregate Fit) allocator. is very intersting.


Started learning Scheme using "Simply Scheme: Introducing Computer Science" by brian Harvey. My notes.


Current goals at work: master testing and concurrency in Java. "Java for Everything". Why not!

The way I'm planning to do this is: for testing -- actively write tests and more coverage for current project. For concurrency -- Pick a chapter from one of the java books (that encourage "monkey-see, monkey-do" method), read the content, type out the programs from memroy, run it. At the end of the chapter, I should have a fair idea of how it all fits together. Chapter 28 of the "Java the complete reference" by Herbert Schildt is a good start.


Opened up my copy of "Programming language pragmatics (3rd ed)" by Michael L. Scott. This is a "second level" book in that it goes beyond syntax and gets a bit into the theory behind the languages. I need to find a strategy to cover this book. Doing exercises in the book might bring the best value. There is a new edition of the book.

I have also registered to Programming Languages, Part A - University of Washington | Coursera. Finishing this course(s?) might be a structured way to cover the same material. Course starts March 6th.

Sat, Mar 3, 2018

What is the shortest way to "now you are cookin'" (not exactly mastery, but you are doing something useful, things are in motion etc.,) as it relates to programming in a new language or technology? -- cheatsheets, api/ (some sample code?) and start writing?

Sun, Mar 4, 2018

Save an unrolled twitter thread from threadreaderapp for later reference:

curl \
| hxclean \
| hxselect "title,.button-twitter,.t-main" > SharpFootball_colts_2017.html

The output looks like this page

You will need to install HTML-XML-utils for your platform.

also saved as a gist

Mon, Mar 5, 2018

Enhanced the savetws script in the above gist.


Created an account on and uploaded my website using dat desktop app. The site has this url - Hashbase appears to have 100MB storage limit for the free account.

I also created a account by paying $10 (through stripe). Have trouble figuring out how to upload the site directory. Maybe I can just their desktop client?.

Original story that piqued my interest.


Wed, Mar 7, 2018

See Nassim Nicholas Taleb on Rationality, Risk, and Skin in the Game | EconTalk | Library of Economics and Liberty and follow up article -- Nassim Taleb, Absorbent Barriers and House Money by Branko Blagojevic on ml-everything blog.

Tue, Mar 13, 2018

Learnt AssistedInject using this video -- How to use Assisted Inject with Google Guice and code. The same video tutorial series is quite good on Guice.


Mon, Aug 27, 2018

A Road to Common Lisp | Lobsters -- an interesting side note, more than the actual thing about Common Lisp is the "hamster wheel".

Escaping the Hamster Wheel of Backwards Incompatibility. "If you learn Common Lisp, this is usually not the case. In the next section of this post I’ll be recommending a book written in 1990. You can run its code, unchanged, in a Common Lisp implementation released last month. After years of jogging on the Hamster Wheel of Backwards Incompatibility I cannot tell you how much of a relief it is to be able to write code and reasonably expect it to still work in twenty years." Practicality Begets Purity. "Another thing to understand about Common Lisp is that it’s a large, practical language."

I think this "hamster wheel" is on my mind when I try to write code for my own use. I should look into a language like Common lisp, because I do not want to deal with hamster wheels.

Wed, Aug 29, 2018

Common Lisp

After reading Steven Losh's "A Road to Common Lisp, I started to look into Common Lisp with fresh set of eyes. There are lot of things now that make Common Lisp much more palatable to me now, than the last time I looked into it.

Common Lisp, (well Lisp), has always fascinated me. I remember telling someone way back in the early 2000s that "I know what I'll be doing in my 60s -- I'll be writing Lisp code". At the time, I thought Lisp is something beyond my understanding and given enough time, I'll be able to master it.

So, what's new about Common Lisp?

Thu, Aug 30, 2018

There's a concept named kipple that refers to all those things we keep but we never use. -- Manifesto for Minimalist Software Engineers |

Thu, Sept 13, 2018

I can use this output to populate changelog automatically without having to manually update it.

git log --no-merges --format=format:'%cd %s' --date=format:'%Y-%m-%d' --since 2018-09-01 --grep='CHANGE' | sed 's/CHANGE//'
git log --no-merges --format=format:'<li>%cd &mdash; %s</li>' --date=format:'%Y-%m-%d' --since 2018-09-01 --grep='CHANGE' | sed 's/CHANGE//'

Thu, Sept 19, 2018

Really taken in by two programmig languages this week - kit language and fennel. See my notes on Kit and fennel. I posted kit to Fun disussion about fennel on HN. Even Urn looks interesting.

quii/learn-go-with-tests: Learn Go with test-driven development is a nice "Test first" approach to learning things. This is a fresh approach wherein you learn language features by writing tests (ie., know what to expect, write the test for that expectation, write the code, ...).


Mon, Dec 3, 2018

 Go to top