How to copy the entire internet | Data Science Somedays

Photo by Markus Winkler on Pexels.com

My honourable guests, thank you for joining me today to learn how to copy the entire internet and store it in a less efficient format.

A recent project of mine is working on the Police Rewired Hackathon which asks us to think of ways to address hate speech online. Along with three colleagues, we started hacking the internet to put an end to hate speech online.

We won the Hackathon and all of us were given ownership of Google as a reward. Google is ours.

Thank you for reading and accepting your new digital overlords.

Our idea is simple and I will explain it without code because my code is often terrible and I’ve been saved by Sam, our python whisperer, on many occasions.

  1. Select a few twitter users (UCL academics in this case)
  2. Take their statuses and replies to those statuses
  3. Analyse the replies and classify them as hate speech, offensive speech, or neither
  4. Visualise our results and see if there are any trends.

In this post, I will only go through the first two.

Taking information from twitter

This is the part of the hackathon I’ve been most involved in because I’ve never created a Twitter scraper before (a program that takes information from Twitter and stores it in a spreadsheet or database). It was a good chance to learn.

For the next part to make sense, here’s a very small background of what a “tweet” is.

It is a message/status on Twitter. With limited amounts of text – you can also attach images.
These tweets contain a lot of information which can be used to form all sorts of analysis on. For example, a single tweet contains:

  1. Text
  2. Coordinates of where it was posted (if geolocation is enabled)
  3. the platform it came from (“Twitter for iPhone”)
  4. Likes (and who liked them)
  5. Retweets (and who did this)
  6. Time it was posted

And so on. With thousands of tweets, you can extract a number of potential trends and this is what we are trying to do. Does hate speech come from a specific area in the world?

OK, now how do we get this information?

There are two main ways to do this. The first is by using the Twitter Application Programming Interface (API). In short, Twitter has created this book of code which people like me can interact with with my code and it’ll give me information. For example, every tweet as a “status ID” that I can use to differentiate between tweets.

All you need to do is apply for developer status and you’ll be given authentication keys. There is a large limitation though – it’s owned by Twitter and Twitter, like most private companies, value making money.

There is a free developer status but that only allows for a small sample of tweets to be collected up to 7 days in the past. Anything beyond that, I’ll receive no information. I also can’t interact with the API too often before it tells me to shut up.

Collecting thousands of tweets at a decent rate would cost a lot of money (which people like myself… and most academics, cannot afford).

Fine.

Programmers are quite persistent. There are helpful Python modules (a bunch of code that helps you write other code) such as Twint.

Twint is a wonderfully comprehensive module that allows for significant historical analysis of Twitter. It uses a lot of the information that Twitter provides, does what the API does but without the artificial limitations from Twitter. However, it is fickle – for an entire month it was broken because twitter changed a URL.

Not sustainable.

Because I don’t want to incriminate myself, I will persist with the idea that I used the Twitter API.

How does it work?

Ok, I said no code but I lied. I didn’t know how else to explain it.

for user in users:
    tweets_pulled = dict()
    replies=[]
    for user_tweets in tweepy.Cursor(api.user_timeline,screen_name=user).items(20): 
        for tweet in tweepy.Cursor(api.search,q='to:'+user, result_type='recent').items(100): # process up to 100 replies (limit per hour)
            if hasattr(tweet, 'in_reply_to_status_id_str'):
                if (tweet.in_reply_to_status_id_str==user_tweets.id_str):
                    replies.append(tweet)

I’ve removed some stuff to make it slightly easier to read. However, it is a simple “for loop”. This takes a user (“ImprovingSlowly”) and takes 20 tweets from their timeline.

After it has a list of these tweets, it searches twitter for “ImprovingSlowly” and adds to a list whether the tweets found were replies to any statuses.

Do that for 50 users with many tweets each, you’ll find yourself with a nice number of tweets.

If we ignore the hundred errors I received, multiple expletives at 11pm, and the three times I slammed my computer shut because life is meaningless, the code was pretty simple all things considered. It helped us on our way to addressing the problem of hate speech on Twitter.

Limitations

So there are many limitations to this approach. Here are some of the biggest:

  1. With hundreds of thousands of tweets, this is slow. Especially with the limits placed on us by Twitter, it can take hours to barely scratch the surface
  2. You have to “catch” the hate speech. If hate speech is caught and deleted before I run the code, I have no evidence it ever existed.
  3. …We didn’t find much hate speech. Of course this is good. But a thousand “lol” replies doesn’t really do much for a hackathon on hate speech.

Then there’s the bloody idea of “what even is hate speech?”

I’m not answering that in this blog post. I probably never will.

Conclusion

Don’t be mean to people on Twitter.

I don’t know who you are. I don’t know what you want. If you are looking for retweets, I can tell you I don’t have any to give, but what I do have are a very particular set of skills.

Skills I have acquired over a very short Hackathon.

Skills that make me a nightmare for people like you.

If you stop spreading hate, that’ll be the end of it. I will not look for you, I will not pursue you, but if you don’t, I will look for you, I will find you and I will visualise your hate speech on a Tableau graph.

