Mastodon

I’ve started using Mastodon , so please feel free to follow. This could have been a tweet, but I need to add this post to be able to link back to my Mastodon profile. Doing so allows me to verify ownership of the link to my blog on my Mastodon profile.

Turtles All the Way Down

A friend of mine shared the post Meta Layoffs by @Brandur with me. I agree everything in the post.

Here, I want to focus and expand on the point about Meta’s desire to “flatten the company’s structure.”

Read more…

How to Lose Trust as a Manager

A lot of deliberate effort goes into becoming a good manager. Yet, even good managers can lose their direct reports’ trust through (often) subtle habits and behaviors. Based on my experience, here are a few important ones.

Read more…

Favorite Books in 2022

How is it February already?! Going with the mantra of “better late than never”, here are some of my favorite books from 2022.

Read more…

Favorite Books in 2021

Now that we are done with 2021, it is time to list some of my favorite books from last year.

Read more…

Refresh - 2022

After a fairly long hiatus, I am hoping to resume blogging in 2022. This is a test post to ensure that all the tooling (Hugo, my theme etc.) works as expected. Time to hit refresh!

→ Do You Need Self Discipline To Have Fun?

I can relate to this excellent post by Scott Young, where he makes the case that ease of doing an activity and its enjoyment aren’t the same.

Read more…

Applicative Laws for ((->) r) Type

Haskell’s function type ((->) r) is an Applicative functor. Similar to the previous two posts in this series, in this post I will verify that the applicative laws hold for the ((->) r) type.

Read more…

Applicative Laws for [] Type

Haskell’s list type [] is an Applicative functor. Similar to the previous post, this post will verify that the applicative laws hold for the [] type.

Read more…

Applicative Laws for Maybe Type

Applicative functors come with a set of laws that apply for all Applicative instances. These laws are as follows:

  • Identity: pure id <*> v = v

  • Homomorphism: pure f <*> pure x = pure (f x)

  • Interchange: u <*> pure y = pure ($y) <*> u

  • Composition: pure (.) <*> u <*> v <*> w = u <*> (v <*> w)

Read more…