Patterns in Python: The Proxy Design Pattern

Everyone talks about design patterns. But what are these elusive entities?

Today, we’ll be learning more about design patterns, these blueprints, these design best practices that solve common problems in software engineering. If you’ve ever wrestled with a convoluted piece of software, desperately wishing for a little bit of structure, then you’ve probably unknowingly cried out to the design pattern deities in despair.

We’ll delve specifically into the Proxy pattern: a structural design pattern that operates as a surrogate a sort of placeholder, even in some instances a bodyguard that stands between the object we are proxying and the business logic.

Don’t worry if this sounds confusing. We’ll peel back the layers of this concept in the sections to come.

Design patterns help us move from much chaos…
…to less chaos. Dall-E, 2023

Understanding the Proxy Pattern

Picture yourself as a high-profile celebrity, incessantly bombarded by all sorts of characters – some savory, others not so much. There’s no way you can personally sift through this crowd to determine who gets access to you.

So, what’s your solution?

You hire a personal assistant, a surrogate who regulates access to you. This stand-in could be a bodyguard, a secretary, an investment agent, or a mix of all three.

In the realm of programming, the Proxy Pattern is our stand-in. It stands in as a placeholder for another object, controlling access to it. But not only does it act as a substitute for the real object, it also permits us to perform certain actions before or after the real object is referenced.

Think of the Proxy Pattern as our metaphorical bodyguard-cum-personal-assistant. It’s a handy tool for managing complex or heavyweight objects that involve heavy-duty business logic or network-intensive resources.

Instead of loading hefty objects or making multiple network calls every time, we can use the proxy to streamline these operations, executing them only when necessary.

The Proxy Pattern is a jack-of-all-trades, capable of lazy loading, caching, access control, blacklisting, logging, and much more. It’s a versatile design pattern and a darling among developers, particularly when dealing with resource-intensive objects.

