Reuben Rapose https://reubence.com All of my long-form thoughts on programming, leadership, product design, and more, collected in chronological order. Tue, 17 Mar 2026 03:37:33 GMT https://validator.w3.org/feed/docs/rss2.html https://github.com/jpmonette/feed Reuben Rapose https://reubence.com/favicon.ico https://reubence.com All rights reserved 2026 <![CDATA[4 Major Misconceptions about the Word 'Passion' & How to Find Yours]]> https://reubence.com/articles/4-major-misconceptions-about-the-word-passion-how-to-find-yours https://reubence.com/articles/4-major-misconceptions-about-the-word-passion-how-to-find-yours Wed, 05 Jan 2022 00:00:00 GMT

I bet a lot of us have been at the receiving end of the phrase “Follow your Passion” at some point in our lives. But often, people don't talk about how to do that. People automatically spit out the cliché because it's so widespread in our society.

Mantras like 'follow your passion' carry hidden implications…they imply that once an interest resonates, pursuing it will be easy. But, according to research that mindset makes it more likely people will surrender their newfound “passion” on encountering challenges.

And the idea that passions are found fully formed implies that the number of interests a person has is limited. This can cause people to narrow their focus and neglect other areas.

Let's break down and simplify this cliché.


1. Passion is not Inspiration!

The first thing we need to understand about passion is that passion is more about strategy than inspiration. People usually think along the lines of just waking up one day and randomly knowing their purpose. This law of attraction logic most likely won't work in regard to finding our passions. Most of us find our passions in life through experimentation. It takes a bit of effort and self-analysis.

And if you noticed I said PASSIONS, as in plural. I'm pointing that out because that's another common misconception about passion. That we can only have one almighty singular passion in life. It's mostly because of the influence of TV and society we think of passion as this singular thing. But it's not.

We can have several passions simultaneously. For instance, I myself love writing, love playing the drums, love writing code and love hitting the gym.

Most of us can have more than one passion. We aren't bound to only one interest in life.

2. Passion is the automatic output of persistent curiosity and a hunger for knowledge

The eventual outcome of persistent curiosity or a hunger for knowledge is discovering your passion. It may take months, even years to arrive on your “passion” but the path won't ever seem overwhelming if you enjoy every step of the process.

Learn to follow your curiosity not your passion.

3. Passion is automatic on the path to mastery

On the path to mastering anything we become passionate about that subject in general.

The main point with this is to choose not only to become good at something, but to also aim high because if we want to become a master at something we can't do that without aiming high or without following our curiosity.

For example, not only do you want to write a book, you want to write a book that makes the best seller's list. Not only do you want to open a restaurant; you want to be the best restaurant within 50 miles.

4. Passion isn't a starting point, it's a conclusion

Meaning — we don't start with passion, but we can end with it.

We often start with a curiosity, which leads us to explore a new subject and eventually gain Mastery in that subject which is a fundamental part of passion.


How do you discover your Passions?

If we're not finding the answer after doing some self-reflection, we can dedicate some time to becoming better at the things we find interesting that we also know the world values. We can even go as far as increasing the list of things we find interesting by trying new things. Some we may like, some we may not. If it is not the right choice for you, you will know shortly after starting. But if we keep doing it, as time goes on that list of things we find interesting to do will increase and will start giving us clarity and defining our passions.

Curiosity is a magnet that helps us find our Passions. Curiosity along with a Passion for something is a beautiful marriage made in heaven.

Don't over analyse or over think this part. Just google a list of hobbies and pick out a few that interest you, that you're curious about and focus on one of them at a time to try out.

Dopamine is an Indicator to discover your Passions

Now if you're discovering that you're not interested in anything then it's likely your dopamine responses are off. Dopamine levels can have a lot more to do with your passions than we would think on the surface.

Paint a picture of yourself driving on a road leading you to your passion. Your dopamine levels being off will make that road foggy. The more cheap dopamine spikes we get from things like TV, video games, social media, high sugar foods, and other crap that throws our dopamine responses off — The thicker that fog will be and the harder it will be to see the road we're on. Then because the fog can become so thick we might miss an intersecting road that we're supposed to turn down on or a road that just peaked our interest and would have been worth taking a detour on.

In order to be passionate about things we need to let go of as many unnecessary dopamine spikes related to instant gratification as we can.

Our dopamine responses have to come from what we create, not what we consume.

This is very important. With our dopamine responses in check we naturally seek out more dopamine responses through our creations and the work we put into our life. We'll get our dopamine responses from earned activity like exercising, choosing the right foods to eat, completing tasks, and going for goals. Every instant high dopamine spike activity we let go of will make our road to passion clearer.


YOU are your biggest hurdle, get over yourself

Finding your passion will take some effort and this is exactly why the biggest block to most of us finding our passions is ourselves. Thinking we will just wake one day and suddenly know our purpose is wishful thinking at best. And when nothing comes to us, we tend to ask others what they think we should choose to do for our passion, defeating the whole concept of passion all together. This decision must be on our terms. Not what our mother or father thinks we should do and certainly not what some online blog tells you to do. We can take suggestions, but the endgame of our life has to be a result of our own choices.


Thanks for reading!

If you liked this article, feel free to checkout Seeking Within— a weekly newsletter covering a wide range of topics exploring the belief that Most Answers We Seek Lie Within Us.

Want to connect with me? Shoot me a message via Email, LinkedIn, or Twitter!

]]>
[email protected] (Reuben Rapose)
<![CDATA[Data In, Predictions Out]]> https://reubence.com/articles/data-in-predictions-out https://reubence.com/articles/data-in-predictions-out Tue, 23 Feb 2021 00:00:00 GMT

It is always advantageous for data scientists to follow a well-defined data science workflow when working with big data. Regardless of whether a data scientist wants to perform analysis with the motive of conveying a story through data visualization or wants to build a data model — the data science workflow process matters. A standard workflow for data science projects ensures that the various teams within an organization are in sync, so that any further delays may be avoided.

The end goal of any data science project is to produce an effective data product. The usable results produced at the end of a data science project is referred to as a data product. A data product can be anything -a dashboard, a recommendation engine or anything that facilitates business decision-making) to solve a business problem. However, to reach the end goal of producing data products, data scientists have to follow a formalized step by step workflow process. A data product should help answer a business question. Similarly, lifecycle of data science projects should not merely focus on the process but should lay more emphasis on data products. This post outlines the standard workflow process of data science projects followed by data scientists. The globally acknowledged structure in solving any analytical problem is called as Cross Industry Standard Process for Data Mining or CRISP-DM framework. Below are the various stages within the Lifecycle of a typical data science project.

CRISP-DM Architecture

1. Business Understanding

The entire cycle revolves around the business goal. What will you solve if you do not have a precise problem? It is extremely important to understand the business objective clearly because that will be your final goal of the analysis. After proper understanding only we can set the specific goal of analysis that is in sync with the business objective. You need to know if the client wants to reduce credit loss, or if they want to predict the price of a commodity, etc.


2. Data Understanding

After business understanding, the next step is data understanding. This involves the collection of all the available data. Here you need to closely work with the business team as they are actually aware of what data is present, what data could be used for this business problem and other information. This step involves describing the data, their structure, their relevance, their data type. Explore the data using graphical plots and extracting any information that you can get about the data by just exploring the data.


3. Data Preparation

