Sign in

Product @hyperverge. I write about a lot of things, mostly tech.
Photo by Zoltan Tasi on Unsplash

While decentralized finance allows for the construction and adoption of new financial products and services, it is important to understand that there are possible vulnerabilities that can expose capital to risk with any innovation in finance and technology. At Plutus, we efficiently tackle these risks and provide our investors with reliable and fault-tolerant investments strategies.

Below we highlight the major risks associated with participating in the decentralized finance ecosystem.

Smart Contract Risk

Decentralized finance (DeFi) applications are by nature, trustless. DeFi applications manage the exchange of assets via smart contracts. …


Photo by Sigmund on Unsplash

The notion is the one of most widely used note-taking applications out there, used for both personal and professional use. Notion has become the default knowledge-management software for startups, competing against the likes of Confluence and Evernote.

Notion used a combination of strategies to scale to over a million users with just a seed round of funding. There is a lot of lessons for SaaS founders, product, and growth teams, but today, we look at how Notion leveraged its community to accelerate its growth.

Growth using communities

If you check Notion’s subreddit, you’ll see that it had over 1,20,000 members, with an average…


Photo by Joshua Sortino on Unsplash

Over time, I have built out a repository of some neat tricks you can use to easily manipulate your files on vim. I feel this can be useful for the broader vim community.

Restore a file to an earlier time

:earlier 30m

This will restore the file to how it was 30 minutes earlier. Voila!

Executing commands from vim

Use ! followed by your Linux command from within vim.

:! [your-command]

Bonus tip: Using .! will dump the output of the command straight to the current file! For example, the below command will write the current date to your file.

:.! date

Moving through the ChangeList

Use g; to move forwards, and g, to move…


Photo by Fixelgraphy on Unsplash

“Technology for Product Managers” is a series intended to up-skill current and aspiring PMs on popular technologies used in building the next-generation products used and loved across the world. This series will also help you prepare for technical interviews at top technology firms.

Spotify is in a tough business. It has to compete against global technology giants, facing competition from Apple Music, YouTube Music, Amazon Music, and several others. Further, music is getting increasingly commoditized. …


Photo by Ben Hershey on Unsplash

In general, while doing code reviews, I have developed a strong notion of why the use of null (or nil, NULL, nullptr etc depending on your programming language) generally causes more problems than it solves.

The fundamental problem of null is that it is trying to represent the fact that it is not a value while being assigned as a value. This fundamental flaw then snowballs and manifests into problems that we see in everyday production code.

Here, I have made an attempt to document the various types of issues I commonly find with using null.

Poor language Decisions

Certain languages have not…


Photo by Djim Loic on Unsplash

Golang’s native libraries provide an immense amount of functionality that can be leveraged to deal with time in its various formats, extract detailed information from it and manage it effectively in your codebase. Let us take a look at them.

Time Initialization

All common use cases related to formatting and using time values are available natively in the time package. For example, we can use the Now() function available in this package to get the current time.

func main() {   t := time.Now()
fmt.Println(t)
}

giving us the current time in the output:

2020-06-17 16:35:55.374219 +0530 IST m=+0.000097244

The Now function returns…


Photo by Pietro Jeng on Unsplash

Recommender Systems are extremely powerful tools in personalizing the experience of your digital product. Personalization is a proven tool that makes your product more sticky, improves retention and conversion rates. Be it Spotify recommending you the best music for your taste, Amazon recommending you the next thing to buy, or Medium recommending you the next article to read, recommender systems are incredibly powerful in making users derive more value from your product.

As PMs, having a fundamental understanding of how recommendation systems work can go a long way in driving product decisions and having meaningful discussions with engineers and data…


Photo by Sandrachile . on Unsplash

Regular expressions are a widely used way of defining and using search patterns for strings and building find/replace functionality into software. However, dealing with them can sometimes lead to frustration from the confusion created by hundreds of libraries and frameworks, each using slightly different approaches to regex handling.

With Golang however, the builtin regexp package contains all use-cases of regexes and is very robust and extremely intuitive to use.

Let us take a look at the various functionalities of the regexp package.

Check for a pattern match in a string

Use the MatchString method to find a pattern in a string. The first parameter is the regular expression…


Learn to use in-built Go features to handle Unix commands

Photo by Harshal Desai on Unsplash

Accepting and processing signals from the operating system is important for various use cases in applications.

While many server-side languages have complicated or tedious approaches to processing signals from the OS, with Golang applications it’s extremely intuitive. Golang’s in-built OS package provides an easy way to integrate and react to Unix signals from your Go application. Let’s see how.

The Premise

Let’s say we want to build a Golang application that when requested to shutdown prints a message saying, “Thank you for using Golang.” …


Photo by Joshua Aragon on Unsplash

Java 12 is here. And it has brought a lot of new features and improvements that I’m personally very excited about. From a language and syntax perspective, the most impressive upgrade is the new optimized way of writing switch cases. Let’s take a look at it!

For our sample scenario, we will just write a function which takes the number of the month as input(numbers ranging from 0 to 11), and return the number of days in that month. For simplicity, we will assume February has 28 days in this scenario.

Before Java 12, we would write a function like…

Arindam Roy

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store