This is who I call for when I call for my mum

When I call for my mum

While George Floyd was being killed, he called for his mum.

I can’t move
Mama
Mama

His mum had passed away two years prior to this moment yet, at the forefront of his memory as he understands he could die, he calls for her. He is not delirious, dumb or silly. He knew what he was doing and why.

In that moment, he simply wanted his mum.

When I call for my mum, I call for the woman who stayed with me for 100 days while I was in an incubator in the early days of my life.

When I call for my mum, I call for the woman who would go to work in the early hours of the morning, come back late, and still want to know what my day was like in school.

When I call for my mum, I call for the woman who wanted the best for her children every day and tried to make sure it happened.

When I call for my mum, I call for the woman who wishes she could take my chronic pain and hold it herself just to make sure that I’m comfortable.

When I call for my mum, I find myself calling for warmth, love, and fantastic jollof rice with plantain (mum, if you’re reading this – please and thank you).


I’m lucky to have wonderful women in my life who are still here to experience its ups and downs with me. For that, I will be thankful.

I am lucky I am able to be thankful because my life wasn’t slowly squeezed out of my body at the hands of someone who was meant to protect me.

In the midst of these protests, this anger, this injustice, let us remember that the community we are fortunate to have, will often carry us through adversity. Sometimes how we approach adversity will change the world. Other times, it’ll change our small knit community. Maybe it’ll even just change one mind.

Often, the smallest changes that are made consistently over time will be the most impactful ones. Attitudes, thoughts and feelings will change. To help the world finally understand what it means for a black life to matter.


Gianna Floyd now says “Daddy changed the world!”

Indeed he has, Gianna. He will continue to do so.

For me, my world has been strongly influenced by my mum, my grandmother and aunts. For my dad, I know his world has been influenced by his mum.

In these times, I think of all of the black men and women who have been unjustly killed as a result of systematic racism. How many of them thought of their mum’s in their last moments?

Perhaps, when the world cries for its mum, it cries for love and warmth too. Or even the anger that only mothers seem to have when their child is hurt.

That is who I call for, when I call for my mum.

Books I read in January

Last year I did a reading challenge. I wanted to hit 40 books read for the year and was recording my progress on Goodreads.

I promptly forgot to log anything on Goodreads for the entire year, tried to remember what I read throughout the year and hoped that I remembered everything.

I didn’t. I got mixed up with books that I read in 2016 so I have no idea how many books I read last year.

In 2020, I’ve realised that doesn’t matter at all. WHO CARES if someone has read a book a week for the entire year…

Instead, I’d like to increase the amount of time spent reading rather than the number of books read.

Using the number of books and a measuring metric encourages skimming, and picking shorter books to stay on track.

Trying to maximise the amount of time spent reading accomplishes the whole point of these reading challenges. To read more – without making you feel bad for being “slow” or “reading short books” or “lying about the number of books read”.

I’ve said my piece… onto the good stuff.

Books I read in January

January books

The Long Shadow of Small Ghosts – Laura Tillman

An insightful read that has evidently been treated with the appropriate sensitivity required of a case like this. She managed to bring in the impact the case had on a small community through valuable interviews and research.

Unfortunately, overall, it wasn’t all that interesting.

When I finished the book, I genuinely felt that her talents were wasted on this case. She has the ability to navigate sensitive areas well but my goodness, the case, while gruesome, just failed to interest me. Pity.

The Girl Who Stole An Elephant – Nizrana Farook

A very enjoyable and easy read (and I was disappointed it was over!) The characters were a pleasure to know as their friendship grew during their journey.

Apparently, stealing an elephant will force you to become well acquainted.

I picked this up because I loved the cover and I’ve been enjoying children’s books a lot. This didn’t disappoint – though the ending was slightly rushed.

Ayoade On Top – Richard Ayoade

This was a short, enjoyable read about, yes, a film no one has seen. Including me. However, this has convinced me to fill the aeroplanecentric-comedy-hole in my heart.

Ayoade’s personality shines through every page and it’s wonderful that it isn’t just another biography.

I still haven’t watched the film yet though, so my opinions may change after the viewing…

The Talented Mr Ripley – Patricia Highsmith

This book is a wonderful thriller and I haven’t read one of this sort in a while.

The main shortcoming is that it’s only in the second half of the book do we understand just how talented Mr Ripley is… And how much luck he has on his side.

But the ending was a masterclass in tension building. Brilliant!

Really enjoyed this read – mainly surprised I hadn’t read it sooner!

A Bear Called Paddington – Michael Bond

Everyone has heard of Paddington but I realised I had never read the books. Without a doubt, one of the most fun books I have ever read.

Paddington, a bear from the darkest Peru always gets himself into some kind of commotion but despite his best intentions. … But let’s not forget, he is a literal bear.

We can’t blame him for too much, can we?

Ladies and gentlemen, 2020 may have only just started but this may be my book of the year. I decided that, during lunch and my afternoon walk, I’d go to Waterstones, sit down and read a chapter.