Next comes the data preparation stage. This includes steps like selecting the relevant data, integrating the data by merging the data sets, cleaning it, treating the missing values by either removing them or imputing them, treating erroneous data by removing them, also check for outliers using box plots and handle them. Constructing new data, derive new features from existing ones. Format the data into the desired structure, remove unwanted columns and features. Data preparation is the most time consuming yet arguably the most important step in the entire life cycle. Your model will be as good as your data.


4. Exploratory Data Analysis

This step involves getting some idea about the solution and factors affecting it, before building the actual model. Distribution of data within different variables of a feature is explored graphically using bar-graphs, Relations between different features is captured through graphical representations like scatter plots and heat maps. Many other data visualization techniques are extensively used to explore every feature individually, and by combining them with other features.


5. Data Modeling

Data modeling is the heart of data analysis. A model takes the prepared data as input and provides the desired output. This step includes choosing the appropriate type of model, whether the problem is a classification problem, or a regression problem or a clustering problem. After choosing the model family, amongst the various algorithm amongst that family, we need to carefully choose the algorithms to implement and implement them. We need to tune the hyperparameters of each model to achieve the desired performance. We also need to make sure there is a correct balance between performance and generalizability. We do not want the model to learn the data and perform poorly on new data.


6. Model Evaluation

Here the model is evaluated for checking if it is ready to be deployed. The model is tested on an unseen data, evaluated on a carefully thought out set of evaluation metrics. We also need to make sure that the model conforms to reality. If we do not obtain a satisfactory result in the evaluation, we must re-iterate the entire modeling process until the desired level of metrics is achieved. Any data science solution, a machine learning model, just like a human, should evolve, should be able to improve itself with new data, adapt to a new evaluation metric. We can build multiple models for a certain phenomenon, but a lot of them may be imperfect. Model evaluation helps us choose and build a perfect model.


7. Model Deployment

The model after a rigorous evaluation is finally deployed in the desired format and channel. This is the final step in the data science life cycle. Each step in the data science life cycle explained above should be worked upon carefully. If any step is executed improperly, it will consequently affect the next step and the entire effort goes to waste. For example, if data is not collected properly, you’ll lose information and you will not be building a perfect model. If data is not cleaned properly, the model will not work. If the model is not evaluated properly, it will fail in the real world. Right from Business understanding to model deployment, each step should be given proper attention, time and effort.


People often confuse the lifecycle of a data science project with that of a software engineering project. That should not be the case, as data science is more of science and less of engineering. There is no one-size-fits-all workflow process for all data science projects and data scientists have to determine which workflow best fits the business requirements. The workflow described above is based on one of the oldest and most popular — CRISP DM. It was developed for data mining projects but now is also adopted by most of the data scientists with modifications as per the requirements of the data science project. CRISP-DM remained the top methodology/workflow for data mining and data science projects with 43% of the projects using it.

Every step in the lifecycle of a data science project depends on various data scientist skills and data science tools. It begins with asking an interesting business question that guides the overall workflow of the data science project. The data science project life cycle is an iterative process of research and discovery that provides guidance on the tasks needed to use predictive models. Right from Business understanding to model deployment, each step should be given proper attention, time and effort.


Thanks for reading!

If you liked this article, feel free to checkout Seeking Within— a weekly newsletter covering a wide range of topics exploring the belief that Most Answers We Seek Lie Within Us.

Want to connect with me? Shoot me a message via Email, LinkedIn, or Twitter!

]]>
[email protected] (Reuben Rapose)
<![CDATA[How Dataism is Revolutionizing the Idea of the Individual]]> https://reubence.com/articles/how-dataism-is-revolutionizing-the-idea-of-the-individual-no-fluff https://reubence.com/articles/how-dataism-is-revolutionizing-the-idea-of-the-individual-no-fluff Mon, 15 Mar 2021 00:00:00 GMT

Here on the earth, we have been struggling to work with tools for billions of years. We had to think about how to use them, and then how to communicate with them. Our work was not as efficient as we wanted and could be. Now we are trying to design intelligent machines that can replace tools, to become a part of us, to work with us and even to help us make choices without thinking. A part of human history is about to change completely. Welcome to the age of Dataism.

Born in 1999, I was among the first cohort of youth to be guinea pigs for smartphones and social media. We were in school when we quickly started losing appreciation for the analog world of our past. Screens and connectivity took over. We became sick. All the things I was taught growing up — avoiding vanity, pursuing humility, being kind and empathetic, etc. — were at odds with what social media was encouraging us to do.

That was my first “yellow flag”. Had I been smarter and wiser I would have stopped back then, but I got caught up in technology.

We were relatively innocent back then. After all, we didn't yet have easily accessible AI. We were just trying to live our best life for social media to impress our friends, and champion our stories and accomplishments to the world.

But then, a few services won the attention of everyone and started applying AI. The machines put the Hook Model on steroids. They knew us better than we knew ourselves, and successfully hacked our brains to make us addicted to scrolling/tapping/swiping so we can watch and click on ads.

That was just the start.


A Big Data Revolution That's Transforming Decision Making

Technology's ability to collect and compile information is more advanced than ever before. As a result, technology is creating a new culture that is less personal.

What would happen if we made all of our data public — everything from wearables monitoring our biometrics, all the way to smartphones monitoring our location, our social media activity, and even our internet search history? Would such insights into our lives simply provide companies and politicians with greater power to invade our privacy and manipulate us by using our psychological profiles against us? A burgeoning new philosophy called Dataism doesn't think so. In fact, this trending ideology believes that liberating the flow of data is the supreme value of the universe, and that it could be the key to unleashing the greatest scientific revolution in the history of humanity.

What Is Dataism? First mentioned by David Brooks in his 2013 New York Times article “The Philosophy of Data”, Dataism is an ethical system that has been most heavily explored and popularized by renowned historian, Yuval Noah Harari. In his 2016 book Homo Deus, Harari described Dataism as a new form of religion that celebrates the growing importance of big data. Its core belief centers around the idea that the universe gives greater value and support to systems, individuals, and societies that contribute most heavily and efficiently to data processing

Dataism implies that all data is public, even personal data, to make the system work as a whole, which is a factor that's already showing resistance today. From browsing histories to shopping patterns, from tracking GPS for location-based services to studying your genomic information to predicting your physiological future and lifespan. And a lot, lot more.

Essentially, Dataism will usher in a highly customized sense of reality served to you by sensing and gathering unimaginable levels of personal, private and public information to influence your worldview. Powerful software networks driven by machine-to-machine communication (thanks to the rise of Internet of Things) is increasingly going to collect complex, sophisticated data points about us, our surroundings, our world, and more to a level we can't even imagine and certainly can't comprehend on our own.

All of this insurmountable data when fed into machine-learning software and artificial intelligence are going to help us gain acute insights into pretty much every facet of our individual and collective lives. This sentiment is at the heart of Dataism, that it will provide us with a brand new point of view, a more logical and analytical philosophical argument about how decisions will be (or perhaps should be) made in the future. According to its early proponents — which are Silicon Valley executives and tech oracles — Dataism argues the universe to be nothing but flow of data from one form to another (much like the law of conservation of energy) and that organisms are nothing but biochemical algorithms manifested in flesh and blood

