Declaring Implicits

While implicits are easy to use, declaring them properly requires careful consideration. Because there are a few different ways you can declare implicits viz. extension methods, parameter values, type converters and dynamic instances. Each one has a specific purpose. For instance, dynamic instances enable recursive implicit resolution. Understanding the different ways of declaring implicits is critical in choosing the right one for the given scenario. It is also invaluable in troubleshooting subtle bugs and unexpected behavior related to implicit resolution.

My Scala Story

I have been reading the My Scala Story series by Software Mill - a short interview of renowned experts about their Scala journey. I have not done anything substantial in the OSS space to be on Software Mill’s radar. But their series inspired me to share mine. So, here it goes …

Keep Killing It

There are times when even decent chaps have to pick up the sword and fight. I am talking about times when some process on your machine is always peeking over your shoulder. Worst part, consumes a lot of resources, especially CPU time, and obstructs your productivity. Or peace of mind. For such cases, I give you slay

Python Overloaded

Function overloading is every day business in statically typed languages. Not all languages. Go has make it everything hard. 🙄 But function overloading in dynamic languages are not really sought after.

Optional Parameters

The billion dollar mistake has been committed already. No going back. But it is not necessary to keep repeating it. Oh, I am talking about the infamous null. Would Java’s Optional come to the rescue? Or are there any ironic “Don’ts” when using Optional?

For a better Signal (Part 1)

Signal is undisputedly the gold standard of chat messengers, especially for the staunch privacy-conscious. Signal gets its gold star for its security/privacy aspects. Nothing to argue in that regard. However, I would rate Signal very low when it comes to user friendliness. Read the post find out why.

Pop OS and Zorin on ARM64

When Mac M1 was released, I did not have the same displeasure like many others. In fact, I was hopeful that the vast majority of the apps and tools will be ready for M1 in no time. So, I got myself an M1 with no hesitation. Took a little while but everything from brew to big fat applications were ready. All seemed fine until I came around to play with Parallels and those Linux distros.

Degooling

A rundown of alternatives for degoogling based on recent conversations with friends and acquaintances. There are alternatives that are user privacy friendly, and some of them free. Besides, do not get emotionally attached to a name. Brand names are not functionalities. Don’t hesitate to ditch a product/company in the case of foul play.