The perfect cure to a bad day. I recently watched the film too – wonderful adaptation. I love Paddington, I love the Brown family, I love Mr Gruber, I love everything about Paddington Bear.


And that brings me to the end.

The number of books may be unsustainable for the year but I will do my best to maintain or increase the amount of time I spend reading.

It’s been incredible amounts of fun.

Socials:

Facebook – Improving Slowly

Twitter – Improving Slowly

Let’s write an email | Data Science Some Days

Ladies and gentlemen, this has been a long time coming.

So, I’ve finally started programming. Technically, I started months ago but I’ve made such a piss-poor effort at being consistent, that I’ve done next to nothing.

I was growing frustrated – often having nightmares asking the question – will I ever be able to say “Hello World”?

Evidently, simply thinking about it would never work. I can buy as many Udemy courses as I want – that won’t turn me into a data scientist. My wonderful solution to this is to go straight into a project and learn as I go. I’m learning python 3.6. But first…

print("Hello World")

I have joined the elites.


Ok, the project goes as follows:

I need to send emails to specific groups of people a week before the event starts. The email should also include attachments specific to the person I’m sending the email to and it will have HTML elements to it.

To break it down…

  • I need to send an email
  • I need to send a HTML email
  • I need to send a HTML email with attachments
  • I need to send a HTML email with attachments to certain people

There’s more but I’ve only managed the first two so far. This programming stuff is difficult and the only reason why I’m not computer illiterate is because I was born in the 90s.

I started off by opening these tutorials:

They’re both great and use slightly different methods to achieve the same result. Maybe you’ll notice that my final solution ends up being a desperate cry for help combination of them both.

LET US BEGIN.


Here is the first iteration of the code:

import smtplib
#sets up simple mail transer protocol

smtpObj = smtplib.SMTP('smtp-mail.outlook.com', 587)
type(smtpObj)
#Connects to the outlok SMTP server

smtpObj.ehlo()
#Says "hello" to the server

smtpObj.starttls()
#Puts SMTP connection in TLS mode.
#I didn't get any confirmation when I ran the program though...

smtpObj.login('email1@email.com', input("Please enter password: ")
#Calls an argument to log into the server and input password.

smtpObj.sendmail('email1@email.com', 'email2@gmail.com', 'Subject: Hello mate \nLet\'s hope you get this mail')
#Email it's coming from, email it's going to, the message

smtpObj.quit()
#ends the session

print('Session ended')
#Tells me in the terminal it's now complete


Boom, pretty simple right? I mainly took everything from Automate the Boring stuff and just swapped in my details. Well, of course not. I kept on getting an error – nothing was happening.

Well – I was somehow using the WRONG EMAIL. FUCK. It took me an hour to realise that.


Next step… let’s send an email with bold and italics.

This was frustrating because nothing worked. All it really requires is for you to put in the message in HTML format. Because I’m not learning HTML, I decided to just use this nifty HTML converter to make this part less painful.

Here are my errors…

#regularly get "Syntax error" with smtpObj.sendmail - I was missing a fucking bracket

This literally made me to go bed angry.


'''everything in the HTML goes into the subject line -
smtpObj.sendmail('email@email', 'email2@gmail.com', "Subject: " f"Hello mate \n {html}")'''

This was a surprise but I figured out to stop it…

'''Now nothing shows up in the body of the message:
smtpObj.sendmail('email1@.ac.uk', 'email2@gmail.com', f"Subject: \n Hello mate {html}")
Solved by putting {html} next to \n'''

…then it somehow got worse…

'''Now... the email doesn't actually show up in html format
smtpObj.sendmail('email1@.ac.uk', 'email2@gmail.com', f"Subject: Hello mate\n{html}")'''

…and even worse.


At this point, I changed tactic and, in the process, the entirety of my code. I won’t show you everything here otherwise this post will look too technical to those who have no experience with coding but I’ve uploaded my progress so far onto Github.

To summarise, rather than trying to send HTML with the technique I used earlier, I used a module that was essentially created to make sending emails with python much easier (email.mime). This essentially means, it contains prewritten code that you can then use to create other programs.

But… I was successful in sending myself a HTML email. Now the next step is to add a bloody attachment without putting my head through my computer.


Dear reader, you may be wondering, “why is he putting himself through so much suffering? He sounds incredibly angry.

I’m not, I promise. This has actually been the most fun I’ve had in my free time in a while. It was a good challenge and I could sense myself improving after every mistake.

Granted, I probably should have just completed an online course or something before trying to jump into this project but that would have been less fun.

Onto the next one…

Thanks for reading!

5 ways to incorporate mindfulness into your everyday life

Mindfulness is really easy to not practice it because at first it can be boring, intimidating and seem pointless.

But – it is a practice, not a solution. It takes time but it pays off. I want to help make it easier for you.

Here are 5 methods you can use to incorporate mindfulness into your everyday life.

Pockets of peace

Meditation for most people can be pretty daunting. It’s tough to just sit in a room for 10 minutes and observe your thoughts if you’ve never done it before.

Instead, try 30s to 2 minutes of paying attention to your breathing or your surroundings. I recommend having nothing in your hands (especially your phone).

You can do this as many times as you want throughout the day. This way it doesn’t feel like an overwhelming obligation you’re tempted to skip.

Treat yourself to “pockets of peace” throughout the day.

 

luigi-liccardo-y0bUB8jcUio-unsplash.jpg
Photo by Luigi Liccardo on Unsplash

 

 

Slow eating

Mindful eating is an important technique to keep in your toolbox.

When you’re eating, for the first few spoonfuls (forkfuls… whatever, you get the point), try to appreciate the flavours and textures of the food. If you do this, you can actually appreciate food much more, especially if you made it yourself.

Another technique is… I pretend I’m a chef who’s figuring out what spices are in my food. Even if I know all of them in advance.

It’s silly but it’s fun, and I like to pretend.

Mindful cleaning

Similar to the pockets of peace earlier, when you’re cleaning the house, instead of treating it as something you hate or want to run away from, try this:

Your house, your body, whatever you choose to clean, is important because you spend a lot of time with it.

When you clean it, you’re helping it get back to its best.

You’re making your environment better. Whether it’s one dish, a fluffy afro or folding away one shirt.

Morning stretching

The morning can be extremely hectic because

1) Who wants to be awake in the morning