Any individual with a curious passion would have the entire world's data at their fingertips, empowering every one of us to become an expert in any subject that inspires us. Expertise we can then share back into the data stream — a positive feedback loop spearheading progress for the entirety of humanity's knowledge. Such exponential gains represent a Dataism utopia. Unfortunately, our current incentives and economy also show us the tragic failures of this model. As Harari has pointed out, the rise of Dataism means that “humanism is now facing an existential challenge and the idea of ‘free will' is under threat.” Data was the most valuable resource on the planet — even more valuable than oil. Perhaps this is because data is ‘priceless': it represents understanding, and understanding represents control

The Dataist worldview is very attractive to politicians, business people and ordinary consumers because it offers groundbreaking technologies and immense new powers.

For all the fear of missing our privacy and our free choice, when consumers have to choose between keeping their privacy and having access to far superior healthcare — most will choose health.

For scholars and intellectuals, Dataism promises to provide the scientific Holy Grail that has eluded us for centuries: a single overarching theory that unifies all the scientific disciplines from musicology through economics, all the way to biology.

According to Dataism, Beethoven's Fifth Symphony, a stock-exchange bubble and the flu virus are just three patterns of dataflow that can be analysed using the same basic concepts and tools. This idea is extremely attractive. It gives all scientists a common language, builds bridges over academic rifts and easily exports insights across disciplinary borders. Of course, like previous all-encompassing dogmas, Dataism, too, may be founded on a misunderstanding of life. In particular, Dataism has no answer to the notorious “hard problem of consciousness”.

At present we are very far from explaining consciousness in terms of data-processing. Why is it that when billions of neurons in the brain fire particular signals to one another, a subjective feeling of love or fear or anger appears? We don't have a clue. But even if Dataism is wrong about life, it may still conquer the world.

All our words and actions are, in fact, part of a great dataflow enveloping the world, and only when individual experiences are connected to this dataflow, data algorithms will discover their meanings and guide us. Data is omnipresent, and without Data there can be no way to master the Force. With it we are powerful and invincible; without it we are vulnerable and certain to diminish. Through the wonders of machine learning and breakthroughs in artificial intelligence, in the future data is going to dictate our lives unlike any other divine doctrine or man-made religion we've ever known. No longer will we study horoscopes, astrological signs, consult holy books and holy men, if dataism has its way — and it will. We will live our lives under a different code, one that'll be less forgiving, emotionless, devoid of personal prejudice or bias. A far more analytical life, where decision-making is based completely based on cold hard data alone.


In conclusion, I want to leave my readers with a question. If humankind is indeed a single data-processing system, what is its output? Dataists would say that its output will be the creation of a new and even more efficient data-processing system, called the Internet-of-All-Things. Once this mission is accomplished, Homo sapiens will vanish. Dataism is neither liberal nor humanist. It should be emphasized, however, that Dataism isn't anti-humanist. It has nothing against human experiences. It just doesn't think they are intrinsically valuable. Like capitalism, Dataism too began as a neutral scientific theory, but is now mutating into a religion that claims to determine right and wrong.

Dataism, human experiences are not sacred and Homo sapiens aren't the apex of creation or a precursor of some future Homo Deus. Humans are merely tools for creating the Internet-of-All-Things, which may eventually spread out from planet Earth to cover the whole galaxy and even the whole universe. Perhaps in your own lifetime, your dog may have a Facebook or Twitter account of his own — maybe with more Likes and followers than you.


Thanks for reading!

If you liked this article, feel free to checkout Seeking Within— a weekly newsletter covering a wide range of topics exploring the belief that Most Answers We Seek Lie Within Us.

Want to connect with me? Shoot me a message via Email, LinkedIn, or Twitter!

]]>
[email protected] (Reuben Rapose)
<![CDATA[Life-Changing Lessons I've Learnt As An Entrepreneur]]> https://reubence.com/articles/life-changing-lessons-i-learnt-last-year-as-an-entrepreneur https://reubence.com/articles/life-changing-lessons-i-learnt-last-year-as-an-entrepreneur Wed, 02 Feb 2022 00:00:00 GMT

Humans tend to go through their lives in phases.

All of us have gone through that phase in our life when you're feeling tired all day, you're relaxing a bit too much and you just can't seem to find any real motivation to get out of bed.

The kind of phase when you know you're not giving it your all.

It was really hard for me to get up in the morning on such days.

I couldn't help but just lay in bed thinking “What harm will just a few more minutes in bed do? It won't matter that much anyway”.

Looking back, I now realise that it mattered more than I was ready to accept at the time.

We Often Fail To Consider The Second, Third & Fourth Order Consequences.

Unlike money, once time is gone we never get it back.

Time is finite — and that makes it sacred. But I never did respect this.

Until one day I realised that waking up late and getting frustrated (because I woke up late) became a daily routine.

An hour extra in bed today, means I was building up the habit of staying in bed late.

And by the definition of a habit, that means I was very likely to do the exact same thing tomorrow… and the day after that, and the day after that.

An hour in bed today is actually many hours wasted in the future.

Spending an hour extra in bed is an hour less spent working, and that single hour may be the difference between achieving your goals or not achieving them.

How you do ANYTHING is how you do EVERYTHING.

Have you noticed how easy is it to get up in the morning when you know you are giving life your all, when you're doing the best you can, when you're anxious to get going and when you're making great progress towards your dreams?

The attitude I approached one task with always spills over into the attitude with which I approach all other tasks.

So, if I half heartedly approached getting out of bed, I would have that same approach with every other thing that I did in my day — work, relationships and fitness to name just a few.

It feels great to relax for the sake of replenishing your energy, instead of relaxing to avoid work which ends up making you feel guilty.

It's a completely different feeling, one that I had only begun to discover.

And I was immediately hooked onto that feeling — one where you're all psyched up and excited for life, excited for what you've planned to accomplish for the day.

Once I started embracing this sort of a “Growth Mindset”, I found myself waking up before the alarm clock would even begin to startle me awake, I went through my day protected from negative events simply because of my mindset, I started exuding confidence, abundance and presence.

But most importantly, when I was focused on growing, I started seeing small wins flourish in places I never expected.

The client praises you for an increase in energy and output, your partner notices your changes and sincere “I love you's” are shared for the first time in months, you start journaling everyday, meditating everyday, exercising everyday… You reach your goals everyday…You work intensely every single day.

These small wins slowly started to fuel my ambition. They gave me the extra energy to pave the way for more successes.

It's the snowball effectyou've heard people talk about it.

With one success you're excited to meet another and another and another.

And pretty soon, you'll be achieving your goals, reaching your potential and feeling better than you've ever felt.

After a couple of months, the disciplines that were so difficult in the beginning are now a part of your identity:

  • You ARE the person with big dreams.
  • You ARE the person with a burning desire to change the world.
  • You ARE the person who sets goals far bigger than all of your peers, then crushes them one by one.

And with time everyone will be calling you successful.

But how do you know for your self when you're successful? Do you have to be a millionaire? No.

All anyone can ask of you is that you earn all that you possibly can. If you earn $10,000 a year, and that's the best you could possibly do, then that's enough.

God as well as powers unknown to me, will make sure that you're okay.

The key is to just do the best you can.

If that's ten thousand a year, wonderful. If that's one hundred thousand a year, wonderful. And if that's a million a year, wonderful .

It doesn't matter as long as you've done everything that you could. Earned the most you possibly could. Become the most developed person that you could.

In my experience, this kind of a mindset also paves way for higher levels of satisfaction, despite how much I achieved “on paper”.

All that mattered is how much effort I put into my day, how much I was learning and growing both professionally and personally.

The essence of life is NOT Success, it's Growth — to do the best you possibly can.

As a baby becomes a child, he matures. And as a child becomes an adult, he matures again.

But for many people, that is when the maturation stops.

But why?

It is within our DNA to feel fulfilment from growing, so why do we stop growing after formal education?

Growth is a human NEED.

If you want to be happy, you have to be growing.

And here's what's interesting about that — humans are the only thing alive that will do less than they possibly can.

They're the only thing alive that will ever settle for less.

Every other life form except from humans will always strive to their maximum capacity.

How hard will a bee work? As hard as it possibly can.

How tall will a tree grow? As tall as it possibly can.

You've never heard of a tree growing half as tall as it possibly could. No, trees don't grow half…

Trees send their roots down as deep as possible, stretching their limbs out as high as possible, producing every leaf possible and every fruit possible.

As a matter of fact, you've never heard of a human physically growing half as tall as it could. We keep growing until we're done.

It' s genetically coded in our DNA. We can't control that — and that' s probably why we keep growing until we're done.

It is the rest of our “growing” that we can control.

The growing of our mind. The maturation of our identity.

That is completely within our control. Yet that's what tends to get away from us.

The Honour Of Choice

Now, why wouldn't human beings strive to achieve their maximum potential?

Here's why: because we've been given the honour of choice.

“Choice” makes us different than alligators and trees and birds.

It makes us different from all other life forms.

And here's the choice that I was given:

To achieve just a small part of what I can achieve (just enough to get by) or to become ALL that I can be.

If I could only give you one piece of advice, it would be to choose the “ALL”.

Earn ALL you can.

Make ALL the friends you can.

See ALL the countries you can.

Read ALL the books you can.

Develop ALL the skills you can.

Do ALL the things you can.

Make ALL the fortunes possible. Give as much of it away as possible.

There's no kind of life like that kind. And once you get on track you'll never look back.

The two primary benefits of striving for ambitious goals are firstly to build good habits, and secondly to create more energy to fuel those ambitions.

Most entrepreneurs make the mistake of just trying to get through the day, never keeping track of their progress along the way, never really knowing if they are doing all they can to reach their goals, to drive their ambition.

But entrepreneurs with a Growth Mindset learn to take all they can from the day. They are great at self reflection.

They don't let a day end without picking up some valuable experience, some emotional content, some idea that may positively affect their future.

Since adopting this kind of an attitude to life, I have seen huge improvements in my output as an entrepreneur:

  • I've been my most productive, most confident and most stress-free version.
  • People around me have started noticing the many positive changes.
  • My colleagues have started appreciating me for my work ethic.

I'm starting to see wins in most areas of work, personal life and so on — you'll just have to take my word for it.

“ Habits, are the secret to growth… and Growth, in my eyes, is the secret to Life. “

~ The Author

Do not underestimate the influence of a growth mindset, it might just be the thing that leads you to your next big success, and the one after that, and the one after that…


Thanks for reading!

If you liked this article, feel free to checkout Seeking Within— a weekly newsletter covering a wide range of topics exploring the belief that Most Answers We Seek Lie Within Us.

Want to connect with me? Shoot me a message via Email, LinkedIn, or Twitter!

]]>
[email protected] (Reuben Rapose)
<![CDATA[Programming is Easy, Software Development is Hard & Maintaining Code is the Hardest]]> https://reubence.com/articles/programming-is-easy-software-development-is-hard-maintaining-code-is-the-hardest https://reubence.com/articles/programming-is-easy-software-development-is-hard-maintaining-code-is-the-hardest Sun, 30 Jan 2022 00:00:00 GMT

