Skeuomorphism

Skeuomorphism is the design concept of making items represented resemble their real-world counterparts. Skeuomorphism is commonly used in many design fields, including user interface (UI) and Web design, architecture, ceramics and interior design. Skeuomorphism contrasts with flat design, a simpler graphic style.

In UI and Web design, skeuomorphism attempts to create three dimensional (3-D) effects on a 2-D (flat) surface. A skeuomorphic icon on a smartphone display that represents the phone function, for example, is designed to look as much like a telephone (or handset) as is feasible, typically with shadowing, highlights and some degree of detail. A button might appear to be raised until clicked and then appears to lower as if it had been physically pressed. Non-visual skeuomorphs include the page-turning movement used to advance an eBook, the sound of a record ending at the end of a CD and the sound of a camera shutter on a digital camera.

Purpose of Life

Life is important as it is the only thing you know. Realizing this is extremely important as that is the basis of everything. Universe exists for you only because you are.

Life is phenomenally intricate and one life time is not enough to know it. Is there a meaning to life ? The greatest aspect of life is that it has no meaning. It is the pettiness of one’s mind to seek meaning for one’s life.

Thinking in Bets - Book Review

I had read “Thinking in Bets”, a year ago and had never had a chance to summarize some of the main points from the book. This is a book that I think one should revisit from time to time, so that one can actively question the decision processes being used in one’s life. The book mainly talks about a few biases that affect our decision making process, and we might have to remind ourselves of these biases from time to time, and one of the best ways, is to revisit the main ideas of the book.

This blogpost summarizes the points from the book by Annie Duke

How to Bitcoin (Coingecko) - Book Review

This is a book written by the Coingecko team after their success with the book on DeFi. It is a quick read and the authors have managed to pack in quite a lot of information in a concise way. In this blogpost, I will attempt to summarize the main points from the book in the form of brain dump

The Antidote : Book Review

The book by Oliver Burkeman, titled, The Antidote, is something that I picked up after reading his latest book Four Thousand Weeks. I fell in love with many of the ideas expressed in his writings that I wanted to read through this book, written almost a decade ago. Wow! It was a pleasure reading the book and in this blogpost, I will attempt to summarize the main points from the book in the form of brain dump

Four Thousand Weeks - Book Review

The book by Oliver Burkeman, titled, Four Thousand Weeks, is one of the best books that I have read this year. The message in the book is timeless and you might have come across the main idea in many places. However the author has gathered all the relevant examples and has made a compelling argument about the way to live 4000 weeks, that we are all bestowed on this planet.

The Basics of Bitcoins and Blockchains - Book Review

I am a newbie in to the world of Blockchain and Web 3.0 . I am blown away by the rapid developments that are happening in the Web 3.0 world. There is a healthy dose of skepticism towards Web 3.0 technologies by incumbents, while there is whole hearted enthusiasm from many of the newer players, FinTechs, startups . The recently concluded Singapore FinTech Festival was all about Web 3.0 . Being a newbie, I did not understand most of the terms that were being used by the speakers. For some reason, I was living in a shell and did not pay attention at all to what was happening in the external world. Coming out the shell after 5 years, I see that there are whole communities of people who are working on Blockchain and Web 3.0 technology. It is high time I understand this piece of technology and see if I can make any sense of this exciting field, that is set to revolutionize the field of financial services. Being a newbie, I looked around and found this book as a guide to my first step towards understanding Blockchain.

This post summarizes the main points from the book titled, “The Basics of Bitcoins and Blockchains” written by Antony Lewis.

Singapore FinTech Festival 2021 Notes and Reflections

Singapore FinTech Festival 2021 was a great event where there was a chance to listen to all the wonderful speakers across the world on a variety of topics relating to Web3.0. This blog post will summarize some of the talks during the festival. The festival is a great learning experience for anyone, as it brings together some of the best people and the best companies in the world.

Trade at Settlement - Order Type

TAS - Trade at Settlement Order type is an interesting order type that was introduced for majority of the agricultural futures contracts in 2015. How is TAS different from other order types ?

CBOE gives a good primer on this order type

Trading at Settlement (TAS) is an order type that allows a market participant to buy or sell futures contracts during the trading day equal to the yet-to-be determined settlement price, or at a price up to 4 ticks above or below that price.

Moving from IBOR to RFR

In the last few years, the projects that I have managed to work on, are really squiggly in nature. Last Christmas(2020), while the world was celebrating year end holidays, I was slogging away and writing code that would help a bank incorporate Risk free rates in to their products. It was exciting to be working on something where the big boys of the enterprise software were not flexible enough to support the new requirements. Also many aspects were yet evolving and hence there was a need to “figure” out what needs to be done, instead of coding something that was available as a spec. I had to write the spec taking in to consideration that not everything is black and white, and subsequently implement the spec. In any case, the project that I worked on, turned out to be a success and subsequently there have been interesting offshoots to the work that others have put in place. One of the offshoots is in the “Fallback” world. The basic idea of “fallback rates” is that the risk free rates are credit adjusted and made available to market participants, so that they can start changing the interest rate derivative contracts. The “fallback” as the name suggests creates a safety net in the contracts, while an active transition plan is put in place.