2) It’s time to prepare for work

But, stay with me now, you can do some stretching for 30 seconds, and do them without any distractions.

Not only do you get to treat your body well but you get to practice mindfulness at the same time.

You can follow the sequence in this article.

 

timothy-meinberg-AL2-t0GrSko-unsplash
Photo by Timothy Meinberg on Unsplash

 

Your next walk

Whether it’s a 5 minute trip to the store or a 30-minute stroll through a park, put your phone away and take in your surroundings as best you can.

What colour do you see most often?

Are there any clouds in the sky?

Are there many people around you?

Is the floor bumpy or smooth?


These small techniques will help you get started with a mindfulness practice. They are non-invasive and don’t take up a lot of time.

With practice, you’ll be intentionally be more mindful and with time, you’ll be better equipped with skills to help you handle stressful situations.

One step at a time.

Let me know what has helped you below!


As always, thank you for reading!

Follow me on twitter @improvingslowly and Facebook for more work on mindfulness, technology and disability.

And a few bad jokes.

 

You Are Stronger Than Your Pain (Pt.2)

Chronic pain, whether the intensity is high or low, can feel like the only defining feature of your personality.

It chips away at your energy and your willingness to do things you enjoy.

When you’re in pain, you may feel as though everything is meaningless.


Our aim, when we tackle chronic pain, often isn’t to get rid of it completely.

When we live with the pain rather than live against it, it means that we grow to understand how to manoeuver the world despite the pain and in many cases, this can make us stronger.

This takes some acceptance, some courage and a sprinkle of determination.

Manoeuvring the world with pain is a skill. It takes time to learn your body and how it changes when everything hurts.

It’s a skill to keep smiling, to laugh and to stave off cynicism. If you ever have the fortune of no longer being in pain, these are skills that you will carry with you forever.

It’s a skill to make time to complete some self-care. It’s forever tempting to try keeping up with the people around you and ignore the consistent distraction and disadvantage that is chronic pain!

It’s a skill to focus more – even if it’s just because you can’t sit in the same spot forever!

It’s a skill to slow down, be mindful and be kind to ourselves.

It takes effort to get to work or keep the house clean or simply take care of ourselves. Even if you are being cared for by someone else – we express gratitude with a “thank you”.

Do you see it now? Pain feels like it is all consuming but we’re actually strong people. No matter how weak we feel. The simple fact that you’re able to do more than just be in pain, shows that there is more to your life than pain.


 

I’ve been in pain for 10 years now and I’m still very much a rookie. However, I’ve learned skills that help me with negative thoughts. I’ve learned to be more empathetic with people. I’ve learned to move through my days slower but with greater focus.

At the foundation, chronic pain is a difficult mountain to climb. Especially when we’re at the bottom.

But, we can give ourselves credit – we get around the world despite being in pain. There’s more to our personalities than being “people who hurt all the time”.

It’s something to acknowledge and appreciate.

I want you to acknowledge that you’re stronger than your pain. There is more to you than being a vessel for pain.

And whatever that extra stuff is – appreciate it. Love it and value it.

We’re all trying to get better. One day at a time.

#WorldMentalHealthDay

Visit pt.1 here.

Is Monzo a force for good for the banking industry?

Within a year of its launch in 2015, Monzo was valued at £50m. Now, in 2019, it is a certified “unicorn” – a start-up valued at over £1 billion.

Staggering numbers for one of the earliest banks who challenged the traditional banking model by utilising technology. There are no branches, and everything is done via their smartphone app. With this, it has seen a primary customer base of under-40s.

As you can imagine, it has been popular with the younger generation.

Another monopoly to come?