First of all, if you're a fan of black-and-white, clear-cut distinctions, then you're reading about the wrong topic.

In the tech world, the lines between many roles are blurred; like "PHP Ninja Dev".

Just have a look at the job roles in the Data Science Industry.

Roles like Data Analyst, Business Analyst and Data Engineer are spelled different on paper, but most companies expect roughly the same kind of work out of all three roles — just take my word for it, I have worked as a professional Data Engineer Ninja Scientist (Don't quote me on that).

For the most part, what these "titles" mean depends purely on how the company you work for interprets it.

But let's not get distracted, I'm not here to discuss the nuances of how these titles are different from each other — I don't know much about that honestly.


About 2 years ago, I started my journey as an Entrepreneur and assumed the role of a "Tech Lead" at my startup.

This meant that I had to start learning some newer technologies like React & NextJs; especially if I expected to deliver any kind of software that people would willingly pay for.

"Surely that won't be too hard?" — It was extremely hard, like sailing through the second level of hell.

The 3+ years of experience in Python that I had accumulated before this were of no use.

Programming Is Easy, But Software Development Is Hard.

Software development is hard because most people usually tend to skip the foundational steps, which is learning to create programs that do things that other people want to pay for, and all the difficulties which that entails.

I come from a background of competitive coding (mainly in Python).

But that didn't teach me anything about developing a software product with the right UX and design choices, integrating several complex APIs or writing code for role-based authorisation logic.

When I started developing our first software product (An Ads Analytics Platform), I felt like a kid who was expecting to write an essay right after learning the alphabet.

Moreover, I didn't have the luxury of taking a few months break from my business to master these technologies since I had already committed to a deadline, therefore I was only left with one choice — to learn and implement all these technologies in our product on-the-go.

It took me about 4 months to deliver this product.

During that period, I learnt that software development is a very complicated process that cannot be learnt by simply following a tutorial.

In order to be a successful software developer, I needed to not only write code, but also understand how that code works and interacts with the rest of the system.

While it sounds easy, I can assure you that there are only a handful of videos on YouTube that can teach you this skill.

Because understanding the nuances of how different technologies/frameworks operate together is something that can not be learnt by watching a tutorial video — It is something one must learn by doing.

It required me to familiarise myself with new concepts and terminologies/frameworks.

I spent more time reading through documentation, or watching video explanations to try and fill the gaps in my knowledge rather than writing actual lines of code!

( I found this video by Delba de Oliveira to be one of the best introductions to the React paradigm.)

After spending all that time learning, I realised that most tutorials sucked at explaining the actual process of Software Development.

Most tutorials and courses did a great job of abstracting away the complexities of software development by teaching me only the primitives.

They made learning & mastering a language or framework seem very easy — to the point that it made me wonder what the fuss is all about.

There is a huge disconnect between what is shown in tutorials, blogs, courses and what is actually used in enterprise grade applications.

And, in my opinion, this seems to be the biggest reason why it takes people months or sometimes even years to reach the end of their software development cycles.

For example, most react tutorials teach you how to read data from external REST APIs, but very few videos talk about the importance of using React Query — which is a hook library that eliminates repetitive code, and introduces production-ready data fetching and caching practices ready to be implemented out-of-the-box.

Almost every real-world application would require you to build out the logic for data fetching and in most cases would require the use of something like React Query.

By the time I had made this realisation, I had to go back and re-write almost 2000 lines of code within an application that was otherwise ready to be launched in a month — it was either that, or I would have to spend weeks debugging and optimising my application/servers after delivery which would have been very time-consuming.

The process of Software Development is a combination of a dozen or so important decisions that one needs to make before writing even one line of code.

You have to think about your architecture, database design, tech-stack, cloud hosting, caching and even that is barely scratching the surface.

Software Development is a complicated process that requires you to understand various domain-specific concepts, specifications, testing, scaling, setting timelines, designing the architecture and most importantly choosing your "tech stack" like cloud service providers.

Since I had no prior experience in developing software, thinking about architecture or choosing the right tech stack; my journey was a little rough.

After going back and forth for about 4 months, and writing nearly 20,000 lines of code, the software development was finally completed… although, the journey was still far from over.

I was now faced with new set of challenges — Maintenance.

Maintaining software is a topic that has had very little light shed over it by experienced developers of the world.

If you've ever tried to update or fix a piece of code that someone else wrote, you would know how frustrating it can get.

There are a variety of reasons why it can be hard to maintain code, but some of the most common reasons are:

  • The code is difficult to understand or is poorly written.
  • The code is not well organised and it is difficult to find the code you need.
  • The code has been modified so many times that it is difficult to track down the original source code.
  • The code is no longer supported by the original author or the company that owns the code.

Complexity of code maintenance is one of the main reasons for the high failure rate of software projects.

In order to keep a software system running smoothly, the code must be constantly updated and tweaked to account for changes in the business environment, new requirements, and advances in technology.

This is a daunting task, and it's often difficult to find the time and resources to do it properly.

As a result, many software systems become bogged down with legacy code that's difficult to update and maintain.

Eventually, this would lead to performance issues and security vulnerabilities.

We battled these issues early-on during our development by focusing our efforts on writing code in modules (breaking it up into smaller, reusable components), and reusing them to reduce the amount of code that needs to be rewritten or updated each time there is a change in the business environment or system requirements.

Planning out our modules in advance is something that helped us address the problems associated with code maintenance and made the process easier and more efficient.

It saved us a lot of time and money, and it also helped ensure that our code is more reliable and secure.


In conclusion, Software Development & Maintenance are heavily misunderstood topics.

Their complexities are not understood by inexperienced developers because they usually lack the depth of expertise needed.

It is something you will learn once you dive into the deep end of software development & delivery.


Thanks for reading!

If you liked this article, feel free to checkout Seeking Within— a weekly newsletter covering a wide range of topics exploring the belief that Most Answers We Seek Lie Within Us.

Want to connect with me? Shoot me a message via Email, LinkedIn, or Twitter!

]]>
[email protected] (Reuben Rapose)
<![CDATA[Startup Founders, Would You Rather Have A 10x Better Product Or 10x Better Distribution?]]> https://reubence.com/articles/startup-founders-would-you-rather-have-a-10x-better-product-or-10x-better-distribution https://reubence.com/articles/startup-founders-would-you-rather-have-a-10x-better-product-or-10x-better-distribution Tue, 15 Feb 2022 00:00:00 GMT

