Saturday, 20 June 2015

How to Deal with Rejection

I got rejected from a national engineering scholarship recently that was very prestigious. I spent many days trying to finish the arduous application process, only to receive that email that explains "the selection process was very tough", and a few words after, receiving the unfortunate news, "we are sorry to inform you...".

I have to admit that I have a lot of general anxiety about anything and everything I encounter in life, but I try very well to hide my fears and worries. I have low self confidence especially, and constantly try to deal with the thought that "I'm not good enough" in every situation. Because of this, my first thought after receiving the email of rejection was that "I'm not good enough.

I suck.

I'll just give up."

I feel very weak for thinking this way at many times in my life, and for admitting this right now. I have thought this exact same way in numerous other situations earlier in my life. However, I know of plenty of people who get stuck in this kind of mental rut as well whenever they try to aim for success.

I know this seems obvious to probably 99% of you reading this, but what I'm about to say was really an eye-opener for a pessimist like me, and will hopefully be a positive motivation for anyone reading this: that my mindset I exhibited was a terrible way to deal with rejection - that I should change it, as it will never make me improve, and will just hurt me and my confidence more.

After seeking advice from multiple friends, from books, and from articles online, I began to realize that instead of being stuck in a prolonged period of depression after I receive a rejection of some sort, I should instead change my mindset to be more productive and I should be more focused on improvement.

"I got rejected from XXX. My approach was probably wrong and I need to improve more!"

This is the most wise method for whenever a rejection is received, in my opinion. There is nothing wrong with yourself, even if you got rejected. You simply just approached it a bit wrong that didn't work for that specific situation. Instead of moping around, try to see any improvements that you could have easily did in order to improve your chances for success, for any future opportunities (trust me, there will always be future opportunities!)

Don't be afraid of rejection either. If you never get rejected, then that means you aren't trying to get out of your comfort zone, and are not at trying to reach your limits. Try to reach them!

Sunday, 7 June 2015

Tell Your World

To remember the intangible feelings that I hold dear in my heart
I broke free from this life, this somber life that some of you know
I hummed these secret songs for years, but now I want to share one with you…
So spread this news far wide… and let it fly high with soaring birds in the blue clear sky!

It’s all those words to share and bare with others
It’s all those notes to sing and send to others
Each and every link forms a new connection
It echoes far away into the distance...

It’s all those words to share and bare with others
It’s all those notes to sing and send to others
Then all your links combine into a circle
With everyone together “tell your world” it’s everywhere!

The dark encapsulates your room, you're blinded by terrible heartache
But the light that shines right through, those gaps between your fingers, brilliantly
I've caught this little tune, and tapped its beat on top of the window sill
And it'll reverberate... and resonate throughout the air and into the sky!

It’s all those words to fare and bare with others
It’s all those notes to sing and shout to others
Each and every link forms a new connection
It echoes far away into the distance...

It’s all those words to fare and bare with others
It’s all those notes to sing and shout to others
Then all your links combine into a circle
With everyone together “tell this world” it’s everywhere!

Never doubted the days, this song that I played
will heal everyone's sorrows,
Life is such a wondrous journey that some people may lose their footpath on...
Now every moment shakes, with each tapping beat, so our world begins to change,
Tell your world today... about the sounds within our hearts!

It’s all those words to share and bare with others
It’s all those notes to sing and send to others
Each and every person forms a connection
We echo far away into the distance...

It’s all those words to share and bare with others
It’s all those notes to sing and shout to others
Then everyone holds hands in a big circle
With everyone together “tell your world” it’s everywhere!

The tune of these lyrics are to the beat of the Japanese vocaloid song, "Tell Your World" by Hatsune Miku. It is not a direct translation, as I wanted to be more creative. You can find the music video for this song here.

The chorus' lyrics specifically is inspired by Zessei Bijin's English cover. You can find it here. Everything else are 100% my own words.

Sunday, 10 May 2015

How Cats Always Land on their Feet

My boyfriend recently showed me a gif that he saw on Reddit that startled me initially, as it involved a cat falling from a high building. You'd think the cat would die, but it didn't. It turned itself feet first onto the ground, and scurried away.