In 2017, Tim Lewis of the Guardian rightfully asked, Is Monzo the Facebook of Banking? A powerful question for a young start-up. Even more so because this question is taken seriously.
Monzo has been growing rapidly with the younger generation because it takes advantage of the item we use the most – our smartphones – and couples with it a light and hospitable tone. This can give users the impression that Monzo is a helpful banking tool or friend that allows people to become more engaged with how their money travels.

Rather than an imposing vault we take money from and refuse to check because we’re scared of how much was spent on a night out. Shown by its strapline:

“We’re building the kind of bank that you’d be proud to call your own.”

Yet, a bank, no matter how wonderful its communications strategy is, cannot be your friend. In the same way that Facebook, no matter how much they apologise, still control vast amounts of personal data and use it to make money.

While it will be quite difficult for Monzo to grow to the same heights Facebook has (despite its aims to have 1 billion customers), it forces us to ask important questions about how we bank and the types of problems we face as users.

A Bank for the Devil’s Advocate

Before the Switch Guarantee was introduced in 2013, on average, we would stay with our banks for seventeen years.

With such impressive loyalty comes inevitable stagnation as innovation is not a requirement to stay ahead of the curve. Why spend money trying to do new things and failing?

With the introduction of banks like Monzo, we can almost see it as the bank for the devil’s advocate.

What if we wanted all our money to be safe? Monzo keeps all its money in the Bank of England and does without speculative trading.

What if we wanted to spend money abroad without fees? Monzo only charges 3% on withdrawals above £200.

What if I wanted to talk to someone through my phone without long waiting lines? Monzo’s helpline is a messaging service and you’re simply notified when there’s a representative ready.

What if my data was imitated because someone got access to my digital banking? Monzo… we’re not sure yet.
What if there was a concentrated cybersecurity attack on digital banking services? Monzo… hmm. Tough question.

What if Monzo reaches 1 billion users but instead of personal data, it controls money? Are these Facebook-sized problems? Yes. Yes, they are.

Speak of the devil and she will appear

Monzo does a lot of good for its customers by making it easier for them to access their money, find help and structure their savings in a way that benefits them.

Beyond that, we see a large long-term impact it has on the banking industry. It forces the industry to move into the digital age and answer important questions regarding cybersecurity, loyalty, and banking monopolies on a scale we have not yet experienced.

As frustrating as they can be to answer, it is better to attempt an answer, rather than hide from them until we have the Cambridge Analytica of finance breaches on our doorstep.

Tom Bloomfield says that Google’s “Don’t be evil” vow is limited. He asks instead:

“Why not try to leave the world a little better than you found it?”

Monzo, by itself, won’t be the complete answer to our banking problems. Let us not overestimate the impact of technology.

In the long-term, we may find ourselves thanking Bloomfield and Monzo for asking us questions about the banking industry we may not have seriously considered.

Perhaps that is how Monzo will leave the world a little better than before.

Locked in a cage by babies: let’s talk Superintelligent A.I.

Some people are better at following instructions than others.

A short while ago, I had a few people around my house to jam, have some drinks and play cards. None of them had been to my house before.

Some of my friends found it really easy to get here and didn’t call once to check how to make it. Others had a bit more difficulty. Some ignored my instructions completely and still got here.

The benefit of talking to people who have background knowledge of London is that my instructions can be pretty vague, yet still successful.

I have some younger nieces and nephews. If I ask them to bring me something, I have to be really clear on what it looks like, when to bring it to me and probably give them a motivation to do it. Sometimes it gets completed. Most of the time it doesn’t. However, I couldn’t blame them for that, they’re young and don’t know how to follow instructions as well as my 20-something-year-old friends.

I used to be friends with a lizard called Ella when I was 13. She peed on me once. That wasn’t even an instruction, she just did it.

What if they controlled us? 

So here’s a weird thought – what if these humans, nieces and nephews, and animals trapped us in a cage and were in charge of us?

When I tell my friends to do certain things and complete tasks, we can have a conversation and gain further clarity on the final goal.

This is what we call a “working relationship“. I mean, it’s still slavery but let’s ignore that for now. (What a strange thing to say…)

When I tell my nieces and nephews to do things, sometimes communication breaks down and I have to resort to different tricks like offering chocolate.  If they don’t understand me, I don’t get any kind of freedom.

This is what we call an “alarmingly frustrating relationship“.

When my lizard friend asks me to do something, I have no bloody idea what is happening because she doesn’t speak a human language. She starves because she doesn’t get any food from me.

This is what we call a “pointless relationship“.

As we progressed down the list of agents, the relationships became more difficult because I was smarter and smarter than them in comparison. Yet they, for some reason, were in charge of me. I want to help but they don’t understand me.

If a lizard controlled my fate, I would need to find a way out of this cage or I’d die.

We are the babies and lizards

Nick Bostrom popularised the term Superintelligence in the book of the same name to describe artificial intelligence that has surpassed human intelligence and capabilities in all domains. They are faster than us, remember more and complete complex tasks with greater ease. And they don’t need food to keep going.