As a startup founder, one question I get asked frequently is: should we focus our energy on building product or on building our distribution channels?

Most of the startup world would tell you to focus on both.

I strongly disagree with this. It's unlikely you will be able to nail your product strategy & your distribution strategy at the same time — especially if you're a first time founder.

To build a 10x better product than your competitors, you would need a Steve Wozniak.

On the other hand, to build a 10x better distribution you just need a person who is ready to hustle.

As founders, we've all been guilty of focusing on the product with an “all or nothing” attitude.

The problem with this is that the “build it and customers will follow” argument only works in cases when the product itself is orders of magnitudes better than existing competitors.

If it's not at least 10 times better than your competitors, then you're essentially competing with them on marketing, instead of features or quality of your product.

Moreover, for a first time founder, nailing the product is helluva lot harder than nailing the distribution.

When making a decision on which route to go, it's important to be honest with yourself and leverage the skillset you (and your team) actually have, not the one you wish you had.

If you aren't confident about your ability to develop a 10x better product than your competitors then you should go the distribution route.

The beauty of this route is that one does not need any specialised skills to pull it off. Anyone can do it, all you need is to commit to out-caring your competition when it comes to customers or quality of your product.

My bias towards distribution is mainly because I think distribution is an inherently better lever to pull on.

Admittedly, it's probably an inferior lever in the long run. But it's just a bit easier to pull in the beginning when you're starting out in order to get the flywheel spinning.

Here's my formula to approach the distribution route:

  1. Create an okay-to-solid product
  2. Spend money on marketing & setting up strong distribution channels for organic reach (through SEO, Paid Shout-Outs by Influencers, Advertising etc.)
  3. Keep improving the product while you hope to catch a lucky break through your distribution strategy.

To follow the distribution route does not mean one must completely ignore building a good product in the first place.

Building a good product is a necessity, but it is insufficient to achieve success through it — especially without great distribution.

More often than not, the difference between commercial success and commercial failure is the distribution.

In the startup world, the odds are so stacked against us all the time that if one can continually make decisions that moves the odds slightly more in their favour, they give themselves the best chance of catching a few lucky breaks.

Take GoDaddy for example, nearly every person on the Internet has heard of GoDaddy and a majority of sites are registered with the company. The power of this brand came from its extensive advertising.

GoDaddy didn't see much success early-on when they were advertising their brand on the internet to web developers due to extremely high competition in the web-domain and hosting space.

So, at a time when many people were still unfamiliar with the Internet, GoDaddy targeted their advertising towards regular, every day people both online and offline.

This was a risky move, at the time, but actually showed incredible foresight and as a result they are a $13 Billion company today.

In essence, during the first go-around, GoDaddy had a great product but not a great distribution strategy.

When they got a second bite at the apple, they succeeded because they had figured out how to play the game.

Same product. Different distribution strategy. Wildly different results.

To become a company that can last for decades, you really need both great product and great distribution.

The point of this blog post isn't to say, you should only focus on one lever for eternity. That would be silly. The point is make you think hard about which lever to pull on first.

If you're a first-time founder and you don't initially have the resources to bring a Steve Wozniak into your team, you'll likely increase your odds of success by focusing more of your early energy on distribution.

Once you've achieved product market fit and you have figured out enough of the distribution side to see real adoption, find your Steve Wozniak, inspire him or her to join your team, and go out to build your 10x-better-product that changes the world.


Thanks for reading!

If you liked this article, feel free to checkout Seeking Within — a weekly newsletter covering a wide range of topics exploring the belief that Most Answers We Seek Lie Within Us.

Want to connect with me? Shoot me a message via Email, LinkedIn, or Twitter!

]]>
[email protected] (Reuben Rapose)
<![CDATA[Stop Validating Your Business Ideas]]> https://reubence.com/articles/stop-validating-your-business-ideas https://reubence.com/articles/stop-validating-your-business-ideas Sat, 29 Jan 2022 00:00:00 GMT

Successful businessmen and investors alike have a lot of advice to give on validating your business ideas.

So much so that I feel many entrepreneurs, especially those who are less experienced like myself, get stuck following their advice.

Two years ago, when I began my journey as an entrepreneur, I couldn't seem to find, choose, or validate an idea.

Often, and sadly, this meant that I would fall and get stuck at the first hurdle — picking an idea.

Two years and a couple of failed startups later, I've now stopped following all other frameworks of validation and narrowed it down to this one simple ideology: Do Not Validate Your Ideas, Validate Your Vision.