Still with me? If not, don’t sweat it. You haven’t seen or written a single line of code yet. `

In fact, feel free to skip right ahead to that section if you wish.

But if you’re up for diving deeper into the technical trenches, there’s still more theory to explore – let’s delve into the various types of proxies.

Types of Proxy Patterns

At this point, we’re familiar with the concept of the proxy pattern and have an inkling of how it operates. Let’s dig a little deeper into the different types of Proxy Patterns. Each type has unique characteristics that makes it particularly effective at solving specific problems. We’ll cover the the Virtual Proxy, Protection Proxy, Remote Proxy, Logging Proxy, and Smart Reference Proxy types.

Virtual Proxy

The virtual proxy is an efficiency-enhancing pattern. Its main function is to control access to resource-heavy objects, ensuring they’re initialized only when absolutely necessary. The resource-intensive object could be stored in a cache or serialized and saved to disc.

Or perhaps we’re only interested in a partial version of an object obtained from an internal API.

Consider a webpage with several high-resolution images. Re-downloading all these images with each visit would bog down the server. A virtual proxy could be set up to download them only when needed.

Protection Proxy

Sometimes referred to as a guardian proxy, the Protection Proxy controls access to an object. It acts as a bouncer at a club, only admitting VIPs and keeping out the undesirables.

Rendering of the protection proxy (Dall-E 2023)

Access control might be user-specific, where only certain users can access your proxied object. Or maybe you want to impose a blocklist, rejecting certain parameters for your object methods.

A Protection Proxy can handle that.

Remote Proxy

The Remote Proxy serves as a local stand-in for an object existing in a separate address space. This proxy acts as a diplomat, a bridge, an interface between two systems located in different spaces.

For example, if you were using some cloud-based services, you could set up a Remote Proxy to manage interactions between your business logic and your remote service.

Logging Proxy

A Logging Proxy generates logs when the proxied object is referenced. Picture a secretary who not only fields all your calls but also logs each one, adding vital information.

When did the call occur? How long was it? Who was on the other end? Were there any events during the call? You get the picture.

Scroll all the way to the bottom for an example of a logging proxy.

Smart Reference Proxy

The Smart Reference Proxy incorporates smart logic that activates when the proxied object is referenced. It’s like an autonomous agent performing actions either before or after your proxied object is referenced.

This pattern is incredibly versatile, as it entails adding logic pre-or post-method reference, a common task in software engineering environments.


And voila! Now we’ve added five different proxy types to our toolbelt and seen some of the software design challenges they can tackle. Up next, we’re diving into the Python side of things. I don’t know about you, but I’m chomping at the bit to get coding.

Let’s dive in!

The Proxy Pattern in Python

Python, as you’re likely aware, is dynamically typed. With its versatile attribute handling and robust class structure, the language excels at prototyping and implementing design patterns. So let’s think of a proxy we can prototype in Python.

Picture this scenario: you are tasked with developing a system that, among other functions, retrieves user data from a server. The hitch is that this process is slow since the target server is halfway across the world. It’s also expensive because the user data is frequently requested, causing these long-running retrieval requests to hog bandwidth.

Here, the Proxy pattern can streamline the process by tapping the server only when necessary.

So, what would that look like in Python? Something like this, possibly:

'''
Sample code explaining the implementation of a Virtual Proxy
'''

class UserData:
    """Fetches user data from the server."""
    def get_user_data(self, user_criteria:dict) -> dict:
        request_params = self._build_request_params(user_criteria)
        user_data = self._make_network_request(request_params)
        return user_data
    
    def _build_request_params(self, user_criteria:dict) -> dict:
        """Builds request params from the user criteria.
        
        This method should be implemented in a subclass.
        """
        # Dummy implementation.
        return {}
    
    def _make_network_request(self, request_params) -> dict:
        """Makes a network request to get user data.
        
        This method should be implemented in a subclass.
        """
        # Dummy implementation.
        return {}


class UserDataProxy:
    """Fetches user data from the cache if possible, otherwise from the server."""

    def __init__(self, user_data: UserData):
        self.user_data = user_data

    def get_user_data(self, user_criteria:dict) -> UserData:
        user_data = self._check_cache_for_user_data(user_criteria)
        
        if user_data:
            return user_data
        else:
            return self.user_data.get_user_data(user_criteria)
        
    def _check_cache_for_user_data(self, user_criteria:dict) -> dict|None:
        """Checks the cache for user data based on the given criteria.
        
        This method should be implemented in a subclass.
        """
        # Dummy implementation.
        return None

In the above example, the UserDataProxy stands in for the UserData object. It trims unnecessary network operations, enhancing our software’s efficiency.

Note that in the strictest implementation of the proxy, you would have an interface from which both the UserData and UserDataProxy classes would subclass.

And there you have it!

That’s the Proxy pattern in Python. Keep in mind, like any tool, the Proxy pattern truly shines when applied in the appropriate situation. Knowing how to use it with Python is a potent skill that will amp up your coding prowess and make your software design more modular, efficient, and adaptable.

An excellent tool, but detrimental if misapplied Dall-E, 2023

Step-By-Step Implementation of the Proxy Pattern in Python

With an abstract understanding of the Proxy pattern under our belts, it’s time to roll up our sleeves for a more systematic, step-by-step implementation. Let’s tackle a real-world scenario that we touched on earlier in this article: lazy loading!

Suppose you’re developing an application that involves loading high-resolution images. These massive images could bog down your application if loaded all at once. That’s where your trusty Virtual Proxy comes in – with some bonus logging functionality to keep track of its performance.

Defining the interface

First we must define the interface, the contract that will define the methods to be implemented by our Proxy and our Proxied class. For this example, we only need to define the display_image interface.

from abc import ABC, abstractmethod


class ImageInterface(ABC):
    
    @abstractmethod
    def display_image(self):
        pass

In the example above, we define an ImageInterface with an abstractmethod called display_image. Any class that will inherit from the ImageInterface will be forced to define an implementation of the display_image method.

Defining the proxied object

Let’s kick this section off by defining the HighResImage class, our proxied object. This class symbolizes the resource-heavy, high-resolution image that takes a toll on your resources to load.

import logging

# Uncomment the next line if you're going to use PIL
# from PIL import Image

logging.basicConfig(level=logging.INFO)

class HighResImage(ImageInterface):
    def __init__(self, filename):
        self.filename = filename
        print(f"Loading image {filename}")
        self.pillow_image = self._load_image(filename)

    def display_image(self):
        """Display the high-resolution image."""
        print(f"Displaying image {self.filename}")
        # Code to display the image would go here. Not implemented in this example.
        # For example, with PIL you could use:
        # self.pillow_image.show()

    def _load_image(self, filename:str): # -> PIL.image.image
        """Load an image from a file."""
        # Uncomment and fill in this method if you're going to use PIL
        # try:
        #     image = Image.open(filename)
        #     return image
        # except IOError:
        #     logging.error(f"Cannot open image {filename}")
        #     return None
        pass

Proxy Definition

Next, let’s turn our attention to the proxy itself, diving into how it executes the lazy loading logic.

import datetime


class ImageProxy(ImageInterface):
    def __init__(self, filename:str):
        self.filename = filename
        self.image = None

    def load_image(self):
        now = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')

        if self.image is None:
            self.image = HighResImage(self.filename)
            print(f'ImageProxy loaded {self.filename} at {now}')
        else:
            print(f'ImageProxy saved one call on {self.filename} at {now}')
    
        print("Image is ready for display")

    def display_image(self):
        self.load_image()
        self.image.display_image()

In this proxy, the ImageProxy maintains a reference to the HighResImage object. However, it only loads the object when the display_image method is called on the ImageProxy. It also has a check in place to make sure the image isn’t already loaded, preventing costly reloads. Lastly, it injects some logging logic for us to glean information about the context of the method reference.

Implementing the ImageProxy in Business Logic

We’ve got our HighResImage and our ImageProxy. Now, we need to employ them in our business logic. Here’s how that might look:

# main.py

proxy_image = ImageProxy('huge_image.jpg')

# The image isn't loaded yet, so you can perform other tasks

proxy_image.display_image()

Now the image is loaded and displayed, but only when needed

This code demonstrates the Proxy pattern in action. Instead of loading the HighResImage immediately when the ProxyImage is created, it postpones initialization until the image needs to be displayed. This approach can conserve a substantial amount of memory and give your application a speed boost when instant image loading isn’t crucial. Moreover, it logs both network call events made by the proxy, and when the proxy saves us a network call. That’s valuable data to have since it allows you to measure your proxy’s efficacy!

To see this in action, run the above code snippet and watch the image loading process get deferred.

And voila! You’ve just implemented the Proxy design pattern in a Python application. Armed with this pattern, you can now craft more efficient and resource-friendly Python applications.

When and Where to Use the Proxy Pattern

Okay, nice! Let’s take a moment to reflect upon our progress. We’ve now learned the ropes and even flexed our skills a little.

But the big question remains: when should we use this pattern?

Dall-E, 2023

The Proxy Pattern really comes into its own when you need to control and manage access to an object. It’s worth considering when:

  1. You need to bolster the security of the underlying real object.
    The Protection Proxy can verify a user’s access level before forwarding a request.
  2. Your objects are resource-hungry, and you want to employ lazy-loading or caching.
  3. You want to execute additional actions when an object is referenced, like reference counting, locking, or loading data from memory.

There’s a good chance you’ve already been using the Proxy pattern without realizing it. For example, it’s very common in networking to add a layer between the client and the server. The concept of a ‘proxy server‘ is an advanced implementation of the proxy pattern.

Additionally, if you’ve used an Object-Relational Mapping tool like sqlalchemy, you’ve likely already benefited from the pattern.

Advantages and Drawbacks of the Proxy Pattern

Design patterns provide us with a blueprint, not a rulebook. Each one entails a trade-off between conferring benefits and introducing challenges. So let’s examine the perks and pitfalls of the Proxy pattern.

Advantages of the Proxy Pattern

The Proxy pattern is a mighty tool when you need to manage or control complex or resource-intensive objects. Some of its perks are:

  • Resource optimization: Handy when interacting with resource-intensive objects.
  • Access control: Useful for handling sensitive data or controlling object access.
  • Separation of concerns: A well-implemented proxy abstracts ancillary logic from the proxied object, enhancing maintainability and ease of use.

Drawbacks of the Proxy Pattern

I’ve harped long and heavy on how useful the proxy pattern is, but I would also like to explicitly call attention to some of its drawbacks. There are no magic bullets in life, and the proxy pattern isn’t a cure-all. A couple of con-leaning considerations around the pattern follow:

  • Added complexity: If it’s uncalled-for, you’re introducing unnecessary complexity.
  • Debugging difficulty: A shoddily implemented proxy might become a black hole that swallows up propagated exceptions, leaving them untraceable.

Weighing the Pros and Cons

As with any design pattern, there are situations where it could be deemed inappropriate or overkill.

For instance, if you’re not dealing with resource-intensive objects or objects that demand access control, you probably don’t need a proxy. Ultimately, it’s about weighing the additional complexity of the Proxy pattern against the value it brings to your specific scenario.

Understanding design patterns is fantastic, but possessing the intuition and judgement about ‘why’, ‘when’, and ‘how’ to implement them truly sets apart skilled programmers.

The key is to think critically whether the Proxy pattern (or any pattern) is the right tool for your job. Remember, patterns are meant to simplify your life. If a pattern doesn’t fit your needs, trying to force it to could do more harm than good.

Keep exploring, keep learning, but remember that design patterns should be your allies, not your overlords!

Conclusion

We’ve come a long way, dear reader, wandering through the labyrinths of design patterns, delving into the depths of proxies, and emerging armed with an arsenal of wisdom and code. Design patterns, these blueprints, are a beacon of order in an often chaotic world of software engineering.

The Proxy pattern, our protagonist for the day, is an excellent solution to managing access and controlling resource consumption, making our software a tad bit more efficient and maintainable.

Yet, like any tool, it bears two edges. It can make your software glow or plunge it into an abyss of complexity when wielded without discernment. The Proxy pattern brings along a host of benefits: resource optimization, access control, separation of concerns, and more.

But these boons come with a price tag: added complexity, potential black holes for exceptions, and unnecessary usage if your software doesn’t call for its unique advantages.

The real trick, then, lies in deploying this tool when the task demands it and shelving it when it’s uncalled for. This judicious application of your knowledge is what will truly elevate you as a programmer. Keep learning, keep investigating, but remember, not all problems call for the same remedy.

Pursue this path of self-enhancement, keep expanding your abilities, and let your insatiable curiosity chart your course. Maintain a well-stocked toolbox, but keep your mind even sharper, for the mind is the most formidable tool you possess.

Happy coding!

PostScript:

For those esteemed connoisseurs of the design pattern world who might want more, I shall share one more implementation of the pattern. Enjoy!

'''
Sample code discussing the implementation of a Logging Proxy
'''

import logging
from abc import ABC, abstractmethod

logging.basicConfig(level=logging.DEBUG)  # Ensures log messages are shown.

class User:
    def __init__(self, id:int, name:str):
        self.id = id
        self.name = name

    def __str__(self) -> str:
        '''Overriding the __str__ methods allows you to enforce a string representation of the object.
        
        The return value of this function will provide the value for str(self).
        '''
        return self.name


class OrganizationInterface(ABC):

    @abstractmethod
    def deduct_balance(self):
        pass


class Organization(OrganizationInterface):
    def __init__(self, name:str, balance:int):
        self.name = name
        self.balance = balance

    def deduct_balance(self, amount:int) -> int:
        self.balance -= amount
        return self.balance
    
    def __str__(self):
        return self.name


class OrganizationLoggingProxy(OrganizationInterface):
    AMOUNT_WARNING_THRESHOLD = 2000

    def __init__(self, org:Organization):
        self.org = org

    def deduct_balance(self, amount:int, user:User) -> int:
        balance = self.org.deduct_balance(amount)

        if amount > self.AMOUNT_WARNING_THRESHOLD:
            logging.warning(f'{user} deducted {amount} from the Organization {self.org}. Remaining balance: {balance}')

        return balance


user = User(1, "John Doe")
organization = Organization("Walmart", 50000)
organization.deduct_balance(3000)

organization_proxy = OrganizationLoggingProxy(organization)
organization_proxy.deduct_balance(3000, user)

print("END")

This too… Shall Pass

concrete road between trees

An ominous wind whistled through my cavernous heart
I wondered – could I transform its beauty into art?
Language abandoned, unshackled, alone, unable to start,
A verbal maester untongued, oh how I did smart.

New world opened, emptier than ever,
Entire planet turned on an Archimedean lever,
Jupiter, Saturn, their fleeting promise together,
Artist, dreamer, soul’s hope slumbered ever deeper.

I feared I grew day by day larger, harnessed by ties unseen
To massive, impersonal, blind dead gods pulling strings.
A dead human, buried, entombed in gilded golden sheen,
A person subtracted, eliminated, abstracted to a mean.

At day’s end, does it matter who I am, however unruly?
Except to you and I, and the Earth we treat so cruelly?
Ours is the world story, its restraints, its bullying glory,
In it we bathe, dimensions tied and fastened to its folly.

Man’s mind is shifting wind, stormblown leaf, night’s fiery firefly.
Who am I? I never know, much as I declaim, much as I decry,
Shifting sands stirred by my very question, they float and fly,
Never can I be still, calm, stagnant like a blue-skeined sky.

So we take heart, because life visits all in measure,
Its madness, all-encompassing size defying seizure,
Even by those driven, they stand up and seize her,
Even by those damned – to the destiny of Caesar.

In the deep darkness, echoing silence of midnight
Where honor is a corpse, long fallen every knight,
Whatever circumstance, however terrible its class,
Remember, dear reader: this too… it shall pass.


Author’s Notes

  • Several sections are inspired by Robert Frost’s poetry. Notable are the physical descriptions in stanza #4, although I admit Mr. Frost’s far surpass mine in depth, detail, and beauty.
  • I wrote this poem across two seasons: fall and winter.
    I originally wished to write a poem that started out pessimistic but developed a lighter tone as it progressed. While I did complete the poem in winter, my mental state at the time was such that my creation felt absolutely worthless, and all my editing attempts failed.
    I nearly gave up on it multiple times but decided to take my own advice: “remember, dear reader: this too… it shall pass”.
  • I began this poem in October 2021. My life has changed in leaps and bounds since: symbolic birth and death were constant companions. Looking back at this poem, I feel more connected to my past self: regardless of the vicissitudes, I am still me.
    Whatever that means.
  • “This too shall pass” is a phrase that will uplift you in bad times and depress you in good times. It is an exhortation to humility, to hope, to the fact that the present is ever evolving. However good or bad things are: this too shall pass.

Twin Flames in Darkness

Message to my muse: I will never forget you.

When I saw you first, clothed, masked in persona,
Twitch through mind, in my body a silent roar,
Wicked glint in my eye, face of some fauna.
Primal instincts screamed: reach out, take her.

Journeying hand in hand, mind, body, soul intertwine
Translate to modern parlance: girl thy being be fine.
Tie you hand, foot, heart; myself being the twine,
Pour you out and partake as a glass of fine wine.

Twin flames in darkness, holding bay the night,
Singular thoughts two-pronged; dual wings in flight,
Bodies in rhythm, manifesting an effulgent light:
We are jagged jigsaw pieces; together made right.

Soon we will be alone.

Dear dearest, you are apple of my core,
Ally, friend, confidant, I could ask no more,
A partner like you, who would have me grow?
And a cutie and a half, a little one though.

Under the stars we did once sit.
Though long nights we did not meet,
And a dozen friends we did not greet;
Yet here we are, here we breathe.

Distant bass beats of a farewell drum,
But still…. why look so glum?
Take life’s strand in hand and strum,
For another verse is ever to come.

And when the song and dance is over,
Will we worry about how we played the over?
Wish we ran the race a little slower?
Peeked a couple times over our shoulder?
Here be Ignorance… ‘tis our four-leaf clover.


Epilogue

Footloose, wanderer, peripatetic gypsy man,
Forever walking, where willst make thy stand?
Stretching forever, yet infinitely short it is,
What comes next?
Life is such a tease.

Hierarchy and Hubris: The European Super League Fiasco

With an estimated population of 3.5 billion worldwide, soccer fans are a horde to reckon with. Our topic today involves a situation that reverberated through this massive population and its associated institutions. 

The storm began on Sunday, 18th April, with an announcement that sprung dramatically out of nothingness. 

Some of the largest clubs in Europe planned to form their own cross-continental league. 

This league, the European Super League, would have 15 slots reserved for big-name clubs and 5 remnant slots that other clubs would compete over. It’s strongest proponent was (and still is) Florentino Perez, president of the Real Madrid Football, who stepped up as the chairman of the nascent Super League. 

The idea sparked uproar from football associations, politicians, managers, national governments, former and current players, and, last but not least, a significant percentage of the 3.5 billion-strong multitude we mentioned earlier. 

At the grassroots, long-time fans fuelled outrage. These fans felt betrayed by the same clubs they had followed and supported from childhood, for reasons we will mention in a minute.

At the organisational level, FIFA and UEFA (the global and European football associations, respectively) released statements condemning the idea. Both associations asserted they would ban players and teams that participated in the ESL from all other matches under their purview. 

The brunt of the criticism was directed at the league’s anti-competitive practices. Notably, the decision to reserve 15 spots for big-ticket clubs was met with a level of repugnance that would seem disproportionate to those unaware of the deep passions that run through the football world. 

For context, almost every other football association promotes a putative meritocracy. No slots are reserved for any teams, and even the smallest minnow harbors the hope that they could make it to the top on the strength of their performance and become one of the ‘big fish’.

Fans also opposed the manner in which the announcements were made. Players and managers were not consulted beforehand, with the decision coming directly from owners. 

We shall discuss the owners’ rationale for the ESL in a minute, but for now let us simply note that the decision appeared elitist, heavy-handed, and unreasonable. 

Background

Discussions pertaining to forming a continental Super League go as far back as 1998. 

In 2021, these discussions gained further momentum, powered by various impacts of one of the most significant worldwide events since World War 2: the (ongoing) coronavirus pandemic.

Historically, a large chunk of club revenue comes from matchday revenue, which includes revenue from matchday tickets’ and season tickets’ sales. 

For elite clubs, commercial and broadcast revenue outstrip matchday revenue. As the CoVid pandemic bit deep into the economy, matchday revenues fell and many clubs faced (and continue to face) financial struggles – if not outright disaster. 

It is against this background that elite club owners decided a new competition was required to ‘save the game’. 

Founding clubs of this new competition were promised as much as €10 billion over the course of their initial commitment period. 

Without dipping too much into the details of the revenue breakdown, we can confirm that founding clubs would take home a larger proportion of league revenue than they currently do as part of the UEFA or as part of their home country’s football association.

The mind-boggling sums of money being discussed (in excess of €120 billion) were sourced from the coffers of renowned financial institution JP Morgan. 

For comparison, the annual GDP of Kenya is ~ €83 billion. The €120 billion associated with the European Super League is almost 50% higher than the aforementioned GDP.

Aftermath

In less than 72 hours, the league that would ‘change the game forever’ was no more. 

Within two days, fans (specifically British fans) showed up physically at key club properties to make their feelings known. Chelsea supporters besieged Stamford bridge, the club’s iconic football stadium. 

Cadiz supporters showed up in thousands outside a hotel where Real Madrid players were staying. 

The social media outrage did not die down. 

By Tuesday night, all six British ‘founder’ clubs made U-turns and announced their departure from the league. Chelsea was first to capitulate to the angry hordes, and the other Premier League clubs quickly followed suit. 

The worst losers from the entire debacle turned out to be the clubs. 

Their credibility shot, fan protests against the ESL have now spilled over into wider protests against foreign ownership. According to leaked documents, these clubs face up to €130 million in fines for withdrawing from the ESL. UEFA is reportedly considering sanctions against the offending clubs. The British government announced a football governance review, which will partly focus on the possibility of introducing new ownership models to reduce external investors’ outsized influence.

It is ironic that Florentino Perez wasn’t entirely wrong: the English Super League has changed the game permanently. 

The twin forces of socialist reform in English football and the economic impact of the coronavirus pandemic are two powerful trends that are setting the stage for a dynamicity that football has not seen in a long time.

What does the future hold for the beautiful game? 

Only time will tell. 

Author’s Notes

  • An edited version of this article will be published in The Consulate, May edition. Visit The Consulate website for more information.
  • Special thanks to Anmol Garg. A die-hard football fan, his input was invaluable to the creation of this article. You can connect with him on his Instagram.

Bitcoin: The Future of Decentralized Finance?

**Note**
This article was originally written for and published in the first edition of The Consulate, an up and coming magazine focusing on the analysis of macro-scale international occurrences.
The magazine is the brainchild of a fellow USIU-A alumni.
Click here to visit their webpage.
**End Note**

Decentralized Finance (commonly known as DeFi) is a hot trend, fuelled by the skyrocketing growth of cryptocurrency such as Bitcoin and Ethereum. 

DeFi encompasses several technologies that have one main commonality – they do not give one central entity the power to control transactions. 

For contrast, think of transactions made using platforms like Visa or PayPal. Such transactions have that specific company acting as an authority, middleman, and gatekeeper for each transaction. When you send someone money over PayPal, the company guarantees that you have sent the money and that the other person will receive it. 

In return, you lose some percentage of your transaction in the form of transaction fees. 

Zooming into Bitcoin, this cryptocurrency is a decentralised digital currency – it avoids centralised administrators or banks. Payments in Bitcoin happen peer-to-peer (from one individual directly to another) and do not require any intermediaries. 

Centralised currencies usually work in conjunction with a bank or other financial institution to provide a central point of control over the currency. With Bitcoin, decisions regarding money supply are agreed upon democratically. 

Transactions performed using Bitcoin are verified cryptographically by nodes on the network. These transactions are stored in a ledger that is available to all nodes on the network. This ledger, which is public and distributed, is what is known as the blockchain. 

Moving on to our next point of focus, let’s look at some macroeconomic trends of the year 2021, specifically concentrating on Bitcoin-related movements.

The 2020-2021 period has been a turbulent one for the economy. Experts have claimed (several times) that we are in an asset bubble, with both US stock prices* and crypto prices soaring beyond belief or understanding. What’s even more interesting is that we can’t see any end in sight, with governments pumping billions (or trillions) into the economy via stimulus packages.

In the US, retail traders are making themselves known as a force to reckon with. Excess liquidity due to a pandemic-related drop in consumption and government-sponsored stimulus checks allowed retail traders to make waves in the stock market, notably with the attempted stock squeeze on Gamestop and AMC (which, according to users on the Reddit forum r/wallstreetbets, might still not be over). 

Citadel securities estimate that retail trades made up over 20% of all trades in 2020, double the 2019 volume. While we do not have exact numbers for 2021, it is not unreasonable to assume that increased social media-driven interest in retail trading has driven that number up to at least 25%.

We are, as cliche as the word has become, in unprecedented macroeconomic waters. 

To hammer home this point, let’s look at the performance of BitCoin through 2021. 

In the first three months of 2021, bitcoin’s value jumped 70%. Its closest physical comparable, gold shed approximately 5% in the same timeframe. In comparison, the three main stock indices in the US (Dow Jones, S&P, Nasdaq) are all up between 4% and 5%**.

It is clear that Bitcoin, in the first 3 months of 2021, outperformed every traditional investment. 

I will not decompose the performances of all the different cryptocurrencies in this article due to time and space constraints, but I will point out that:

  • The broader crypto market has also seen massive gains, well in advance of 25% for many cryptocurrencies.
  • No major cryptocurrency has matched the massive growth exhibited by Bitcoin.

Returning to the topic at hand, we have to ask ourselves: why has Bitcoin’s value jumped so high? 

Speculation has fuelled growth to some extent, and another factor we should consider is the rise in institutional interest in and uptake of the cryptocurrency. Just this year, we have seen the following institutional moves related to Bitcoin:

  • Grayscale added over $2 billion worth of BTC to their holdings
  • Tesla bought $1.5 billion worth of BTC
  • The City of Miami announced the addition of BTC to their balance sheet
  • PayPal announced they would allow payments in BTC in 2021
  • Coinbase announces a proposed public listing, opening up billions of dollars in institutional investment to BTC and crypto in general. 

Our list is by no means comprehensive, but clearly puts across a salient point: Bitcoin’s powerful first-mover advantage and increased institutional inflows make it clear the cryptocurrency is here to stay. 

Footnotes

* focus is placed on the US stock market due to its disproportionate impact on world markets
** as of time of writing (08/03/2021)

Notes from the author

  • While it is my honest belief that cryptocurrency is an excellent investment vehicle, I strongly clarify that this is not investment advice. Cryptocurrency markets are amongst the most volatile in the world, so do your research before investing.
  • Once again, this is not investment advice.
  • To the moon and beyond, fellow HODLERS.

Oh, Selene

He let out a wince of pain, his aching joints reminding him of the follies of the previous night. His fingers brushed over the scars, and his breath hitched. It had been years, but her absence still hit him like a body blow. 

It was times like now, when sentiment snuck up on him, that were the worst. The physical scars were very obvious, but nothing could compare to the gouges she left on his heart. 

His foot struck a bottle as he made his way painfully to the balcony, staring blindly at the beautiful savannah landscape. His mind was elsewhere as he leaned over the dizzying drop, thinking maybe, maybe, this would be the time. 

As always, he withdrew.

‘Too scared to live, and too scared to die,’ he exclaimed, laughing wildly as he clutched his hair. Oh Lord, what was wrong with him. This was not how normal people lived, was it?

His mind reeled, and he was dragged along helplessly by the torrential force of his traumatic past. 

***

They were arrayed loosely around the table, their conversation breaking and shifting like an eddying stream. All of them were well to do, the cream of the crop. Each had traveled separately from their home countries. 

In this strange land, they gained succor from each other’s company. 

He enjoyed being with them all, but tonight, he had eyes only for Selene. A girlfriend’s girlfriend, she looked succulent and sparkling in her white dress. 

She blushed, even though she wasn’t looking at him, and he grinned wolfishly. She was his, and she knew it. He grinned again, realizing she might be very well thinking the same. 

He rose during a lull in the conversation. 

His foot struck a bottle as he lithely made his way to the balcony, staring wide-eyed at the beautiful urban landscape. His mind was crystal-clear as he leaned over the dizzying drop, thinking maybe, maybe one day it would all be his. 

A scuffing sound alerted him to her presence.

She walked over to him, and he shifted to allow her into his personal space. She fit herself in snugly, then turned to him expectantly. He laughed as he looked at her, falling a little more in love as he took in her sparkling eyes, her slightly parted lips, her figure-hugging dress. Her eyes sparkled stronger as she smiled, looking up at him through her lashes. 

“Shall we?”, he asked through the broad grin on his face. 

She linked her arms with his in answer, and as he walked, he turned inwards.

He couldn’t remember the last time he was this happy.

***

The couple strolled out of the club, alcohol adding zest to their gaits and giggles to their conversation. 

He was drunker than planned, carried along by her spontaneity. 

“We’re having Jagerbombs!”, she squealed, and the next thing he knew, he was drinking the digestif neat, herbs and spices mingling on his palate to create the smoky sweet flavor unique to the drink. 

Now he regretted the extra alcohol, especially as he’d driven to the club. He didn’t look forward to returning,  tired and hungover, for his car. He pulled out his phone to call up an Uber, but she was already waiting for him by his car. 

Pride, that ancient tormentor of mankind, rose like a sharp-fanged serpent in his breast, and he put his phone away. 

***

Interlude: 

Engine roaring, wheels rumbling on the tarmac, music blaring from the car radio, wind whipping through their hair. They’re looking up, laughing, full of life and love and hope. 

An ancient drama plays out in the darkness of the Spanish countryside; a drama as cliche and unoriginal as it ever is, yet as unique and vivacious as it always is. 

Both harbor the desire for something more. Beneath the camaraderie and banter, both feel the ache in the other’s breast. 

Both know it’s not enough; both want more.

But for tonight? 

This will do. 

End of interlude.

***

It was dark, so dark, and he flailed, his mind reeling from all the stimuli. Discombobulated, he looked around him and noticed… an ambulance? 

Dread speared his heart with poisonous fingers. 

He couldn’t breathe.

 A pressure built up inside of him, and he felt he would burst. 

Something imperceptible popped, and memories whirled in through the crack in his subconscious shield. 

***

He was content, peaceful, and slightly drowsy. 

She was looking up at the stars, pointing out mythological figures striding across the firmament. 

He was half-listening, but on hearing the swell of excitement as she pointed out yet another one, he looked up. 

“That one?”, he queried, pointing up at the twinkling dot that went by the name Sirius. 

Something jerked his attention away from the star. 

Time slowed down, sickeningly syrupy before his eyes. 

Alarm bells blared in his mind, and he was reacting before he knew what he was reacting to. His hands on the steering wheel spun hard as he watched, disembodied, as if they belonged to someone other.

In the same slow motion, her focus shifted from the sky to him, sensitive to the alteration in his attention. Her mouth opened, her eyes flicked to where his faced, and she aborted her own question with a rising scream. 

The massive headlights were barreling closer and closer. In his disjointed mental state, he saw large, demonic eyes, heralding the approach of a monster that would inevitably consume him.

A massive horn bellowed once, twice, thrice, and he knew, he knew he could not escape this demon. He looked at her, disappointed in himself at the terror in her eyes, and mouthed the words ‘I love you’. 

Then, impact.

Motion. Violent, jerking, snapping motion that lasted forever before stopping abruptly.

The world spun in front of his eyes, and he closed them before vomiting out of the open window. His vomit fell past his head, and he realised he was upside down. 

He cataloged his bodily functions, relieved that everything appeared fine. The effects of the alcohol long forgotten, he replayed the events of the last three minutes, swiftly exculpating himself in an impromptu mental courtroom. 

The truck driver was driving on the wrong side, weaving erratically. He was drunk, which would complicate things, but he was sure the other guy was drunker. The car might have to be written off, but insurance would take care of that. 

Relief flooded through him. It was going to be alright.

He turned to his right, his eyes meeting her sightless ones. 

Something broke in his soul.

Everything went dark. 

Author’s Notes

  • This story is inspired by ‘Tender is the Night’ by F. Scott Fitzgerald. Some elements I borrow from the novel are:
    • An attractive, charming, and ultimately tragic protagonist
    • The use of flashback and in media res to create a nonlinear narrative
    • The descriptions of social interactions, although I do not claim to match Mr. Fitzgerald’s ability in this regard. 
    • An attractive female character who (arguably) leads the protagonist to his doom
  • To the Lady B, it had to happen. I’m still open to another collab. Hmu.
  • Last but not least, don’t drink and drive, people!

A Storm

Note: I recently came across this poem that I wrote in late 2016 or early 2017. Comparing it to my newer poems, I can’t help but notice how much my work has improved. This reads more like spoken word than poetry. Hopefully, you’ll still enjoy its innate message.

I have left it unedited, because it is a snapshot into a younger, less developed me. A version of me who was much less in touch with my emotions and values.

Enjoy!


She was a storm.

She was a tempest, her every word and deed lashing against me with all the power of an angry sea.
She was nature herself, the unbridled expression of every feminine divinity unleashed.
And she was in before I knew it.

Without any warning.

My walls crumbled before her onslaught, for no wall can stand against the wrath of a divinity.
My defenses shattered and I lay there, weak and helpless and in the grip of a horrifying and all-encompassing terror.
Every wall, every fence, every thought that I had wreathed myself in was thrust aside in an instant.
She thought she broke in front of me but, unknowingly, she broke me.

What was this? Me, vulnerable?
My vulnerability shocked me – so long had I been cocooned in the shell of my own numbness.
And then I realized.
She was light.

She was ambrosia in a world of bland bread. She was color in a greyscale world. She was a mountain in a featureless world.

And as she smote me into a thousand pieces, she gave me a gift.
One that I did not comprehend at first. One that scared me at first. One that broke me again.
She gifted me… feeling.

She gifted me pain and madness and imperfection. She gifted me excruciating pleasure and beautiful pain.
In a binary world composed of logic, she was a paradox.
For she was femininity made flesh.
Back and forth we fought, but neither could win.

It was madness. It was insanity. It was…

Beautiful.

Valedictory Speech – USIU-Africa Class of 2019

Introduction

Note: Introduction below by Amb. Professor Ruthie Rono

“Our valedictorian this year is Joshi Advait Rakshit. He is a graduate of Bachelor of Science in Applied Computer Technology with a GPA of 3.924 out of 4.0 Welcome. Let’s welcome him to make his speech on behalf of all the graduates. Welcome, Joshi.”

Speech

First of all, thank you for that amazing welcome. You guys are all amazing.

So, two weeks ago, I got an email and I found out that I was the valedictorian of the Class of 2019, and that I had to give a speech today. So I sat down and asked myself if: if I had the chance to say something to more than 5000 people, what would I say? Think about it. It’s a serious question. What would you say if you had one chance?

Right. So, today you’ll hear my answer.

Number one: work really hard. Work as hard as you can, every hour, every day of your life, work as hard as possible. Because you don’t change the world working eight hours a day, five days a week. So work as hard as you can.

Second, don’t follow trends. Be yourself. Trust yourself to make the right decision for you. Don’t follow the crowd. Don’t go against the crowd. Let the crowd do its thing. You do your thing. Right.

Number three: Take risks. A lot of you graduates are pretty young right now. You’re not tied down; you’re uncommitted; you don’t have many responsibilities. You’re only taking care of yourself. So you’ll never have a better time to take risks. In 10 years you’re going to be tied down much more than you are right now. So take risks now. There may not be any other time.

On a more personal level, take risks again. To paraphrase Marcus Aurelius: “Do not act as if you’re going to live 10,000 years. Death hangs above you. While it’s in your power, while you can do it, do what you love to do, what you think is right.”

This right here – you seated here – this is it. This is your life. Take it in your hands, do whatever you want to do.

Don’t think twice. Just do what you have to do.

There are no second chances. So do something new, do something scary, do something that excites you. Get out of your comfort zone.

Define your own normal.

People are going to call you odd. People are going to call you weird. Some people are going to call you crazy. But those parts of you, those parts of you that are odd and weird and crazy, that’s what makes you, you.

So don’t trade your authenticity for other people’s approval. Once again: be yourself.

(Applause)

Yeah, thank you.

Most people live in the bubble of their day-to-day lives, right, without realizing how much more the world contains. In a world of 7 billion perspectives, how sure you that yours is correct?

Be open to learning new things. Approach things with an open mind. Be intellectually humble. Always be open to the possibility that, you know, you may be wrong.

So, moving on, what’s your comfort zone? If you interact with the same people every day, that’s your comfort zone. If you visit the same places every day, that’s your comfort zone. If you’re doing the same things every day, that’s your comfort zone.

So, how do you get out of your comfort zone? Well, it’s pretty simple. Just three things. Number one: meet new people. Number two: visit new places. Number three: do new things.

If there’s one thing I’d like you guys to take away from this, from my speech, it’s these three things. Just try new things, explore who you are.

Number Four, and I personally think that this is the most important point. Have empathy. Everyone thinks that they’re the main character in their own movie.

You know, we’re all looking outwards and we – we only see our lives. We don’t see the struggles that many others are going through.

So it’s not true. We aren’t the main characters of our own movie. We are all supporting actors. We are all the cast.

If you look around you, every single person who is in attendance today, right, all of you five thousand, seven thousand, however many you are; all of you have your own lives. All of you have your own fights. All of you have your own struggles.

Every person has a story and it’s just as deep and involving as your own. So, when you interact with different people, at the end of the day, you realize that most people are just as human as you are. No more, and no less. We’re all fighting our own battles, so be kind to others.

Finally, in this 50th year of USIU-Africa, I’d like to make a toast to all of us. So, I’m going to raise my imaginary wine glass, right? And i’m going to give this famous toast:

“Here’s to the crazy ones. The misfits, the rebels, the troublemakers, the round pegs in the square holes, the ones who see things differently. They’re not fond of rules. You can quote them, disagree with them, glorify, or vilify them, but the only thing you can’t do is ignore them…”

(Cheers and Applause)
Hold on, hold on I’m not done. Sorry guys.

“…so, you can’t ignore them because they change things! They push the human race forward. And while some may see them as the crazy ones, we see genius. Because the ones who are crazy enough to think that they can change the world, they’re the ones who change the world.”

We – we graduands – we are part of the most connected, most informed generation in human history. We are the magicians of the 21st century. So, guys, let’s go out there, let’s make some magic.

Peace.

Once I was a Man; A Refugee’s Tale

A poem by Advait Joshi

Beloved, brood of my blood; my arms were your shields,
I lived for you, tho’ these words I would never speak.
My heart beat for you, week after week after week,
Sweat from my brow; yours; all my muscles’ yields.
My furrowed face ever lined, gruffness ever stretched a mile;
But by your cool hands was always born a smile;
Once I was a man, oak-strong in these fluttering fields. 

Meteoric rain, taut-skinned demons covered in mud, 
My books, your pictures, all turned to ashes;
While bedeviled madmen lit ever more matches.
But all is never lost; o beloved, o brood of my blood.
Walking forever, a single light at the end of our tunnel,
Past desert and ocean, ‘twould be worth the struggle.
Once I was a man; with hope and fear aflood. 

Spiked club crashed down, my knee cratered.
Again it rose, my beautiful child’s face shattered
You wept cursed screamed; had it ever mattered?
You railed and railed, our child’s corpse blood-spattered,
Unbidden, involuntary, my hands reached for your neck.
Gasping and choking, purple bruises on your flesh.
Once I was a man; dry-faced and battered.

Leaking and torn dinghy, my heart full of dread;
Gigantic wave smashed down, my rage knew no bounds. 
I saw them go under, o beloved, I saw you drown, 
Once I was a man; now I am dead. 

The Rise of the Connected Human Organism

How brain-computer interfaces will change the human story forever.

Predicting the future is never an exact science.

Scale is the main problem we face when we try to do so.

The human brain is the most complex mechanism in the known universe. How can we ever hope to map the interactions between seven billion brains and the various physical and biological phenomena present on the Earth?

The future is emergent. It is not a distinct state of affairs divorced from the realities of today but rather a state that is currently coming into being: a script that the present is continuously creating. Without fully knowing the present, we can never predict the future.

Talk about tricky tasks.

We can, however, predict the future based on prior probabilities and trends. People usually live for 70+ years, so a 21-year old assumes that he has approximately another 50 years. The sun has risen every day for the past six billion or so years; it is likely to rise again tomorrow.

In this morass of shifting possibilities, I see one that excites and scares me in equal measure: the connection of the human brain to the datasphere (what we call the Internet today).

Such a shift will alter our lives spectacularly, leading to a chain reaction that culminates with our subject today: the rise of the connected human organism.

Let’s start with the first piece of context required to understand this particular possible future:

Situational Abstraction: The Problem with Language

Seven billion plus humans walk the Earth holding tiny universes inside our heads, connected by shared experiences.

Few amongst us lack the archaic shared understanding that light is ‘good’ and darkness, representing the night, is ‘bad.’ We have all experienced adrenaline kicking in, we share common (if not completely similar) sexual experiences, most of us know what a full (or empty) stomach feels like, and everybody sleeps.

Of course, we were all born and are moving constantly and inevitably towards our individual deaths.

Today, most of our conscious communication is linguistic, built upon an extensive conceptual framework. We talk, write, text, and type, all the while not even realizing the existence (let alone limitations) of the linguistic structures we use.

Think about it.

The entirety of our language is built around our worldview: a society of the colorblind would likely have no words for red, green, or yellow. Different societies view time differently: Asian cultures see time as cyclical compared to the linear European view of time.

These differences in worldview translate directly onto language (Sanskrit and Hindi use the same word for tomorrow and yesterday, with modifiers to differentiate between the past and future).

I call this abstraction of information to the environment and to our shared worldview ‘situational abstraction’.

Situational abstraction is what determines whether the woman in short shorts is either a slut or an empowered feminist; whether the teen wearing a leather jacket is a biker or a Hollywood actor; whether the man in robes sitting on the donkey robes is either insane or Jesus Christ himself.

“Don’t judge a book by its cover.”

But what other choice do we have, in the isolated, disconnected worlds inside our heads? We cannot see into anyone’s head, meaning that we can only judge from appearances.

Is there no other option?

The problem with ‘situational abstraction’ is imprecision; an imprecision that worms its way into our language and causes many of our ills today. How many times do we experience miscommunicate straightforward concepts?

More often than you’d think, I bet.

It turns out that humans, while being shockingly similar, are also surprisingly unique. Language (shared concepts and rules woven into verbal form) simply cannot transcend these differences, creating enormous inefficiencies in our communication.

Language, unfortunately, can only communicate concepts that we have already experienced or concepts that we are familiar enough with to conceptualize. I could sit down and explain to you all day what a dog is, but if you have never seen an animal, you will have great trouble understanding me.

Alternatively, I could introduce you to my dog and give you five minutes with it, allowing you to build a conceptualization of the dog linked to the word ‘dog.’ Language consists of a ‘signifier’ (the word ‘dog’) and a ‘signified’ (the concept ‘dog’), and the two have very little in common, except in our minds, as Hjelmslev posited about a century ago.

Communicating tangible concepts is hard enough, but communicating intangible, abstract ideas, becomes close to impossible. How can you ever know whether your ‘love’ for your spouse is any different from someone’s ‘love’ for their dog?

How can you ever know that anyone else is truly alive on the inside and not just an unconscious, lifeless robot who simply responds to external events using prewritten scripts?

Our lack of understanding of others’ inner experience isn’t just an abstract issue — it creates major real-world problems.

How often do men dismiss women as ‘irrational creatures’ without understanding their situational context: their lifelong experience of being the literally physically weaker sex and a propensity to feel and express more and stronger negative emotions?

(Fun exercise for men: imagine living in a society where around half the population is approximately twice as strong as you. Would you be more or less easily scared? Would you be more or less direct in your communication? Would certain behaviors seem much more threatening to you than it does now?)

How often do women say ‘men are dogs’ without understanding the strength and power of the male sexual urge?

Think about situations where you annoy somebody versus situations where somebody annoys you. The former seems (to you) a misunderstanding; if you even realize you annoyed the other person. You probably didn’t mean to hurt them.

The latter, on the other hand, makes you annoyed or even angry. Behind all anger is a ‘perceived provocation, hurt or threat’. You feel as if the other person is provoking, hurting, or threatening you, and the accuracy of your perception stops mattering to you.

Why should there be such a massive difference between the two situations?

It’s very easy to assume that others’ actions are about you, but here’s the harsh truth: they very rarely are.

This belief comes from a form of solipsism — you only experience your own experience of the world, so why should anybody’s experience of the world be any different from yours?

(The same concept applies to most organized religion: the world exists for my salvation. As Nietzsche pointed out so succintly “The ‘salvation of the soul’ — in plain language: ‘the world revolves around me’.)

If you knew, absolutely and undoubtedly and obviously, that everyone had an inner life as rich and deep as yours, would you act the same way towards others?

If you realized that the beggar on the road has an inner life similar to yours, with memories and hopes and fears and feelings just like you, would you be so quick to keep walking?

If Israelis and Palestinians realized just how similar they were; if Republicans and Democrats could share the rich inner tapestry of their individual lives; if Indians and Pakistanis were able to see their inner lives in exacting detail:

Would the world be any different today?

Can We Ever Understand?

Is it possible for us ever to realize the true depth of others’ inner lives?

Almost every major philosopher and psychologist in history speaks of a transpersonal state of consciousness consisting of one major feature; being one with the world and all its inhabitants. Let’s look at some ‘intellectual giants’ who have espoused a belief in or who have documented some form of spiritual or transpersonal experiences:

Plato. Aristotle. Socrates. Plotinus. Adi Shankara (coincidentally, my name originates from his philosophy: Advaita Vedanta, literally translated as ‘not-two’). Raman Maharshi. Sri Aurobindo. Gautama Buddha. Ralph Waldo Emerson. Saint Teresa of Avila. Abraham Maslow. Clare Graves. Beck and Cowan. Carl Jung. Eckhart Tolle. Henry Thoreau. Fyodor Dostoyevsky. Hegel. Habermas. Schopenhauer. Joseph Campbell. Ken Wilbur. Huang Po. Victor Frankl.

Quite a list, isn’t it?

Psychedelics and deep meditation states make it possible for us to experience ‘ego death’ and other ‘altered states of consciousness’ (other means that engender such states are dancing, chanting, hypnosis, etc.)

Psychedelics can cause ‘altered states of consciousness’

Do you disagree?

Take 400µg of LSD, and then we’ll talk.

The Connected Human Organism

What do language, psychedelics, and Buddha have to do with the future of humanity? Where does Cyber Sapiens step into the narrative I am weaving?

Let’s face it: a large portion of humanity is incapable (or unwilling) to spend large amounts of energy on meditation, mindfulness, and other paths to transpersonal states of being. Luckily, we don’t need them — we’ve got a more intentional tool.

We have technology.

Today, you can communicate instantly with anyone in almost any part of the globe. You can capture the light bouncing off your face, encode it digitally, and send this encoding over thousands of kilometers through glass fibers slightly thicker than a human hair.

You probably don’t realize how amazing today’s technology is.

You use a smartphone. Communication — the transmission of information — now requires you to stick your hand into your pocket, pull out your phone, unlock it, pull up an app, and voila! As long as you meet a few prerequisites (Internet connection, battery levels, etc.), you can now communicate with any human who has contributed to the Internet, dead or alive.

The Internet folds space and time (at least the past) into a datasphere. Your temporal location doesn’t matter: you can access information contributed hundreds of years ago. Your physical location doesn’t matter: you could be on the Moon, and you would be able to read this (on a very slow connection, but my point still stands.)

“If I have seen further it is by standing on the sholders [sic] of giants.”

— Isaac Newton, 1675.

If Isaac Newton stood on the shoulders of giants, in a time when informational exchange was so greatly limited, what about us, today?

We have seen that almost every major human innovation has facilitated either physical mobility or information exchange among Homo Sapiens. Since the establishment of cyberspace, we have dedicated much of our considerable intellectual ability to make it easier to access the Internet.

Today, cyberspace wars with physical space for our time, energy, and attention. In some parts of the world, people use cyberspace to interact, date, hook up, order food, shop, read, watch movies, commute, and so much more.

The Internet changed the world and will continue changing it for the foreseeable future.

Smart devices are getting easier and easier to use.

Computers limited access to cyberspace to fixed points. Laptops allowed you to access this new world from anywhere. Blackberries brought push notifications to (mostly) businesspersons. Apple brought the smartphone to the masses of the United States of America. Google, with Android, brought smartphones to the masses of the world.

Somewhere during these paradigm shifts, Amazon said ‘let there be Alexa!’

All of a sudden, you didn’t have to type out questions and read answers — you could ask for information or issue commands verbally. Virtual assistants existed before Alexa, but Amazon made them mainstream.

What comes next?

A brain-computer interface.

Today, we walk around with two cognitive processors: one in our heads and one in our pockets.

You no longer need to remember anything, perform mental mathematical calculations, or rely on spoken language for communication. Smartphones allow us to offload cognitive and communicative tasks to the silicon in our smartphones, ostensibly so we can focus on living our lives.

People say that smartphones make us less human.

‘So what?’ I respond.

Every technological breakthrough for the last 2000 years has made us less ‘human’ (compared to life before said breakthrough). Every major technological step has changed us in fundamental ways. Those who make this argument are actually saying ‘x will make us different from what we are now’, where can be any technological milestone e.g. language, fire, electricity, television, smartphones, etc.

That’s not to say that smartphones don’t cause problems.

They do, and we need to figure out how to solve these problems. We need to figure out how we can live fulfilling lives because of these devices and not despite them. We need to figure out exactly what part of ‘being human’ they take away and decide whether we are okay with losing that part.

But these problems don’t change the fact that smartphones are the next step in the story of mankind: one of the first steps in the age of the connected human organism.

Back to our question: what comes next?

The Brain Computer-Interface

Silicon (or another computing variant) will inevitably make its way into our brains. Processing devices are getting smaller and smaller, and eventually, they will become small enough to fit inside (or on) our bodies.

Why carry a bulky smartphone when you could have a chip in your head? Or hand?

External computing power will have to go internal if we want to avoid replacement or displacement by Artificial Intelligence, which, by all accounts, will have cognitive and communicative capabilities far beyond ours.

The average global Internet speed is 9.1Mbps. Considering that a character in C (a popular programming language) is one byte, and roughly estimating a word to contain six characters, a computer can transmit 1.5 million words per second.

5G networks operate at a minimum peak download speed of 20Gbps. 6G might double or triple these speeds.

You do the math.

How much information (in words) can you transmit in a second? Compare that to computers’ communication speeds, and you begin to see just how outclassed we might be.

“To avoid becoming like monkeys, humans must merge with machines.”

— Elon Musk, 2018.

Think, for a second, about what it would mean to connect our brains to the Internet.

What would it do to our day-to-day existence?

Imagine a world where you can communicate not only your emotions and thoughts but also their depth and profundity.

Words are a flat, two-dimensional representation of what is inside our heads — imagine a world where our true depth shone freely and obviously to all. Imagine being able to communicate concepts without moving a muscle: everything would be done from inside your head (or offloaded to the cloud).

Imagine the entire world of human information not at your fingerprints, but inside your head. Imagine telepathy and telekinesis becoming commonplace. Imagine switching on your lightbulbs with a thought. Sending a message to your friend across the Atlantic without having to lift a finger.

Imagine downloading a book to your brain and having it seep into your unconscious as you go about your day. Imagine contributing your biological processing power to a distributed computing structure hard at work solving the hardest problems of the universe.

Imagine a world where every eye is a camera; where you can livestream the feed from your optic nerve or take a picture to capture what’s in front of your eyes. Imagine taking a selfie by connecting to your friend’s optic nerve and capturing the image they see of you*.

*These are hypothetical scenarios, not definite predictions of how BCI technology will develop.

Imagine an operating system you control with your brain, sending input directly into your sensory system. Such technology would give an entirely new meaning to Augmented Reality and further break down the barriers between the Internet and our physical world.

We would have to rethink governance as it exists today. Archaic social structures would break down, with new ones rising to take their place.

I imagine the barriers between humans breaking down even further. Globalization is already at play through existing technology — many of us already see ourselves more as global citizens than as followers of any particular state, ethnicity, race, religion, or ideology.

A BCI (brain-computer interface) would accelerate this process, linking us even tighter with bonds forged from our similarities, leading to the rise of a human population so tightly integrated, that from outside, it would look like a single organism.

How long would it take the combined mental capacities of 7 billion humans to reach Mars? To reach the stars? To solve the deep mysteries underlying physics? To eradicate world hunger? To fix climate change?

To figure out the meaning to life (if such actually exists)?


What do you get when you combine an Elon Musk, a Stephen Hawking, and a Terrence Tao?

We could very well find out.

The craziest part of all of this is that we will likely see it happen within the century.

Elon Musk claims that his company, Neuralink, will soon release a brain-machine interface. A dozen other tech companies (Facebook, Kernel, NeuroSky, Emotiv, Mindmaze, Openwater, NeuroVista, and many more) are pouring billions of dollars into researching the technology. These companies are currently working on health and neuroscientific applications, important steps to a brainwave-reliant operating system.

If you were born around the year 2000, you will definitely use some form of a BCI before you die.


I am not naïve. I believe that we will have to overcome great pathologies before we can benefit from the fruits of this technology.

Christian fundamentalism will fight tooth and nail against this ‘mark of the beast.’ Nationalists will try to subvert this technology to their own uses, forcing their particular brand of morality on us. Cyberwarfare will become even deadlier as hackers will find ways to interfere directly with our brain.

You could just as easily reverse my earlier question. How long would it take the combined brainpower of humanity to destroy the Earth? To poison nature beyond redemption? To dream up tortures and tribulations far beyond anything we can currently imagine?


Here’s what I believe.

I believe that the world of the future will be neither a utopia nor a dystopia. Similar to today, it will be a world that lies somewhere in the middle.

The future may sound scary, but imagine describing the world today to someone living in the 18th century.

Steel snakes that traverse entire continents. Tubes that roar into the heavens on tongues of flame. Little glass rectangles into which we stare for hours. An invisible, intangible substance that we use to transmit light and sound around the globe. Metal carriages that move at speeds of up to 200kph and belch smoke from their behinds.

Our hypothetical 18th-century friend would probably either break down crying or burn you at the stake.

If there is one thing we have always feared, it is the unknown.

I believe that the problems of today’s world will seem minute and laughable to the denizens of the not-so-distant future. They will probably be grappling with their own problems, problems that we may not even be able to imagine today.

I believe that we will (in the long run) avoid losing ourselves in the shared worldspace of the human organism. I believe that we will unleash creative capacities and potentials we cannot even dream of today, establishing ourselves as a firmly dominant species that will stand together with Artificial Intelligence as an equal.

I am an optimist

What do you believe?

Note:
This essay was originally published on Medium on May 7th, 2019.