We currently control computers. We tell them what to do, fix them and rely on them in specific domains. Now, what happens when they’re simply smarter than us but we don’t want them to take advantage of us much like we (unfortunately) take advantage of animals?

This is a problem that has, for a number of years, tormented Artificial Intelligence researchers [1].

In the above relationships, the intelligent being trapped in the cage is a waste of talents. But the babies just leave us trapped in the cage because they don’t understand what we’re saying.

I need to teach them the English language, how to read, how to understand complex directions and concepts and, perhaps most importantly, to trust us. This will take too long.

Immensely frustrating. So it’s better for us to find a way to leave the cage. We can help them better than they can help themselves.

When AI researchers talk about problems such as this, it often sounds like a silly fantasy made up as a way to inject more unnecessary terror in the world. Evil computer overlords – ha!

The problem they try to emphasise is that it isn’t evil artificial intelligence that we should worry about. It is capable artificial intelligence.

I can help these babies and animals better than they can help themselves so I when I get out of this cage, I’m going to lock them in this room so I can feed and teach them with greater ease.

We already rely on artificial intelligence in scenarios ranging from helping pilots fly, getting us information from the internet and fighting crime.

This has resulted in crashes [2], injection of fake news articles [3], and unintentional racist profiling [4].

Yet, we continue. Because it’s so helpful and easy. Following A.I is the path of least resistance so it’d take a remarkably quick change to cause a worldwide uprising… if it ever comes.

This isn’t a complaint about the current state of our attitudes towards artificial intelligence. This is to highlight the problem that superintelligent computers may pose to us in the next 50 to 100 years (or never, depending on how confident you are this will ever happen).

Superintelligent computers may not be evil. They may just be very good at what they do. So they should be in charge. Unless we’re happy to let babies run the world?

A.I.D.A.N

This brings us to the end of this short discussion. I want to point you in the direction of some great books because I’ve inevitably missed out a lot of detail here.

Inspiration: Life 3.0 by Max Tegmark

More inspiration: Superintelligence by Nick Bostrom

Slightly looser inspiration: Hello World by Hannah Fry

One of the freakiest A.Is in Sci-fi: The Illumnae Files by Jay Kristoff and Amie Kaufman (All of them. It features an A.I named A.I.D.A.N who may or may not go off the rails.)

More Superintelligent A.I. in sci-fi: Thunderhead by Neal Shusterman


As always, thank you for reading!

If you have any questions, feel free to ask below.

Twitter: @improvingslowly

Facebook: Improving Slowly

References:

[1] AI Takeover – Wikipedia

[2] Air France Flight 447: ‘Damn it, we’re going to crash’

[3] Facebook Is Changing News Feed (Again) to Stop Fake News

[4] Is Artificial Intelligence Racist?

 

Living with Chronic Pain Pt.2

It’s been over 5 years since I last wrote a piece on what it means to live with chronic pain. I have good news.

I still have fingers with which to write about it.

In this time, I have completed an undergraduate and graduate degree as well as had two stints in the professional workplace. As a result, I have experienced pain in different contexts.

If you haven’t read the first post, please find it here.

 

ekamelev-Adpsgy4JFIE-unsplash
Perhaps you’d say this is an Angry Bird? Photo by Егор Камелев on Unsplash

 

I am angry and this calmed me down

A theme in my last post was a sombre nature. I pointed out that there are many things I feel I have lost because I have been in pain for so long. Whether that was friendships, self-confidence or time. These are all true. Yet, I noticed something else – I was really angry.

I hated being in pain.

When you’ve hurt your back or your leg, it’s easy to feel frustrated because it limits you and prevents you from enjoying your day even when you don’t have any obligations. It’s draining and if it lasts for a few weeks, you simply cannot wait for it to leave.

Therefore, it may be surprising that I have taken a while to admit that I have been chronically frustrated at my situation.

Let me explain.

My first approach to being in pain was that being angry was only going to waste my time. It was something that I needed to simply accept and move on with. This was greatly inspired by stoic and Buddhist philosophies.

But this pain was nagging at me like a small child who would simply not stop crying. As composed as you can be, eventually, you just become a little bit annoyed…

…especially if this child is actually 30 years old, is perfectly capable of living an independent life but simply doesn’t. And cries all the time.

This anger grew into chronic frustration. I wouldn’t be foaming at the teeth every day (if I have but simply haven’t noticed, I do not have any friends because they didn’t warn me) but most of my journal entries would be the same – I’m annoyed that I have to push through this pain, otherwise I’d simply never get anything done. Who wants to do that? There’s no glory in a battle no one ever witnesses you conquer, is there?

Throughout my undergraduate and graduate degrees, I chose to explore these topics. I wondered what anger has done for people in the past and whether anger needs to do anything at all in order to be free from criticism.

I realised that my chronic frustration was simply a reflection of chronic pain. It isn’t always a productive emotion and sometimes it is. That is perfectly fine. In that time, it motivated me to learn how to swim, to take up programming and to pursue these topics in the first place!