“To me, a vision is an exploration of what I want to do in my life and what I want to achieve through work.

In simpler words — it's the BIG picture, it's the eventual outcome that I am working towards”

~ The Author

Looking back at my experiences, I realise now that for a long time I never followed a process for validating an idea.

As a consequence, I often felt it hard to guide or advise people along that validation route.

Yet, I made a success of a business, doing things differently. Why? I didn't have an answer to this for a long time.

But then, as all good things do, it came to me.

I don't validate ideas, I validate visions.

I have to believe in the vision of where I'm heading.

That there is space to grow, money to be made and important problems to be solved.

The specific problem is not as important as keeping an open mind to the picture as a whole.

Sometimes being laser focused on the idea closes your mind to all the possibilities.

However, if you have a Vision in mind it will naturally work those muscles of looking at things from many different and many new angles.

Once you start looking at things from different angles, you stop validating ideas; instead you start to group them, till they become a cluster of ideas.

This cluster of ideas then start to give birth to your vision.

When you have a clear vision in head, you may think to validate something; to look if enough people agree with your vision.

Maybe you should send 1000 emails and, if you have 30% of answers, it's a validation.

Or maybe you prefer to keep things simple as you don't want to change your vision to attract more people quicker.

Of course, you may also choose to validate an idea, If that is what you want.

I just want you to know that you can validate your vision too.

Choose the path that works for you.


Be Flexible

Over time, I've come to realise that this framework of “validating my vision” has led me down a consistent path of discovery.

I don't think I'll ever get to the stage where I know for sure that this is what I'm going to be doing with my ideas.

It is forever changing, according to my vision to begin with, eventually taking shape over the course of exploration and experiences.

With each passing week, month, year I had learnt more, had created multiple paths, and crossroads that were helping me shape my vision.

I kept exploring, trying new things, forging new paths and opportunities, to find what works.

I'm never really convinced 100% about the product ideas I have.

And because they change daily, I don't need to validate these ideas.

I just have to be more focused on the vision I have for the future:

  • Is this something that I really want to do for the next ten years?
  • What is the BIG picture? And what is the eventual outcome I am trying to achieve?
  • Is this something the world needs, and would pay me to do?
  • How can I explore the full range of possibilities of this vision?
  • What are some realistic ideas/ways to turn my vision into a reality?
  • Am I thinking about the right things?
  • Are specific ideas closing my mind to better ideas?
  • Does it bring joy and excitement?
  • Do I feel there is room for this to grow into something BIG?
  • Does the community/world need me to do this?
  • Am I cut out for this?
  • Why should people care?
  • What is it I really need and care about?

The “good” founders, in my opinion, know enough about a space, how things work, what is wrong, etc.

They look at the bigger picture, which helps them to craft a vision and to flesh out ideas to achieve its full potential.

Don't make the mistake of chasing after “let's find something to solve”.

Don't be in a rush to start something.

Instead, focus on “constantly doing” things to expose yourself to new experiences because the more you learn, the better chances you will have of understanding a space and the better chances you will have of discovering and shaping your vision.

Then, you can go ahead and figure out how to execute your vision, backed with great ideas and great creativity (which are a direct result of validating your vision).


Thanks for reading!

If you liked this article, feel free to checkout Seeking Within— a weekly newsletter covering a wide range of topics exploring the belief that Most Answers We Seek Lie Within Us.

Want to connect with me? Shoot me a message via Email, LinkedIn, or Twitter!

]]>
[email protected] (Reuben Rapose)
<![CDATA[The Easing Blueprint]]> https://reubence.com/articles/the-easing-blueprint https://reubence.com/articles/the-easing-blueprint Thu, 13 Jun 2024 00:00:00 GMT The main ingredient that influences how our animations feel is easing. It describes the rate at which something changes over a period of time.

Below, you can see a simple example of how easing can transform an animation. Toggle between the two easing types and notice how, even though every other property remains the same, the animation feels significantly different.

Perception of Speed

Easing also plays an important role in how fast our interfaces feel, so it's absolutely crucial to get it right, as the perception of speed is often more important than the actual performance of your app.

Which one of the two spinners below would load faster? I'd say the one on the right, simply because the animation is faster. While this specific example focuses on duration, easing can also significantly alter the perception of speed.

Like this modal animation that has the exact same duration, but different easing curves:

  • ease-in
  • ease-out

The difference here is subtle, but it makes a difference.

Framer-Motion Basics

Framer-motion is a powerful library for creating animations in React. It provides a simple and intuitive API for defining animations, making it easy to implement complex animations with minimal code. Here's a basic example to illustrate how framer-motion works:

import { motion } from 'framer-motion';

const BasicAnimation = () => {
  return (
    <motion.div
      initial={{ opacity: 0 }}
      animate={{ opacity: 1 }}
      transition={{ duration: 1 }}
      className="rounded bg-blue-500 p-4 text-white"
    >
      Hello, World!
    </motion.div>
  );
};

In this example, the motion.div component starts with an opacity of 0 and animates to an opacity of 1 over a duration of 1 second. The Tailwind CSS classes bg-blue-500, text-white, p-4, and rounded are used for styling.

Applying Easing Functions with Framer-Motion

To know when and what easing to choose, I've developed a system for myself that I reference when working on animations. It's a blueprint that'll be a great starting point if you don't know much about motion.

It covers every type of easing that is built into CSS and describes when to use it. Additionally, it provides a few custom easing curves made by Benjamin De Cock that I use very often.

Ease-Out

This is the curve I use the most in my UI work. It's great for user-initiated interactions like opening a modal as the acceleration at the beginning gives the user a feeling of responsiveness. I apply this easing for most enter and exit animations.

import { motion } from 'framer-motion';

const EaseOutAnimation = () => {
  return (
    <motion.div
      initial={{ x: 100 }}
      animate={{ x: 0 }}
      transition={{ duration: 1, ease: 'easeOut' }}
      className="rounded bg-red-500 p-4 text-white"
    >
      Ease-Out Effect
    </motion.div>
  );
};

One good example of this is the Family iOS app where everything feels very snappy. They probably use spring-based animations, but if we had to convert it into an easing type, it would be an ease-out curve.

Ease-In-Out

Starts slowly, speeds up, and then slows down towards the end, like a car. This is the most satisfying curve to look at in my opinion. I use it for anything that is already on the screen and needs to move to a new position or morph into a new form.

import { motion } from 'framer-motion';

const EaseInOutAnimation = () => {
  return (
    <motion.div
      initial={{ y: -100 }}
      animate={{ y: 0 }}
      transition={{ duration: 1, ease: 'easeInOut' }}
      className="rounded bg-purple-500 p-4 text-white"
    >
      Ease-In-Out Effect
    </motion.div>
  );
};

Ease-In

It's the opposite of ease-out; it starts slowly and ends fast. Due to its slow start, it should generally be avoided as it can make interfaces feel sluggish and less responsive.

import { motion } from 'framer-motion';

const EaseInAnimation = () => {
  return (
    <motion.div
      initial={{ x: -100 }}
      animate={{ x: 0 }}
      transition={{ duration: 1, ease: 'easeIn' }}
      className="rounded bg-green-500 p-4 text-white"
    >
      Ease-In Effect
    </motion.div>
  );
};

Linear