Stumbled on to a concise writeup by KPMG that talks about all the relevant aspects of this transition. This blogpost will list down some of the main points mentioned in the writeup

XGBoost Seminal Paper - Summary

The paper titled, XGBoost: A Scalable Tree Boosting System, by Tianqi Chen, Carlos Guestrin came out in 2016 and since then it has been the goto algorithm for classification and regression tasks, until the deep learning algo implementations were made available across various platforms. Of course one can build a super deep neural network, feed the features, run backprop and get all the weights of the network. No feature engineering, No need to understand data, No need to think through the missing data; use a deep neural network and get your job done. In one sense, I think that is the appealing reason for many, to be drawn towards NN. Also the fact that you get to meet your objective of minimizing out of sample error seems to be like a nirvana. Why would one ever want to use classical statistical procedures ? XGBoost however seems to be still one of the favorite choices for many ML practitioners. The technique is very peculiar in the sense that it is not just an applied statistical technique but incorporates a healthy dose of system design optimization hacks that seems to have given it a massive edge over similar algos.

Docker Support in AWS Lambda

It was in re:invent 2020 that Amazon announced Docker support for Lambda functions. It was a sigh of relief for many who struggled to meet the size restrictions of lambda functions

Hugging Face - Revisit

It has been almost an year, since I had used transformers library in my work. There was a need to use it again for a different project. In my revisit to the library, I found that the current version of the library by Hugging Face has many new features incorporated in the library. The library has become powerful and is probably the best place to go, for using various pre-trained models. This blog post gives a list of useful points mentioned by Hugging Face on their website

Jira

This post contains a brief note on Jira, a software tool that is popular among software developers, team leads, project managers.

Working with R

Stumbled on the book series by Stephe Locke. These books are good for beginners who have never programmed in R and trying to transition in to it, from having worked with another programming language.

Mathematical Statistics with Resampling and R

It has been more than 5 years since I had read any elementary book on R, that focuses on statistics. I have been caught up in the aspects of gaining some hands-on skills in Python, Data Science and Machine Learning that I have been completely away from revisiting resampling stuff. I still remember those days when I had so many “aha” moments, while understanding statistics from a resampling perspective. Picked up a book titled, Mathematical Statistics with Resampling and R for revisiting some basic stat concepts

Quote for the day

The only way to find out what will happen when a complex system is disturbed is to disturb the system, not merely to observe it passively

Fred Mosteller and John Tukey

Introduction to Statistical Learning - Revisit

I am revisiting the book titled, Introduction to Statistical Learning with Applications in R, after 7 years. It was back in 2013, when I read through this book for the first time, and worked through the book. Needless to say R ecosystem has expanded greatly since then. I have done many projects in the field of data science and have grown a bit wiser. This blogpost summarizes my re-learnings from this fascinating book, that is a bridge to Elements of Statistical Learning, a book that is considered the bible of Statistical Learning

Treading on Python - II - Book Summary

The following post contains a summary of the book titled Treading on Python II by Matt Harrison

Programming Styles

  • Python supports three types of programming paradigms
    • Imperative/Procedural
    • Object Oriented
    • Declarative/Functional

Iterator Protocol

  • iter is a global built-in function that calls the object’s dunder method __iter__
  • Writing a for loop based on iterators
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
test = [1, 2, 4]
for i in test:
    print(i)

iterator = iter(test)
while True:
    try:
        x = iterator.__next__()
        print(x)
    except StopIteration as e:
        break
  • Each loop is converted in to byte code and this byte code is run by the interpreter
  • The actual iterator is not the object that is being iterated. list and string have separate iterator objects to iterate upon them
  • StringIO class implements the iterator protocol
  • Iterator protocol defines the process of iterating the objects in a container utilizing the methods __iter__ and __next__

Iterable vs. Iterator

  • What is an iterable ? An iterable is any object that allows iteration
    • This object must implement __iter__ method and must return an iterator object. This iterator object can be the same object or a completely different object
    • This object must also implement __next__ method
  • Iterators are good for one pass over the values. This means that iterators are stateful
  • range(10) returns an rangeiterator object that implements __iter__ and __next__ methods
  • A class is called a self-iterator if its __iter__ method returns the same instance on which the dunder method has been invoked
  • Most iterable objects are not self-iterators. They return a different object when their __iter__ method is invoked
  • If the datatype is a self-iterator, then there could be problems in nested loops. Here is a nice example
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
class Counter(object):
    def __init__(self, size):
        self.size = size
        self.start = 0
    def __iter__(self):
        return self
    def __next__(self):
        if self.start < self.size:
            self.start +=1
            return self.start
        raise StopIteration

x = Counter(2)
y = Counter(3)
for i in x:
    for j in y:
        print(i,j)

The above code does not work as desired as the iter returns the same instance and the inner loop goes through only once and never gets repeated. The solution to this problem is to make sure that the iter method returns a different object as compared to the original object on which the method was invoked