In many respects, it has transformed the way that I approach my life. Frankly, I’m not sure I had any choice at all! I am fortunate enough for my chronic pain to not shackle me to the bed every day.

 

Photo by Stefanus Aprilianto on Unsplash
This has no real relevance to my post. I just enjoy doggos.

 

The Talking Problem

When we think back to cavemen and women, we think of very rudimentary communications. “Run”, “Hot!” “Sad!” “Unregulated capitalism is ruining our environment and making the poor, poorer.”

Basic stuff.

Well, a struggle I’ve come to admit is … I’m basic.

Yes, I love Starbucks as much as the next person and, being a 24-year-old male, I now have an interest in the gym and “lifting heavy, grrr”.

The way I talk about pain hasn’t changed much! There’s little nuance to the situation – and trust me, I try to find it. But at the end of the day, it comes down to the same few things. I’m in pain and it’s tiring. I don’t like it and I don’t know how to change it.

The problem isn’t necessarily how I express myself in my head but more so to other people. It’s difficult to express the gravity of chronic pain to those who have never experienced it. The fact that the feeling is never old but the experience just grinds away emotionally and physically.

How do you tell co-workers friends “I’m in pain… all the time” and for it to mean something to them? I have no idea but I’ve been in this situation for 10 years now and I’m not sure it matters much as I thought it did.

My friends and family

One goal I had for this post was to make sure that sadness and disappointment was the primary theme. I don’t want to make the reader sad. There’s enough of that to go around.

The exact way I communicate the problem doesn’t matter because directed compassion from family and friends reduces the importance of helping others be empathetic. Even if others may not be able to step into my shoes, they can still help me get to my destination.

And they do.

Living with chronic pain hasn’t changed that much over the past 10 years. It continues to be a physical and emotional grind, but I am remarkably fortunate to have built the friendship groups I have.

To those who are reading – thank you.

Some achievements

To end on a positive note, I’ll talk about some of the key milestones I’ve experienced…

  • I’ve learned how to swim and now regularly do 2.5km a few times a week
  • I’ve completed 2 degrees to a high standard without dying
  • I’ve stopped using the walking stick
  • I’ve started weightlifting

That’s probably it. But we’re all about improving slowly here anyway…

And with that, I leave you all. I hope you enjoyed this uneventful update on my life. Back to regularly scheduled programming.

(At the rate I’m going, it’s once a year but we will ignore that.)


As always, thank you for reading!

Twitter: @improvingslowly

FaceBook: Improving Slowly

How to achieve anarchy using computers

In the 1970s there was a battle going on in Harvard. It was between two impressively tall men who were sat in their offices trying how to best figure out how the world should work. They wanted the world to be as fair as possible for as many people as possible.

This was ultimately a question of how the government should work.

The most important person (for our purposes, at least) [1] was Robert Nozick who argued in Anarchy, State and Utopia, that we should have a minimalist government. The only reason for government to exist is to provide security to its citizens. Perhaps the main reason why he reached this argument is that the act of taxation is theft. While tax can be helpful because it provides healthcare, education, social services and so on, it doesn’t reduce the importance from the idea that any time the government taxes you, it unfairly takes away something you have earned.

This was for a long time one of the most popular renditions of libertarianism. However, it isn’t taken seriously now because of the consequences such a system would cause. You are probably already thinking of the problems – no universal healthcare, increasing social and economic inequality, fewer education opportunities open to the least well off and so on.

Importantly, it wasn’t anarchy. It wasn’t meant to be a lawless mess but ultimately, the government wasn’t allowed to do more than provide security for its citizens.

Now, what if the government simply couldn’t provide security to its citizens? Or provide any social services?

The difference between the government choosing not to provide social services and being unable to provide them is important.

In the first instance, there isn’t much stopping them providing services past political difference. Usually, tax is still collected but used for minimal things such as security.

The second is much more problematic. It’s scary. And it could be happening sooner than we think.

Enter crypto-anarchy…

Cryptoanarchy is anarchy achieved through technology. People send information to one another using cryptographic software which allows for a large degree of anonymity. Proponents of cryptoanarchy say there are three main benefits of this:

  • It protects from mass surveillance
  • It prevents censorship
  • It provides an alternative to traditional banking

Before we delve more into this topic, let’s clarify what cryptography is:

“Crypto-“ can be translated as “hidden” or “secret”.

“-graphy” can be translated as “to write”.

Together, it means writing private messages or information. Cryptography relies a lot on mathematics and algorithms. This is where you’ve probably heard of computers mining for bitcoins. It requires a lot of processing power. As more bitcoins are mined, it becomes harder to get more. [2]

Let’s move onto some pictures.

Cryptographic communication.PNG

  1. Messages are encrypted with keys that are generated with algorithms.
  2. The public key is shared, and the private key is private.
  3. These keys are similar and mathematically linked.

Now that Oj has encrypted the message using Michael’s public key, the only way to decrypt the message is with the private key. You can try to figure out the message without the key but that may take millions of years.