Since linear animation moves at a constant speed, it should generally be avoided as it can make motions feel robotic and unnatural. The only time I would use linear is for a loading spinner or other continuous animations where there are no interactions.

import { motion } from 'framer-motion';

const LinearAnimation = () => {
  return (
    <motion.div
      initial={{ x: 0 }}
      animate={{ x: 100 }}
      transition={{ duration: 1, ease: 'linear' }}
      className="rounded bg-blue-500 p-4 text-white"
    >
      Linear Effect
    </motion.div>
  );
};

A marquee is a good use case for linear easing type.

Ease

A similar curve to ease-in-out, but it's asymmetrical; it starts faster and ends slower than an ease-in-out curve. I use this one mostly for hover effects that transition color, background-color, opacity, and so on.

import { motion } from 'framer-motion';

const EaseAnimation = () => {
  return (
    <motion.div
      whileHover={{ scale: 1.2 }}
      transition={{ duration: 0.3, ease: 'ease' }}
      className="rounded bg-yellow-500 p-4 text-white"
    >
      Hover me
    </motion.div>
  );
};

Custom Easing Curves by Benjamin De Cock

All the examples you've seen up until this point are actually using these custom easings, as the accelerations of the built-in ones are not strong enough. Here you can see the difference between the built-in ease-in-out and a custom one from the blueprint. Custom easing here feels more energetic.

CSS Variables for Custom Easing

To incorporate these custom easing curves, define them in your CSS:

:root {
  --ease-in-quad: cubic-bezier(0.55, 0.085, 0.68, 0.53);
  --ease-in-cubic: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  --ease-in-quart: cubic-bezier(0.895, 0.03, 0.685, 0.22);
  --ease-in-quint: cubic-bezier(0.755, 0.05, 0.855, 0.06);
  --ease-in-expo: cubic-bezier(0.95, 0.05, 0.795, 0.035);
  --ease-in-circ: cubic-bezier(0.6, 0.04, 0.98, 0.335);

  --ease-out-quad: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --ease-out-cubic: cubic-bezier(0.215, 0.61, 0.355, 1);
  --ease-out-quart: cubic-bezier(0.165, 0.84, 0.44, 1);
  --ease-out-quint: cubic-bezier(0.23, 1, 0.32, 1);
  --ease-out-expo: cubic-bezier(0.19, 1, 0.22, 1);
  --ease-out-circ: cubic-bezier(0.075, 0.82, 0.165, 1);

  --ease-in-out-quad: cubic-bezier(0.455, 0.03, 0.515, 0.955);
  --ease-in-out-cubic: cubic-bezier(0.645, 0.045, 0.355, 1);
  --ease-in-out-quart: cubic-bezier(0.77, 0, 0.175, 1);
  --ease-in-out-quint: cubic-bezier(0.86, 0, 0.07, 1);
  --ease-in-out-expo: cubic-bezier(1, 0, 0, 1);
  --ease-in-out-circ: cubic-bezier(0.785, 0.135, 0.15, 0.86);
}

Choosing the Right Easing Function

When to Use Which Easing

  • Linear: Use for consistent, uninterrupted movements, such as a progress bar.
  • Ease-In: Ideal for elements that need to accelerate into place, such as an entering slide.
  • Ease-Out: Perfect for elements that need to decelerate, like a fading notification.
  • Ease-In-Out: Best for balanced animations, like a modal appearing and disappearing.
  • Bounce: Suitable for playful elements, like button clicks or icon animations.
  • Elastic: Use for elements that need to emphasize flexibility, like a dropdown menu or a draggable component.

Why Easing Matters

Easing functions significantly impact the user experience by making animations feel more natural and engaging. Proper use of easing can guide user attention, enhance the aesthetic appeal, and provide feedback that reinforces the functionality of the interface.

Create Your Own Curve

You can also create your own custom easing curves by using the cubic-bezier function in CSS. This is a great way to experiment and get a better feel for how different curves work.

Conclusion

Easing functions are a critical component in creating captivating animations that make users stop and take notice. With framer-motion, applying these functions becomes straightforward, allowing developers to focus on designing engaging and responsive user interfaces. By understanding and leveraging the different types of easing, including custom curves by Benjamin De Cock, you can create animations that not only look good but also enhance the overall user experience.

Harness the power of framer-motion and the diverse range of easing functions to create animations that truly stand out. Whether it's a subtle ease-in-out transition or a playful bounce effect, the right easing can make all the difference.

]]>
[email protected] (Reuben Rapose)
<![CDATA[Web3 : A Marketing Buzzword Far Away From Reality]]> https://reubence.com/articles/web3-a-marketing-buzzword-far-away-from-reality https://reubence.com/articles/web3-a-marketing-buzzword-far-away-from-reality Tue, 01 Feb 2022 00:00:00 GMT

Crypto, Blockchain, NFTs, DAOs, Web3, Metaverse… they're going to change how humanity functions and rewrite our history books. Right?

At least, that's what everyone is saying on Twitter.

But after only having dipped my toes in the waters of web3, I have found this to be untrue — at least for now.

I have to say, with little research you can see how this might be the new "tulip mania."

Before we begin, let me caution you by prefacing this article with a quote that summarises my view, and the “hype” around this space.

“ Pessimists sound smart, Optimists make money and Realists stay happy. “


Not ready for mass adoption

Despite what YouTubers and Finance gurus want you to believe, none of the technologies mentioned in this article are ready for mass adoption.

The problem lies within the core concept of blockchains like Bitcoin — “decentralisation”.

Spreading an app across 100s of devices (decentralisation) is a technological marvel that sounds fantastic on paper but will send tremors across the blockchain wonderland if you've ever spoken to a Blockchain Developer.

You have to take into account the costs of bandwidth that you will pay to send a copy of the “public ledger” to every device running it.

Here's a Fact — the Ethereum Public Ledger is about 950GB in size!

For any individual who wishes to participate in the blockchain and wants to run a “full node”, they would have to spend at least $2500 on hardware (and a little more on getting a good internet connection).

But let's not forget that the “promised future” of web3 and blockchains like Ethereum considers using your mobile as part of the database and your hosting server.

The ecological impact of this alone would make it a terrible idea as it would require 99% more energy per transaction than standard servers hosted by AWS (since these servers run on the edge network and are highly optimised).

Also, having to pay transaction fees to miners is pretty much the same thing as having to pay services like AWS or GCP for cloud hosting but you get a significantly worse platform to use.

This brings me to another significant hurdle — web3 mostly operates on centralised servers.

The level of decentralisation that was promised by Web3 fanatics just does not exist — mostly due to technological constraints which should be solved in a few years.

You could argue that certain level of centralisation is required to provide a good service to customers because most consumers are used to a smooth experience with products; a helpline to call, a reliable server that does not go down when you need it, easy learning curve, etc.

“It's Early Days for Crypto”

This is the most common excuse I see from people in the web3 space when discussing problems like these.

Blockchain's failure to scale beyond relatively nascent engineering is what makes it possible to consider the days “early”.

But, objectively speaking, it has already been around for a decade or more now.

This very well might be the beginning, but should we consider that any consolation?

Because it seems like from the “very early days” these technologies are immediately tending towards centralisation through platforms in order to be mass adopted.

Maybe we should be taking notice from the “very beginning” because most participants don't even know or care it's happening.

But How Can You Stop a Gold Rush?