You can see the gif here: (Scary, isn't it?)

This blog post will detail the findings my boyfriend and I uncovered whilst researching about how cats always land feet first, and how cats can survive falls from high buildings. Resources that helped aid in this post's information is linked or mentioned throughout this post.

Why don't cats go SPLAT when they fall from a really high building?

Everyone who took physics knows that the reason why we all fall and come back down to earth is because of gravity. That is,

F = mg

The only force trying to resist this force on earth would be air resistance,

Cd  = coefficient of drag (around 0.2)
  ρ  = density of air
  A  = area of object
  v  = velocity of object

Now, you probably know that terminal velocity is basically the maximum velocity a body experiences after X seconds of free falling. This terminal velocity remains the same, or to put it in another way, is constant after X seconds due to the air resistance force and the gravitational force cancelling each other out so that the net F = 0.

During free fall, a cat is usually splaying its body out like a flying squirrel.

When calculating the terminal velocity of the cat, we see that because the cat is splaying its body out, the "projected area" is bigger, so the overall terminal velocity of the cat is smaller. When you actually do experiments, you discover that the terminal velocity of an average cat is calculated to be around 60 mph. Compare that to 120 mph of an average skydiver.

Because of this, cats will generally not die from the force that occurs when landing on the ground. They will not fall to death like a human likely would.

How does a cat always land feet first? (An Explanation of the 'Cat Righting Reflex')

First I would like to explain what angular momentum is, as this is what we need to explain first. Angular momentum is how much an object is rotating, but it depends on the moment of inertia and the angular velocity of the body. It defined in the picture below:

I is the moment of inertia (you can simplify it as the quantity of area away from the axis of rotation), and w is the angular velocity. This picture also shows that angular momentum is the reason why when a ballerina's arms go in, she twirls faster - because angular momentum is preserved. In case (a), I is big because the area around her is big, since her arms are spread out. In the second case, because I is smaller now and L should be constant, w must increase, so she spins faster.

So, now, we should start explaining how a cat actually falls on their feet.

Before photography came into existence (so we could capture frame by frame of how exactly a cat's body orientates itself feet-first to the ground), we thought that a cat flipping feet first was some kind of paradox. This is because it seemed to violate the law of conservation of angular momentum.

This is described in the following youtube video:

A screenshot is below:

As the above screenshot of the video described, it seems that every cat in the world is violating the law of conservation of angular momentum, as angular momentum is always conserved unless an outside force acts upon it.

The only two forces that act on the cat are gravity and air resistance.

Gravity cannot really add or remove angular momentum of the cat, as gravity acts on the center of mass on the cat, which is "in line" with the cat's axis of rotation, so therefore, gravity cannot affect the conservation of the cat's angular momentum. The only other force would be air resistance, but this isn't the correct answer either.

After photographing carefully what cats do when freefalling, we get realize that cats do in fact not violate this law, and do not use air resistance to help conserve angular momentum. But how do they conserve angular momentum, you may ask?

Please click the following gif, as it will explain to you how angular momentum is preserved when a cat is rotating to land feet-first:

A screen shot is here:

After looking at the gif, you can see now how angular momentum is actually conserved! Cats have a very flexible back, so they are able to do these weird rotations of their bodies to orientate themselves upright!

Other fun facts about how cats have 9 lives

How can the cat from the first link I shared in this post survive such a tall height? Read the following from Emily Russell's presentation on "The Physics of Cats" (2007)
A study was released in the Journal of the American Veterinary Medical Association in 1987 of 132 cats which had fallen from high-rise windows in New York. The average fall height was 5.5 stories. 90% of the cats survived. Above a fall height of 7 stories (around 70 feet), the number of injuries the cat sustained actually decreasedThis is because once it has turned over and reach terminal velocity, the cat relaxes its muscles, so that its landing is softer.
Neat, eh? TIL (Today I learned) how cats fall safely to the ground!

Friday, 8 May 2015

My Recent Discoveries and Ramblings on Tetraethyllead Gas & Alexander Gettler's Forewarnings

I personally am an avid fan of documentaries, watching them since I could understand English when I first immigrated to Canada. Recently though, I feel like it's getting harder and harder to find the specific kinds of documentaries that I like. I would say a lot of the documentaries I encounter are just interviews of people about various political and cultural events. However, many of the people are ordinary average joes, that give their biased opinions on such matters. I like the type of documentaries that tell me facts, like science or history documentaries, where they give me a story about how a man discovered vaccination, or how the D-Day was planned.

This brings me to talk about a delightful documentary I recently watched, that I was initially going to skip: "The Poisoner's Handbook: The Standards for the Rest of America". It chronicles the lives of two influential scientists, Alexander Gettler and Charles Norris, and their constant fight to legitimize forensic science, even when no one believed them or when people had a conflict of interests in a couple of murders they were trying to solve using facts, not stupidity. Gettler was a genius in chemistry, and Norris studied medicine at Columbia. They both worked in New York as the first "forensic science" office, if you could call it that. Basically, back in those times (early 1900s), many people were not familiar with the legitimacy of forensic science, so Gettler and Norris had a lot of opposition, while all they were trying to do was to make science a significant voice in the argument over whether a person was innocent or guilty of a certain crime.

Some of the bodies they had to investigate had evidence of serious chronic lead poisoning. These people had worked in a factory for "ethyl gas", the car companies (e.g. GM) called it. In actuality, however, this was a very euphemistic name, since this gas had lead in it - a kind of lead that the human body can absorb easily and can make a person succumb to death by lead poisoning. The full name of this gas should properly be called tetraethyllead gas.

3D Ball and Stick Model of TEL Compound

So, while the car companies wanted to use this new "ethyl gas" as it was very profitable (tetraethyllead was an anti-knock additive), and while they were telling the public that it was "safe", after Gettler (the toxicologist) found out that all of the factory workers who died had lead poisoning, he publicly denounced ethyl gas and wanted it to be banned. 

The documentary then proceeds to talk about how through a bit of corruption, the car companies managed to hire "industry scientists" that deemed ethyl gas was safe as long as factory workers had gloves and other safety equipment on, and that the gas itself will not harm the public as millions of cars emit this gas, "ethyl gas" went unbanned. By the end of the documentary, I was still a bit confused, as the documentary did not explain what happened to "ethyl gas". I mean, was it banned? Did lots of people get poisoned from inhaling car smoke all the time after some decades? What really happened?

Well, I did a quick Google search, and found a very startling result: tetraethyllead gas was only banned in most industrialized countries in 2000. It wasn't even banned before I was born! That honestly really startles me. I mean, lead has been well known as a lethal poison, for thousands of years! How did car companies get away with this?

Although I haven't read more into the following yet, I am particularly interested and concerned about just how much lead (exactly) has accumulated in the environment since the 1920s (when ethyl gas was first widely used).

I then came across the name Derek Bryce-Smith. After reading about him, I noticed many striking similarities between his attempts to righteously ban ethyl gas, just like Gettler back in the early 1900s. Bryce-Smith also was ostracized and criticized. Car companies didn't like what he had to say about the dangers of their gas. Both he and Gettler understood social responsibilities however, and confronted the "dogma and financial interests" of the big car companies.

Here's a quote I'd like to share, from the Telegraph's article about Bryce-Smith:

As a result [of tetraethyllead gas], countless millions of children suffered damage to their brains. By the time leaded fuel was phased out in Britain, at least one child in 20 – by the government’s own figures – had been exposed at levels known to diminish intelligence: in India, the proportion was one in two. No one will ever know what potential was lost worldwide in consequence, or how many children developed severe learning difficulties. But raised lead levels have also been associated with ADHD, accelerated ageing, and even a greater tendency to criminal behaviour.
This is frightening. I never even knew all of this happened. I'm also disappointed that the general public had no idea about this either. I hope more people know about the story of Alexander Gettler (and his work to make forensic science legitimate in criminal cases), and of course, Derek Bryce-Smith, who campaigned against lead gas more than half a century ago, and died in 2011. Fortunately by the time of his death, only a few countries still used this lead-laden gas.


Resources: (where I found out TEL wasn't banned until 2000 in most industrialized countries, and discovered the social good that Derek Bryce-Smith set out, where he tried to ban ethyl gas.) (The Guardian's obituary of Derek Bryce-Smith) (Another article about Derek Bryce-Smith. Has a lot more detail than the Guardian's.)

Tuesday, 10 March 2015

Developing the "Footsies" App at PennApps

Author's Note: I have decided to do a blog post for all the hackathons/projects I have done thus far. I feel like I can explain a lot about what I did and how each of the hackathons went a lot better in a blog post than just boringly talking about it on my resume.

Author's Note 2: Thanks for Global Hackathon Seoul for giving me a Raspberry Pi as the winner of the "describe your hack" contest! I submitted this blog post as my submission!

Github Repo of the App:

My Experience at the Hackathon

Poster of PennApps Photographed at PennApps 2015

As you can tell from the above picture, I fortunately got the opportunity to go to PennApps for the first time! (I've never went from Canada to the US just for a hackathon before!)

We figured we wanted to do a hardware and health app, considering that PennApps was promoting those two types of hacks that year. So, we got our hands on a Sensoria Sock, which is basically a sock that has pressure sensors and an accelerometer, and we could read those raw values into our Android application by bluetooth, and interpret the data from there.



We figured we wanted to do a hardware and health app, considering that PennApps were promoting those two types of hacks that year. So, we got our hands on a Sensoria Sock, which is basically a sock that has pressure sensors and an accelerometer, and we could read those raw values into our Android application by bluetooth, and interpret the data from there.

We got this idea to create a gait (walking) and posture analysis/rehabilitation app. Until now, most smart fitness devices only measured heart rate, blood pressure, and other things in the body. There has never been a consumer device which can measure the pressure on the bottom of your foot (gait). It is also novel because patients can send data about their gait/walking data to doctors and it can diagnose walking problems and train/rehabilitate walking problems all through a mobile app.


Posture and the way you walk is important. Very slight variations in walking posture times thousands of steps a day can mean extra stress on various part of your foot, leg, and even the rest of your body. Thus, our target user is anyone interested in analyzing their own walking behavior. Some people may be walking wrong their whole lives without even knowing it. This app is good for people who might not even know they have common foot problems to "self-diagnose" themselves (though obviously, consulting a real doctor is better).


Our app, Footsies, is currently on the Android platform. Even though Sensoria has developed a suite of frameworks for the smart sock (on iOS and Windows Phone), there has not been any major framework for Android. Thus, the technical difficulty was difficult as we needed to store/interpret all of the raw data/numbers from the sensors and manually look at all of the accelerometer data/pressure data, and calibrate the app so that we can accurately determine what is a step, and also manually make a visual map of the pressures on the feet in real time. It connects to the Sensoria smart sock via Bluetooth, and allows the user to get a variety of information from the device.

It calibrates to each users' steps' pressure values through a short and easy process of having them pose in the four basic gait phases (pictured below) for a few seconds each, allowing the app to get more a more meaningful/fine-tuned measurement for accurate diagnosis, monitoring, etc.

We had the user calibrate the sensor with the four main stance phases of gait.

This kind of screen appeared for each calibration pose the user had to do. They would press the calibrate button, and then after all the calibrations are done, main menu (the figure below this one) would pop up.

The app has three main modes: diagnosis, monitor, and training

In diagnosis mode, the user is asked to take 10 normal steps, and based on those steps the app attempts to make a diagnosis based on the gait pressures measured. In particular, we focused on being able to diagnose two types of "simple-to-diagnose" foot conditions (because we only had limited time as this was a hackathon, and could only research about these two): pronation (inward feet) and supination (outward feet).

Our app could easily diagnose this, but if we had more time at the hackathon, we could've researched more common feet problems and then we could've diagnosed those conditions with our app too.

Even if no meaningful conclusion is reached, the app graphs the data (gait phase type as a function of time) to which may help to find correlations. This graph data is also sent to Google Fit API and our own server. This server would help "connect" doctors to patients using this app by easily allowing the doctor to see the data remotely, without the patient being beside the doctor in real life. 

Screen that had an interactive circle that filled up as you took the 10 steps to diagnose your feet problem.

Note: I didn't take a screenshot of the "diagnostics results" page unfortunately... but this screen looked cool, trust me. We had a good designer (a.k.a. one of my teammates!) Below is a figure demonstrating what the graph kind of looked like (we just used a simple interactive-graph-library for Android, that's open source on Github).

Link to the library here:

In monitor mode, the user can watch the details of their every step. A "heat" map of pressure is shown, which can show if a user has a habit of leaning in- or out-wards, for example. Data collected could be sent to the doctor, so in essence, our app could help patients with foot problems by not having to force them to stay in the hospital. This app can easily be used in the patient's own home and can be used for therapy in their own home as well.

Screenshot of monitor screen. The foot at the bottom was an interactive heat map I made, that highlighted with color the varying intensities of pressure on the foot. The official frameworks for Sensoria Sock on iOS and Windows Phone had this heat-map, but Android didn't, so I made it myself by heavily calibrating/modifying/hacking.

In training mode, the user can decide on a number of steps as a goal, and the app will count them to that goal while alerting them of any bad posture steps they made along the way. Footsies even has Pebble integration; the smartwatch will alert you via vibrations if you make a "bad step".

Screenshot of training screen. The graph updates in real time each time the user took a step.

Monday, 15 December 2014

ADT-1 (Android TV) Development Story - Part 1 (+ Description about my JPHacks App)

Edit: Scroll down to see the description about my JPHacks App.

I made an Android TV application through Android Studio. When it auto-generated the project for me, I got an apparently known issue:

Error:A problem was found with the configuration of task ':tv:generateDebugBuildConfig'.
> No value has been specified for property 'buildConfigPackageName'.

What I did was simply select both TV and Phone/Tablet when I was making the application:

And the automatically generated project gave some kind of internal IDE error.

Around two weeks after this incident however, Android Studio 1.0 was released. I am really glad Android Studio 1.0 was released though. There are some bugs that I found (e.g. the button to add dependencies to your application was gone?!?!), but they fixed that within the same week with a new patch: Android Studio 1.0.1.

After downloading Android Studio 1.0.1, I decided to make an application utilizing my new ADT-1 in a hackathon I was conveniently going to. The hackathon is called JPHacks.

I am the one in the front row, third from the left!

Summary about JPHacks App - "Android x Health"

Me, and two other engineers hacked away at our project. Our project actually uses Android Wear, Android TV, and Android Smartphone! (all 3!) It is certainly an "internet of thing"-like project. This application is like a all-round fitness application that actually encourages you to exercise. It also uses the newest technologies. Android TV is still really new, and Android Wear is pretty new too. If Android Studio 1.0 wasn't released the week of that hackathon, we wouldn't have been able to even set up an Android TV project (though in the end we didn't really need it. More on that later in this post.) We also used the super new Google Fit API, which Google is currently holding a competition for us Android developers to start making apps that include Google Fit API. I am definitely sure that our project has the most recent and innovative technologies because of all the things I have listed.

We had no UI designers in our team, so forgive the bad design.

I will now try to explain what our application does. Basically, the application marks a "geofence" around your home. When you go out of your home boundaries and go on with your day, e.g. go to work, then it will start counting your steps using the Wear's pedometer. On Wear app, you will see your heartbeat and your number of steps. On the mobile app, you will see your number of steps, and a graph that graphs a history of the number of steps you took for that week. There is also a neat feature of our app that is on the mobile phone - a personal avatar feature. We plan for the user to customize the avatar so that it can look like them, and, by analyzing the user's fitness stats through the Google Fitness API, if the user gets fat/does not exercise, then the avatar will get fat. If the user gets skinnier/takes lots of steps, then the avatar will be happy.

So, when the user comes home, if he or she did not exercise enough to meet his/her daily requirements, then a notification will pop up on the Wear and the phone to start exercising, and the avatar will grow a bit fatter and cry. A notification will show up, asking the user to either exercise, by watching an exercise video on their phone or on their TV. This is where the Android TV comes in. But also, this is where (very simple) machine intelligence/learning comes in. Through Google Fitness API and a bit of logic we put into our app, the application will get a recommended video from our database of videos. Also, while the video is playing, if the video is too hard (e.g. if your heartrate is too high), then the application, real-time, will recommend you an easier exercise video, and you can switch to that one.

Anyway, if you choose to show the exercise video on Android TV, you can chromecast a video from your smartphone (the Sender) to your Android TV (the Receiver). Then, the video can play. Not only that, but you can play and pause the video through a button on the smartphone app. While you are wearing your Wear during the exercise video, it will continuously monitor your heart rate.

So yeah. Although I didn't really make an actual Android TV app, I had fun learning how chromecast worked. Next time, I will actually make an Android TV app using Leanback, et cetera. I can't wait!

Also, it is currently 2 days after the hackathon ended, and we got an email saying we will be moving on to the finals with our project! Will we get first place? I hope so!

You can see the source code of our hack here:

Edit: You can see the Japanese Google Slides presentation describing our app here:

Tuesday, 2 December 2014

How Taught me Basic Public Key Cryptography/Asymmetric Cryptography

While on Facebook one day, I noticed a friend who is in first year software engineering posting publicly about how he has some invites to a certain website called "". Naturally, I was intrigued, and decided to visit the website, and also asked my friend for an invite (and he kindly gave me one). To be honest, the most intriguing and captivating thing about the website at first was just the amazing, wondrous, illustrations that looked like they were from a classic children's book. I subsequently visited the portfolio site of the brilliant designer who drew these heartwarming, Caroline Hadilaksono's site.

After wasting a few minutes on her site and seeing her pretty illustrations, I actually started to read the text/content on Keybase's main website. And let me tell you that I honestly had trouble wrapping my head around what exactly this service was offering to me, the user. I was even questioning whether I was a potential user of this website, since I didn't know what it was trying to explain, except for the fact that it allows you to connect various usernames from various popular social networks together in order to form a single social identity online. I was honestly confused as to what a "public key" was.

As a regular person who does not know a thing about cryptography until visiting this site, I do have to recommend that Keybase should have some sort of explanation about what public key cryptography is, and their service. I mean, the example on their homepage with Maria grabbing a pint with someone seems like it should explain the whole service wholly, but it just didn't. I didn't understand a thing, even after reading it quite a few times over. That's when I got a bit frustrated at the lack of a good explanation, and decided to Google by myself about this whole "public key" thing.

And boy did I learn a lot! That's one thing that I really like about Keybase - that it taught me something really cool and exciting in my opinion (even though they didn't do a good job of it themselves).

So, just what exactly is this "public key" thing, and what exactly is Keybase? Well, this post is to basically explain it in simple English. No need for fancy words in this post - just straight up facts.

Tl;dr Short Lesson on What is Public Key Cryptography, and Cryptography in General, For Dummies (Like Me)

So, I'm guessing everyone already knows about the whole fiasco with the NSA and how they're spying on everyone's emails. So, how would you prevent people like the NSA, or "hackers" from reading your email? Well, that's where cryptography comes in.

So basically, let's say you want to send an email to someone, but you are afraid that a hacker can hack and might get that email while it is sent to the receiver. So, a good way to prevent the hacker from knowing the contents of your email is to encrypt it. A really good and simple example of what "encrypting" is would be if the hacker didn't know the Chinese language at all and did not have access to a Chinese-English dictionary, but you and the person you want to send the email to do have dictionaries. So, you translate your message word by word in Chinese, send it to the receiver, and they can translate it back to English and read it. Along the way, even IF the hacker gets the email, the contents are unreadable to him. Of course, actual encryption uses lots of complex and very interesting math, and are very very hard to "crack".

So, basically, I learnt that Keybase offers a service that provides this kind of easy service to communicate to other people by using their encrypting and decrypting methods. But, they provide a certain type of cryptographic method called public key cryptography. Some people also call "public key cryptography" as "asymmetric cryptography".

I will explain now about how public key cryptography actually "encrypts" your messages and allows the recipient of your messages to "decrypt" the messages.

Basically, in this type of cryptographic method, you have a public key that anyone can see and "use" (I will explain this in just a second).  This key is usually a big and long sequence of words and numbers that you can copy and paste to anyone. In addition to this public key, you also have a private key. You should never show this private key to anyone, or else the public key cryptography method of safely encrypting/decrypting will just not work - so be sure to keep the private key safe!

Both your public key and private key are mathematically related to each other, but this math is very hard to crack, so for all intensive purposes, no one can "solve" or find out what your private key is just from looking/analyzing your public key.

The public and private keys are mathematically related in such a way so that if you encrypt a message using the public key, you can decrypt the same message using your private key.

So, let's say you want to give your friend Joe an encrypted message that only HE can read. So what do you do? You actually USE Joe's public key to encrypt your message, and then give this encrypted message to him. If anyone accidentally sees this message and obtains it, they cannot read it or decipher it. This is because the encrypted message can only be decrypted by Joe's private key.

Now that I have explained the very very basics of public key cryptography, if anyone is actually reading this, and if they actually want to read more about this interesting subject (including learning about digital signatures, digital certificates, etc.), please click here to read more about it!

To whomever reads this post, I hope you learned a little something about public key cryptography, as I did. Disregarding some of the criticisms that exist for Keybase, I still think it's a very neat service. It's very entertaining to write a message, encrypt it, copy and paste the encrypted message to someone, and have them decrypt it. It's also very fun vice versa. (I like to pretend that I'm some sort of spy!) Overall, I am delighted about how fun Keybase was. I have read that its purpose was to create a service for ordinary people like me or you to encrypt and decrypt messages easily. Well, I certainly think Keybase has hit its target in that regard.