Right, now we have some understanding of how it works. Don’t worry if you’re still not 100% on it. The basics are enough for now.

What’s the deal then?

Imagine all our communications are done this way. There is no middleman between myself and the person(s) I’m talking to. The government has now lost control over what is said and how it is said. What if our social networks were like this?

Now, Facebook and Twitter act as publishers for our material (although they want to be platforms [3]). They have rules for what can and cannot be said as per their terms and service. With increasing frequency, social networks are struggling to remain as neutral as possible because of the demands on them to remove hateful speech as well as strike a balance between allowing their users to be as active and expressive as possible.

Because they own the servers, they can ban people and follow the requests of the government to disallow certain things being said. However, and you’re probably seeing the trend now, if we remove these centralised networks, we can say whatever we want and be anonymous while doing it.

The most popular use of this technology is through currencies such as Bitcoin and Ethereum.

Governments around the world rely on taxation to fund social services such as security, healthcare and so on. With a reliable banking system, we can track earnings, force people to pay tax and fines. If there’s a problem with our finances, in the UK at least, the government can protect up to £85,000 of a person’s savings.

A decentralised system used to make payments works to remove the Government’s ability to do these tasks. How do you tax a transaction if you don’t even know who made it? Or who it was sent to? Should we remove the government’s ability to do these necessary tasks, we lose the benefits that come with it.

Returning to Nozick’s minimalist government. He put forward the philosophical argument that the government should not tax us for things beyond security.

In the scenario above, it may not even be able to provide us with that.

No computer should have all that power

A problem with reading books on technology and intelligence in the 21st Century is we may work ourselves into a bit of a frenzy. It seems like the world’s first smarter-than-all-humans-ever computer will appear tomorrow and it’ll be let loose into the world. Then it’ll turn us all into paperclips [4].

There are headlines of computers finally beating the world’s best Go and chess players without any prior data at all [5]. This is exciting stuff within the field of A.I. Surely, they’re only a few years away from beating us in everything?

No. Robots suck at picking things up from the floor [6]. We’re a while away from becoming paperclips.

Yet, the rise of crypto-related technologies forces us to think about and answer questions regarding the reach of the government. Jamie Bartlett rightfully notes that in a mature democracy, we give up certain individual liberties in order to secure collective rights (such as security).

Crypto-related technologies consolidate massive amounts of power into a small population of people who can do large amounts of harm. How many people know how to use cryptographic technologies? (Not many.) Bartlett also says that the Government would likely need more authority to ensure the safety of the public.

And we can already see how Governments across the world are acting in response to technological advancements right now.

On October 2nd, 2013, a couple was arguing in the San Francisco library. They were distracting everyone nearby. One of the distracted members of the public was Ross Ulbricht who as a result had his laptop taken from him.

He was then arrested and taken to federal prison and faced charges of money laundering, computer hacking, and conspiracy to traffic narcotics.

You see, Mr Ulbricht was the founder of Silk Road. The dark net online marketplace that was famously known for facilitating the sale of nearly $1 billion worth of drugs. He was found guilty and sentenced to 2 life sentences without the possibility of parole.

It’s an interesting case because it seems like a heavy-handed sentence for a person who allowed people to shop anonymously. Additionally, it is somewhat like the cryptographic social network described above.

Having a middleman allows regulation because activities can be seen and impacted. People can be attached to the actions they take. If everyone is anonymous with no central platform, we lose security protections afforded by central non-anonymous platforms.

Should the possibility of cryptoanarchy be taken seriously?

If so, how should democracies around the world respond to the rise of such technologies as they potentially rip control out of their hands?

If cryptocurrencies continue to rise in popularity, how will we manage the inevitable increase in inequality since most of the population have no stake in things like bitcoin?

Will the Government need more powers to ensure our security?

How much liberty are willing to sacrifice for the promise of security?

Final words…

As I mentioned earlier, I do not believe crypto anarchy is something we need to be afraid of right this second. Currently, it is a useful tool to think about how governments around the world should respond to the increasing complexity of technology and, in this case, its direct opposition to how the world currently functions.

However, this isn’t just a thought experiment.

The technology is real. The problems are real. The questions must be answered.


As always, thank you for reading!

I know this is a stray away from my usual personal development posts. I hope it was enjoyable nonetheless!

I’d recommend reading Jamie Bartlett’s The People vs Tech for a much better explanation of the problem. This was heavily inspired by the final chapter.


[1] I think most would rightfully argue that John Rawls had a much greater impact on political philosophy in the long-term.

[2] There was a cap placed by Satoshi Nakomoto at 21 million bitcoins. There are currently about 18 million in circulation.

[3] https://www.theguardian.com/technology/2018/jul/02/facebook-mark-zuckerberg-platform-publisher-lawsuit

[4] This is a famous example given by Nick Bostrom in Superintelligence where he argues that a super-intelligent artificial program may just want to develop as many paperclips as possible. We will be those paperclips if necessary.

[5] Artificial intelligence: Google’s AlphaGo beats Go master Lee Se-dol

[6] Life 3.0 by Max Tegmark