That same friend who is trying to convince people that web3 is inevitable, does not even realise that the NFTs he bought are just simply metadata that contains a link to the art.

Most NFTs sold on OpenSea (the largest NFT marketplace) don't store the images which makes it possible for somebody to just sell the same NFT on a different marketplace under a different name since there is no way to verify or cross-reference and penalise people doing this.

Infact, hackers could even go to the link in the NFT and permanently change the Image that the link was supposed to be pointing to!

Imagine spending $100k on an NFT only to find out that somebody changed the image on the link to an emoji — 💩.

There are people purchasing several NFTs who do not even know this fact, yet try to pass off how knowledgeable they are on this new technology.

I suspect that many people do not even understand what they are buying but are just following “experts” who themselves have financial interest in seeing this space grow.

The major hurdle with NFTs right now is that they are too centralised around platforms like OpenSea and that they rarely, if ever, focus on securing the underlying NFT/Image.

Regardless of these short comings, there is money to be made, but I do not believe it is by retail investors.

Retail investors are getting taken for a ride by people who are selling you the next big thing and running with the money.

At the end of the day, most web3 nerds are excited about this kind of progression because it means more speculation/investment different fields like art.


Personally, I don't think web3 is on a trajectory to free us from centralised platforms.

I don't think it will fundamentally change our relationship to technology, but I also understand why nerds like me are excited to build for it.

If we do want to change our relationship to technology, I think we'd have to do it intentionally.

I'm hopeful that the creativity and exploration we're seeing will have positive outcomes, but I'm not sure if it's enough to prevent the same dynamics of the internet from unfolding again.

Until we see significant progress being made in this space to tackle all the underlying problems, “web3” will always remain a marketing buzzword for me.


Thanks for reading!

If you liked this article, feel free to checkout Seeking Within— a weekly newsletter covering a wide range of topics exploring the belief that Most Answers We Seek Lie Within Us.

Want to connect with me? Shoot me a message via Email, LinkedIn, or Twitter!

]]>
[email protected] (Reuben Rapose)
<![CDATA[Why I oppose the TikTok ban. And why you should too! (whether or not you like TikTok)]]> https://reubence.com/articles/why-i-oppose-the-tiktok-ban-and-why-you-should-too-whether-or-not-you-like-tiktok https://reubence.com/articles/why-i-oppose-the-tiktok-ban-and-why-you-should-too-whether-or-not-you-like-tiktok Thu, 23 Jul 2020 00:00:00 GMT

First things first, I've given the app many tries and never really found any content I enjoy watching on it because somehow I always end up in the unholy circle of hell that is mediocre lip syncing and mindless dancing. No matter how much I try to manipulate my feed results by liking relevant videos so that the app can give me similar suggestions according to my taste. I more often than not, landed on content that I didn't enjoy watching. But the times when I did land up on content that I enjoyed, it was really creative and it blew me away (like this guy who dances under water!).

Tell me this isn't impressive!

Another issue that plagues the TikTok community is a growing trend of pedophilia which doesn't seem to be slowing down anytime soon. I'd go as far as to say that the app tries to normalize pedophilia. As well as encouraging young people to focus entirely on their looks and being narcissistic since that is what people are rewarding on TikTok. I definitely don't like that as an example for young children. There's a lot of other reasons too for not liking the app even after finding content that stands out from the mediocre dancing & lip-syncing videos.

But, with all that being said, just because I don't like TikTok do I want to see it fail? Yeah. Period. But do I want to see it banned? No. I'd like TikTok to go the same way MySpace went where it just fizzled out of popularity when something better came along (Not really a fan of Facebook either but admittedly it was the superior service compared to MySpace at the time). That's what I'd like to see happen if TikTok didn't improve itself over time. But unfortunately, it seems, the Governments have stepped in and thrown themselves onto this pile by saying that they would be banning TikTok themselves. Now, I understand why governments across the world are taking actions against TikTok. Some countries like India, have outright banned it over privacy concerns because allegedly TikTok collects personal user data. I understand why governments across the world are even talking about banning the app, but I never really understand when the first solution is to ban it. It's outrageous to live in a society where the most famous app in the world could be banned without giving a thought to any other alternatives. I'm no expert, but I'm sure there are other ways to combat it without outright eliminating it (like forcing TikTok to operate it's data centers locally). I don't want to see what appears to be an innocent app with a lot shady things going on be banned without even considering alternate solutions when so many people's lives revolve around it. For some people, this is their reality. They are full-time TikTok content creaters (Congratulations to them!). This ban will deny millions of creators a platform and eventually a livelihood, which is heartbreaking. Especially during this pandemic when TikTok kept a lot of us engaged and entertained throughout.

To outright ban an entire app seemingly overnight is just a really bad precedent to set because what's to stop that power from being used in other areas. What's to stop the Government from shutting down Twitter, or Instagram. Point being, if you set the precedent to take down the most popular app in the world without considering any other options, that makes it very dangerous going forward for everything else on the internet as it could happen to anything else at any given time. I understand it being a security concern because of all the data harvesting. But honestly, It's 2020, almost every single thing we interact with in the world is harvesting data from us. Every time our greasy little fingertips touch a smartphone, our data is being collected and distributed. TikTok is no different in that regard, with the only difference being that TikTok is Chinese owned and operated. Instead of being a US app collecting data and selling it to China, it's a chinese app directly collecting it themselves. And that seems to be the biggest pressure point for a lot of people.

Privacy is an illusion in 2020. All of our data is being collected whether we want to admit it or not. That's the sad reality of things. VPN's are super important (Please give this a thought if you value your privacy). Everything that we exist in, is collecting data on us whether for targeted advertisements or something else. And again, TikTok is nothing special in that regard. The app is accused of being a very thorough data collection software. Which is why I understand that it's very important to talk about it and figure out a course of action. But I can never support countries (like India) who have outright banned the app. The banning of any app like this should not be celebrated because it is a very dangerous tool to employ and can lead to a lot of other problems going forward. Once you open that pandora's box of banning apps overnight, it is never closing again. When you start to normalize banning and censorship, you are paving the way for a huge mess of problems.

There's a lot of people out there who fool themselves into thinking that the government is going to do this just this one time for this really evil app. And I have to say, that's just a really silly thought. When you give any government that power, they aren't going to give it back. This power is going to become a part of their batman-utility-belt which they can use again, at anytime, which is pretty scary going forward for obvious reasons. We should never celebrate when things get banned or censored as it's a very slippery slope and a very dangerous thing to encourage.

Now of course there are cases where it's warranted for some things to be banned like in the case of TikTok, if all the allegations against it are true. But where do you draw the line? When you are targeting the biggest app in the world, it leaves a lot of gray area if you're just going to ban it, and how do we ensure the decision was fair? Could this be a strategic way to take power from Chinese apps and place it in the hands of Western competitors like Instagram? (Who are already sitting on enough data to be able to influence elections and change perceptions of people unknowingly). And just so, there are many things needed to be considered before celebrating the ban of TikTok. Let's start by having an open conversation, and assessing various alternatives. Thanks for reading!


Thanks for reading!

If you liked this article, feel free to checkout Seeking Within — a weekly newsletter covering a wide range of topics exploring the belief that Most Answers We Seek Lie Within Us.

Want to connect with me? Shoot me a message via Email, LinkedIn, or Twitter!

]]>
[email protected] (Reuben Rapose)