Yet Another “Why Big Tech Needs Regulation”

The big five tech firms, Facebook, Amazon, Apple, Netflix, and Google, known more commonly as FAANG, have a market capitalization of $5.6trn, almost a fifth of the S&P 500 Index. Naturally, regulation of such a behemoth of the American economy is a thorny issue because these big tech firms create jobs, spearhead American innovation, and reinforce America’s position as a world leader. Before the rise of big tech, monopolies like Bell Labs were regulated to prevent them from abusing monopoly power through bundling, predatory pricing, and vertical restraints. This all amounted to, in one way or another, a great asymmetry between consumer and monopoly surplus. Today, these tell-tale fiduciary signs of abuse of monopoly power are sometimes transparent. It is not easy to see how predatory pricing could befall customers if services like Facebook Messenger and Instagram and Google are free. Viewed from the lens of a data economy however, we see that the big five are not simply large internet providers anymore; they are a colossus with a long reach in every corner of our lives, including politics, retail, national security, and privacy. Regulation in the case of big tech is needed to protect the data privacy of users. Without regulation, big tech can create a “bubble” around a user, not allowing them to even know about competitors, giving the existing tech monopolies free rein over a user’s life choices, and collectively, even some social and political outcomes. 

To analyze regulation of “data” companies like Facebook and Google (that get the majority of their revenue from targeted ads using personal data), we can’t use traditional methods of looking at the inverse demand function, because the services are free to use. We could try to use a proxy and measure a “willingness-to-pay” in terms of amount of personal data users are willing to give up in order to continue using the service, but it would be difficult to measure deadweight loss in this scenario. Instead, what we could do is measure the average marginal revenue brought in by one user’s personal data in terms of targeted ad revenue.

If our goal is to restrain the impact big tech has in the non-tech realm, then to regulate their targeted ads business would be to chip away at their reach in other industries. As Paul Romer suggests in his 2019 New York Times article, a sales tax on the revenue earned by a company for displaying targeted ads would force tech companies to innovate or be subject to competition, who don’t have the data for targeted ads yet. However, it might also be interesting to bring the tax down one more level to taxing companies for additional data over some specified amount. As in Averch-Johnson’s model of the firm under regulatory constraint, the regulator knows the firm’s capital, and chooses some fair rate of interest, which then determines the firm’s profit. In my proposed tax, user’s private data, which would be used to hone machine learning algorithms and produce targeted ads, would be considered capital. In this case, however, the regulator would need to determine a “fair threshold of data” which would allow the firm to make a profit, and any excess data would be taxed. This would allow competition because smaller companies would not have enough data to reach the threshold. It would also force companies to innovate: some firms might not collect additional data of users and accept the concomitant reduction in targeted revenue ads; some firms might seek better ways to draw the same conclusions but from less data or noisier data.

In the past year, FAANG’s combined value increased by over $2trn – a bull run that has stemmed from their ability to construct an individual world for every person. As these individual worlds get more and more personalized, the firms’ ability to manipulate the individual, and thus the masses, also becomes more apparent. A legislation to prevent that would check that power, and begin to restore the ability for each person to create their own, recommendation-engine-free, reality.

Men Without Women Review

Men Without Women by Haruki Murakami

Rating: ★★★★★★★★☆☆ 8/10

I’ve only read one other book by Murakami, 1Q84, and both were equally hard to put down. The faint magical realism (I would hesitate even to call it that) that appears in his short stories sucks you into discussions about the relationships between men and women, or more precisely, how a man moves on with his life after losing a woman.

The stories start out light-hearted and become more and more existential, but there is a constant theme of loneliness that underscores the entire collection. There is also a recurring theme of women having extramarital affairs. Murakami was greatly influenced by western culture, perhaps most notably by Kafka, and this influence emanates throughout his work. There is a short story called “Samsa In Love”, a reversal of Kafka’s The Metamorphosis, in which (presumably) a bug wakes up in a human’s body and discovers all of the awkward movements, feelings, and relationships a human must contend with in everyday life.

Here are the titles of the short stories, just so I can have a reference if I ever forget: Drive My Car, Yesterday, An Independent Organ, Scheherazade, Kino, Samsa in Love, and Men Without Women.

I think my favorite short story was Drive My Car. In Drive My Car, Kafuku, a B-rate actor, gets a new female chauffeur. His outlook on life is very binary: female drivers are either “a little too aggressive or a little too timid”; drinkers came in two flavors: “those who drank to enhance their personalities, and those who sought to rid themselves of something”. He can’t drive because of glaucoma, which is ironic because he described himself as having a “sixth sense” that alerted him to his wife’s licentious tendencies. After his wife’s death, he befriends his wife’s last lover with the intention of provoking some sort of guilty feeling, but ends up becoming good friends with him. Similarly, he treats his new female chauffeur as just another female driver, but ends up realizing that she doesn’t fit into either of his two prescribed categories. I liked this story because the message was that people are complex, and though it’s easy and justified to view the world in a simplified binary way, people will never fit into the categories you’ve created.

I enjoyed all of the short stories, however, and I’d definitely recommend this book to anyone who enjoys Murakami’s style (or maybe just surrealism/fatalism).

Winning the 2020 East Coast Datathon

Today I participated in the 2020 East Coast Datathon hosted by Citadel and CorrelationOne. The Datathon is an annual competition held by Citadel and CorrelationOne to find undergraduate and graduate students who would be a good fit at Citadel and Citadel Securities. You have to apply to even compete, and you have to complete an hour long technical test (which I 100% failed), and they invite probably around 10% of the applicants to an all-expenses-paid competition. This year, the East Coast Regional Datathon was being held in New York City, so I signed up and took the test for the fun of it. To my surprise, I received an invitation (which prompted me to force my other friends to also apply and take the test, since they were apparently letting any old person in). I RSVP’d, even though I had zero experience with data analysis, visualization, or wrangling, because, well, there would be free food. I almost didn’t go because my fear of bringing my future team down with my severe lack of knowledge was very very close to outweighing my desire for free food. Hoang was also visiting this week, and I wanted to spend more time with him before he returned to South Carolina. It was a really difficult decision, but I ended up deciding to participate.

The night before the datathon, Citadel and CorrelationOne hosted a mixer at PJ Clarke’s. There were about 40 extremely smart but slightly asocial undergraduate and graduate students standing around, some dressed in full suits, others in jeans and sneakers (I was in between, wearing khakis and a jacket). A gaggle of them was listening intently to a Citadel engineer, in hopes that if they were good enough at listening, they might get hired on the spot. I was in front of the cheese and crackers table, piling it on. Waiters and waitresses also circled the place, offering fancy raw tuna tacos, avocado toast, sliders, square slices of thin crust pizza, and drinks. All the other participants politely refused the hors d’oeuvres; they were grace, they were beauty. I was shameless; when a waitress came up to me with a plate of avocado toast when my hands were full with plates of food, she actually placed the piece of toast onto my already full plate.

The mixer was a chance for the un-wanted (me) to find a team. I spent some time talking to a PhD student at Columbia, and I offered to be on his team, but he just laughed and didn’t say anything. I eventually met two students, one from NYU and the other from CMU (both graduate students), who recruited me to be on their team. They were not try-hards, they said. They were legitimately there for the good times. And that was perfectly okay with me; I could not have asked for a better team. Henry is studying computational finance at Carnegie Mellon University; Ru just graduated with a degree in data science from NYU. I felt bad for Ru, because she confided that she joined the competition because she had nothing else to do; she could not return home to China because of the flight ban caused by the coronavirus. Halfway through the mixer, the MC easily got our attention (not much talking was going on) and revealed the theme for this year’s datathon: CitiBike data. They would give us loads and loads (gigabytes and gigabytes for you nerds) of data, and we had to pose an interesting question and answer it using the data. We brainstormed a couple of potential questions, and talked about how crazy it would be if we won. At a natural lull in the conversation, Henry and Ru decided that they were going to head home. After they left, I reconnected with the PhD student I talked to first, and he had recruited a fourth teammate. Then I left too.

I didn’t leave to go home though – I went straight to Anne’s apartment, where she was hosting a pregame before going out to a club in K-Town with Hoang. I had a mixed (?) drink of vodka and red bull, neither of which would help me in the datathon, but I finished it anyway. Rules is rules.

The next morning, I woke up after 4 hours of sleep (caffeine at midnight isn’t exactly Nyquil), and took the subway over to Convene, where the datathon was being held. The schedule was as follows:

  • 8:00 am – Arrival/Check-in and Breakfast
  • 8:30 am – Real Data Released, Hacking begins
  • 11:00 am – Lunch served
  • 3:30 pm – Final papers due
  • 6:00 pm – Results and Goodbyes

We started at 8:30, when the data was released. We were given a couple year’s worth of CitiBike data (ride duration, start location, end location, subscriber, etc), the same data but for a bike sharing platform in Boston, the same in San Francisco, randomly sampled Yellow Medallion Cab data, Green Cab data, ride-sharing app data, NY MTA (subway) data, demographic data, NYC neighborhood data, and weather data. We had a lot of ideas, and we started playing around with the data, doing some preliminary visualizations to see some simple trends that could help nudge us towards a final research question.

We pivoted many times throughout the 7 hour datathon because our data kept telling us different stories. We started out with an idea I came up with: how much of a substitute product is bike sharing in reference to ride hailing or walking as a solution to the “last mile problem”, and how does weather affect it? We could measure things like cross-correlation, cross-elasticity, and how those numbers change as weather patterns change. However, this was too difficult; we needed to do extremely granular analysis and besides, it’s impossible to tell what a “last mile” in Manhattan is; practically everywhere you go is less than a couple blocks away from a subway station.

So we continued wrangling the data, plotting it geographically, looking at interday and intraday CitiBike demand trends, examining how different atmospheric attributes affected demand, and how demand was correlated with almost any factor we could think of.

We started compiling the document at around noon – Yisu started with his data and observations, and then put Henry’s discoveries in as well. I was busy trying to get interesting facts from the San Francisco bike sharing data, but it ended up not making it in our report :(. At 1:30, I started looking at the document. Before the competition had even started, I had already designated myself as the teammate who would write and turn in the paper, because English was their second language and I wasn’t about to let my IB education go to waste. I wrote the executive summary, introduction, conclusion, next steps; I drew conclusions in a concise and digestible manner; I edited and sanity checked the figures they had thrown in the document; and I formatted the document to make it look professional.

We turned in the paper (which you can read here) at 3:25, and we took a walk around the building to recuperate a little. A couple minutes later, everyone was finishing up, and many people had confident looks on their faces. I really wanted to climb, so I just up and left at 3:35 – I took the 6 train uptown to 96th and went to the Steep Rock Bouldering. A couple hours later, as I was walking home from the gym, my phone buzzed. It was WeChat – it said “We won” – no exclamations, no punctuation, no caps. I thought I was being trolled. So I continued on my way home and replied “LOL really”, to which they responded with a picture of them holding a huge check with $20,000 written on the amount line. A hurried taxi ride and 15 minutes later, I rushed back into the Convene, where my teammates were the only people left. The big check was gone, but they still had a little certificate of congratulations for me. We took a picture, and then we all parted ways again.

With this win, we earned an invitation to the Data Open Championship, where we will be competing for a grand prize of $100,000!

If you are participating in a Data Open, only read the following part:

  • To win, you don’t need to do anything fancy. You just need a good question. Spend most of your time formulating an interesting question that can be feasibly answered in 4 hours. Start with this question in mind, and let it guide your data analysis.
  • When your data analysis doesn’t go the way you intended, or yields results contrary to your hypothesis, don’t be afraid of pivoting. It’s worse to try to force data into the shape you desperately want it to be in.
  • Story telling is extremely, extremely important. I’m not going to lie – I did probably 10% of the actual data analysis. My teammates were lightyears ahead of me technically. But what I provided to the team was the ability to put their results into a presentable form; a form that people could read and actually draw valuable conclusions from. I was able to connect what we did in 6 hours to the business value it provided for CitiBike. I was able to convey why our question mattered, and even more importantly, why our results mattered. You can have the most brilliant data analysis in the world, and if you don’t present it well, you will not win.
  • I truly think having three technically strong people and one good writer who can also understand the technical details is the best team composition. You obviously need the technical details to back up your paper, but the technical details with no paper is worth nothing either.

21 Lessons for the 21st Century Review

21 Lessons for the 21st Century by Yuval Noah Harari

Rating: ★★★★★★★☆☆☆ 7/10

I both loved and hated this book, which makes this review difficult to write, but hopefully I’ll be able to share my mental struggle between the two effectively. I’ll start with why I hated the book.

I like my books how I like my math courses: rigorous. And for the most part, this book is anything but. By this I mean that Harari frequently makes sweeping generalizations about nuanced topics. Take this quote, for example:

War spreads ideas, technologies, and people far more quickly than commerce does. In 1918 the United States was more closely linked to Europe than in 1913; the two then drifted apart in the interwar years, only to have their fates inextricably meshed together by the Second World War and the Cold War.

21 Lessons for the 21st Century, Ch 6

I will be the first to acknowledge that from 10,000 feet, this is broadly true. At the same time, however, Harari reduces arguably the most complex 60 years of US history into one sentence, without a citation or qualifier in sight. Harari uses this to bolster his argument that war was a major factor in the globalization of modern culture and economy. Ironically, Harari also cautions readers to be cautious about the material they consume, to fact check everything and not take things at face value. Doesn’t this quote sound just like an unsubstantiated “fact” used by a leader to justify his agenda?

My second complaint is that Harari talks superficially about a broad swath of topics, and to a reader who might be an expert in one of these topics, the corresponding section in Harari’s book can seem contrived, trivial, or even ignorant. I’ve read many books on the future of AI and its impact on society (I am not claiming to be anywhere near an expert in this topic), but even my paltry knowledge about the topic made Harari’s first couple of chapters seem misinformed. Take, for example, this quote about high powered algorithms:

Perhaps you dislike a particular bit in an otherwise excellent song. The algorithm knows it because your heart skips a beat and your oxytocin levels drop slightly whenever you hear that annoying part. The algorithm could rewrite or edit out the offending notes.

Ch 2

Again, I would not disagree with this fictional situation because it is technically possible when AI becomes more advanced, but this problem is infinitely complex, and both technical and ethical issues are elided. Entire books and multitudes of academic articles have been written on the topic of universal basic income as a stopgap for major economic upheaval as AI emerges. To dedicate but a small section to it seems…wrong.

Obviously I must have liked something if my final review was 7/10. I started appreciating the book after I realized that this is not a book about 21 disjoint topics that people should be informed about nowadays. It is a discussion of how to stay human as the world changes rapidly around us. For the vast majority of human history, we’ve experienced glacial change. People lived entire their entire lives without much change. Suddenly, in the 21st century, things are changing faster than we can hope to understand. All of the stories humans have woven for ourselves, to keep ourselves sane, coherent, united, are starting to unravel — and this, Harari makes clear, is the real issue. The stories of liberalism, nationalism, religion, the meaning of life, are all threatened by technology and biotech (though again, this is less alarmist and more nuanced than Harari makes it out to be). Therefore, it is important to “know thyself” because we can’t know anything else.

In the last five pages of the book, I found the core, the little nugget of thought that blossomed into 21 Lessons for the 21st Century:

To change the world, you need to act, and even more important, you need to organize…it is easier to act and cooperate effectively when you understand the human mind, understand your own mind, and understand how to deal with your inner fears, biases, and complexes.

Ch 21

The 21 chapters are simply obstacles the 21st century has thrown in our way — obstacles that we humans must clear to “understand foreign cultures, unknown species, and distant planets”. Viewed in this light, the lack of rigor is still not justified but understandable. The sections about tech, philosophy, history, religion, were simply the supporting cast to meditation.

This is not a book I’d recommend to everyone. For people who regularly reflect on their lives like me, this book offered few insights. But for someone who is caught in the whirlwind of change, or has buried their head in pursuit of a goal, this book can help you take a step back and recognize what’s truly important.

The Omnivore’s Dilemma Review

The Omnivore’s Dilemma: A Natural History of Four Meals by Michael Pollan

Rating: ★★★★★★★★★☆ 9/10

Eating is one of the most basic instincts of humankind, and serves as the foundation of entire cultures and religions. It is the common thread in complex tapestries of different cuisines around the world, and somehow, its art has been lost in perhaps the modern hyper-capitalistic pursuit of profit. When was the last time you dined at home with your entire family? When was the last time you ate alone without looking at your phone? For many people, I suspect the answer would be further in the past than they’d want it to be.

Michael Pollan artfully deconstructs the modern American culture of eating in a digestible (lol) manner. He sets out to really understand how the food he’s currently eating came to be on his plate and what it cost. The results of his journalistic investigation changed the way I think about food. I’ve always been very cognizant of the foods I’m putting in my body because my mom inculcated in me the importance of staying healthy. Although I would venture to say that I’m probably in the top couple percent of healthiest eaters in America, I predict that the next time I’m at a supermarket or a farmer’s market, I will nevertheless be a lot more thoughtful in procuring my food for the next week.

One thing I found extremely interesting was the fact that capitalism has irreversibly altered the natural food chain. We’ve created a monoculture of corn (and soy) because it is the most efficient crop in terms of converting sunlight into ingestible calories. But because of the monoculture, nitrates in the soil do not have time to regenerate, and thus, artificial fertilizers are used. These fertilizers are created by the Haber-Bosch process, which itself consumes enormous amounts of energy. Down the food chain, animals are being bred to live off of corn and corn products, even though they’ve lived for millennia on grass, or insects/small fish (in the case of salmon). These animals, cooped up in inhumane Concentrated Animal Feeding Operations (CAFO), where they’re injected with antibiotics and force fed in order to keep the economic wheels turning, are living a wholly unnatural, manufactured life for the sole purpose of human economic gain. Studies have shown that a grass-fed cow is more nutritious than a steer that’s spent its entire life in a CAFO. You are what you eat, or maybe, you are what the thing you ate ate.

So industrial foods are bad – but what about organic? Turns out, they’re not much better. The label “organic” doesn’t mean much, especially since the lawmakers who defined the term were influenced by farms and industries who opposed the organic movement.

Our last salvation is farmers markets (since we can’t hunt and forage every single meal). Local farms tend to treat animals more humanely, and the crops and animals on the farm work in harmony to provide for each other.

“Whenever I hear people say clean food is expensive, I tell them it’s actually the cheapest food you can buy. That always gets their attention. Then I explain that with our food all of the costs are figured into the price. Society is not bearing the cost of water pollution, of antibiotic resistance, of food-borne illnesses, of crop subsidies, of subsidized oil and water — of all the hidden costs to the environment and the taxpayer that make cheap food seem cheap.”

Joel Salatin, as quoted by Michael Pollan (pg 225)

Pollan also talks a little about the ethics of killing animals for food. I want to read Peter Singer’s Animal Rights to understand his arguments first hand, but according to Pollan, people either avoid confronting the issue (as do vegetarians and vegans) or defend their position (as do omnivores, usually unsuccessfully). My main motivation for becoming pescatarian was health, but the environmental and animal-rights aspects of switching also play a role. I never really thought too deeply on the issue of animal rights, but this book has encouraged me to do so, and I think through the process, I’ll gain a deeper appreciation for not only the animals, but their position in the food chain and their effect on the food I eat.

Overall, this was probably the most thought-provoking book I’ve read in a while, and I definitely recommend it to anyone who is interested in learning more about food (which should be everyone!!!). Nowadays we are so far removed from the entire industrial food chain that we’ve forgotten where food comes from, and, given that we eat 3+ times a day, it is an issue we ought to remedy.

Murder on the Orient Express Review

Murder on the Orient Express by Agatha Christie

Rating: ★★★★★★★★☆☆ 8/10

This was a book that was really hard to put down. It’s a story with a simple plot, a handful of characters, and twists and turns that greatly influenced mystery novels for decades to come. This book is the apotheosis of my definition of a “leisure read” because you don’t have to spend much brain power thinking (Poirot walks you through the mystery) but it’s still interesting.

To be honest, I read it because Katey, the main character in Amor Towles’s Rules of Civility, reads an Agatha Christie book, and I thought I should too, just because of her books’ cultural significance. I probably won’t be reading another Poirot novel just because I didn’t find it too fulfilling. Perhaps if I’m laying on a beach somewhere with absolutely nothing to do, I’ll pick another one up. But until then, farewell Hercule Poirot.

Rules of Civility Review

Rules of Civility by Amor Towles

Rating: ★★★★★★★★★★ 10/10

This was the inaugural novel of the newest, hottest book club around, Maggot Habitat (Jessica, Hoang, Anne, and me). Having read Gentleman in Moscow before, I was familiar with Towles’ exquisite ability to immerse the reader in the setting. Every time I picked up the book, I was whisked away to the 1930’s, stumbling alongside Katey as she navigated her defining year.

I think this is one of the best books to read as a twenty-something year old – it’s told from the point of view of Katey Kontent in the 1960s as she reminisces on the year 1938. In this year she meets Eve, her fun-loving, mercurial yet loyal best friend; Tinker Grey, a man who isn’t who he seems to be… or is he? Wallace Wolcott, the man of her first pure relationship; and Dicky, her rebound from Tinker. These are the four people she says influenced her the most in 1938, and by 1940, she hadn’t talked to any of them in a year. There are people like this in all of our lives: people we have such meaningful relationships with that years after parting, we still attribute parts of ourselves and our success (or misfortune) to them.

In some ways, this book reminded me of Jessica’s Instagram post after graduation. Life is a lot of things, but it’s made up of small decisions, like skipping class to go to Chipotle that one Thursday, or deciding to help Justin cook tea eggs for TASA. And once you lose the ability to see the beauty in these mundane moments of happiness, you’ve become someone else. Here’s a quote I loved that captures this sentiment perfectly:

Uncompromising purpose and the search for eternal truth have an unquestionable sex appeal for the young and high-minded; but when a person loses the ability to take pleasure in the mundane — in the cigarette on the stoop or the gingersnap in the bath — she has probably put herself in danger.

pg 127

Another thing I appreciated was how Towles did not paint in black and white the conflict between happiness and money. Many characters are negatively influenced by the pursuit of wealth, but there are also people like Wallace, who, despite his wealth, remains personable — and still reflects longingly on his childhood in the Adirondacks.

I will stop before I reveal too much about the great plot and the complex characters, but first, I will share some of my favorite quotes from the book.

I know I made the right choices, but by right choices I know that’s how life crystallizes losses

pg 317

I’m willing to be under anything…as long as it isn’t somebody’s thumb.

not sure when but in the beginning

Halfway up the first flight was an old Negro with a cane who could have ascended faster to heaven than he could to the fourth floor.

pg 294

That’s how quickly New York City comes about — like a weather vane — or the head of a cobra. Time tells which.

pg 158

Old times, as my father used to say: If you’re not careful, they’ll gut you like a fish.

pg 76

January Book Review

This post was originally published on Quora on January 1st, 2019.

Why Nations Fail by Daron Acemoglu

Rating: ★★★★★☆☆☆☆☆ 5/10

The full title is Why Nations Fail: The Origins of Power, Prosperity, and Poverty, and this verbose title reflects the repetitious, sometimes tedious nature of the entire book. Acemoglu writes in 500 pages what could have been written in 100: that inclusive political and economic institutions, like democracy and capitalism, are essential to sustained growth and prosperity. It is a really interesting thesis that’s supported by examples from Ancient Rome to modern day United States, but I think there is some factors (most notably size of the country) he omitted. I also think that the book is starting to be outdated, as we see China experience a seemingly stable growth over the past 40 years despite an authoritarian, one-party state. Another example of a country that defies his thesis is Singapore, a small country with draconian laws and regulations ruled by a one-party government that remains prosperous nevertheless. Why Nations Fail is an interesting read that should be taken with a grain of salt.

Thinking, Fast and Slow by Daniel Kahneman

Rating: ★★★★★★★★★☆ 9/10

Kahneman’s book is a synthesis of a lot of his research throughout his career as a psychologist, and his ideas are super interesting. It explains why humans act the way we do, even when the action might not rationally be the best decision. I definitely think it’s a must read for everyone, because if you can recognize bad decisions as a result of the illusion of validity, loss aversion, or the endowment effect, you can take a step back and reconsider. These illusions and effects are a result of our brain trying to make life as easy and safe as possible, and this often leads to inaccurate or incorrect decisions. Thinking, Fast and Slow is a great, easy read with examples that will trick you and really convince you that these effects are real!

Life 3.0: Being Human in the Age of Artificial Intelligence by Max Tegmark

Rating: ★★★☆☆☆☆☆☆☆ 3/10

This book, written by an MIT physics professor, sometimes reads like a middle school book with cartoon illustrations, and other times reads like a badly written abstract of an article in Science. He talks about what artificial intelligence is (and all his definitions are as vague as possible), and what the future of AI should look like (which he doesn’t take a position on either). He has multiple calls to action for the reader to care about AI and shape the future, because we’re in the middle of a revolution of the same magnitude as the one from unicellular organisms to multicellular organisms. Maybe I’m just too critical, but it seems to me that there wasn’t much content in this book other than a bunch of cursory overviews of quantum mechanics, psychology, and philosophy and weak jokes. And he also just name drops everywhere!! He talks at length about the AI conferences he’s organized, and that’s really cool, but then he just names every famous person there, even if it adds nothing to the book!!

Pachinko by Min Jin Lee

Rating: ★★★★★★★★★★ 10/10

Min Jin Lee’s writing is absolutely beautiful in this book. You learn a lot about Korean and Japanese history throughout the 20th century. More importantly, while you follow a family through four generations, you learn about loss, love, purpose, and identity. I thought it was similar to East of Eden in the pace of the book, but I loved Pachinko so much more because I saw character’s maturation and development in an Asian environment. Things like family name, pride, and traditions are unfortunately absent from popular American classics. I’m not sure if it was just because I was Asian, or if this happened to all readers, but I was able to connect with the characters more than most books I’ve ever read. The entire book is moving, and it’s made all the more so because it’s underscored the first line of the book: “History has failed us, but no matter”. History and time are indifferent, and in the context of Asian culture, all of the characters’ stubborn, loyal acts, are further emphasized.

“At his burial, Yangjin and her daughter were inconsolable. The next morning, the young widow rose from her pallet and returned to work.”

“seeing him as only Korean — good or bad — was the same as seeing him only as a bad Korean. She could not see his humanity, and Noa realized that this as what he wanted most of all: to be seen as human.”

The Kite Runner by Khaled Hosseini

Rating: ★★★★★★★★★☆ 9/10

The Kite Runner is actually really similar to Pachinko, with a few notable differences. The first, obviously, is that The Kite Runner is set in Afghanistan in the second half of the 20th century, where power over the country switches hands multiple times, from the king to a military leader, to Russian occupation, to terrorist occupation. The second is that it’s told from the point of view from the main character, Amir, not a third person omniscient narrator. The third is that instead of spanning four generations, The Kite Runner only tells of one (with mentions of Amir’s father’s generation and Amir’s child’s generation). I learned a lot about Afghan history and culture. What stood out to me was that Amir, the main character and first person narrator, makes the reader dislike him. I hated him so much, making his transformation really genuine and emotional. It’s a story about finding yourself (again), living with demons in your past, family, honor, and holding on to culture and humanity. The only complaint I have of this book, which is what knocked my rating from a 10 to a 9, was that Amir foreshadows as if he were getting paid for each one. Every major event, and I mean every single one, was foreshadowed.

“[he] was Sunni and he was Shi’a, and nothing was ever going to change that. Nothing.”

“Never mind any of those things. Because history isn’t easy to overcome. Neither is religion.”

“For you, a thousand times over.”

Wonder by R.J. Palacio

Rating: ★★★★★★★☆☆☆ 7/10

Wonder is a heartwarming story about August (Auggie) Pullman, a kid with severe facial differences entering 5th grade at a public school for the first time. It’s told from 6 different perspectives, but the bulk of the book is from Auggie’s perspective. I found the different perspectives exciting but distracting. One character’s perspective was written with bad grammar and with no capitalization. I’m guessing this was to distinguish one character’s voice from another’s, because I don’t think the author was really able to do that just through varied sentence structure or distinct phrases. If I was paying a little less attention, I probably wouldn’t be able to tell one character’s perspective from another’s. Despite the similar voices of the characters, I do think that Palacio’s choice to tell the same story from six perspectives was effective, because we see the reasoning behind their actions.

Update 2: Making the Cutthroat Game

This post was originally published on Quora on January 1st, 2018.

Since my last update, a lot has changed. Almost immediately after I finished creating my little command line text game, I realized that this wasn’t what I had envisioned. It was playable, yes, but it was a single player game. I could play against a bot, but the bot was either too easy or too hard, and I couldn’t change the difficulty without going into the actual code and tweaking the numbers.

I changed gears a little and determined that the best path to proceed down was that of making a web application that allowed multiple players to connect and play a game. My plan was to have the server running, and once a player connected, a thread would be spun off, which would handle all the messaging between the game and the player through web sockets. The shared state would be the game instance. Before I dove in and began coding up this multithreaded game server, I came across another, newer way of creating a server — using asynchronous programming.

In Python3.5, asyncio was introduced as Python’s asynchronous programming library, Guido’s own version of twisted, or gevent. Using event-driven programming eliminated any need to design a multithreaded server — I wouldn’t have to think about race conditions or locks. I had never heard about asyncio before I decided to do this project, and I didn’t understand much of it even after I completed a working version of my asynchronous server. I felt a little underwhelmed because I really wanted to understand how it worked. I watched David Beazley’s talk on concurrent programming, as well as Raymond Hettinger’s talk on threading vs asynchronous, read many online articles on the subject, and after all that, I still don’t fully understand it. In a grossly oversimplified sentence, asyncio allows you to mimic concurrency by yielding control to another generator whenever you are waiting on a blocking call to finish. When the blocking call is ready, which is determined by select, control can shift back to that generator when the next yield is hit. So essentially, it’s like threading, but you get to choose when the context switches. And you aren’t actually using two threads; everything happens in one thread.

Okay.

So I decided to use asynchronous programming to create my server. How does it work? I use aiohttp, a great library that provides an asynchronous web server framework. When someone goes to the website, the static web page is rendered. Then, they enter their name and click “connect”. When they click “connect”, the client establishes a web socket connection with the server. The server acknowledges that a player has connected, and updates their client will all of the relevant information. Then, they have the option of joining an existing game or starting a new game. If they start a new game, a game instance is created and an asynchronous game loop is started. If they join an existing game, they get added to the game instance. Once the player is in the game, all communication is handled by the web socket asynchronously. Here’s a video of some gameplay:

The UI sucks!!!!!! I’m terrible at CSS and cool Javascript tricks, so please help me if you’re good at making websites look pretty!

I had some doubts about asynchronous programming, but they were pretty much all dispelled after I finished this version of Cutthroat. I tried up to 5 players connecting in 3 different games, and changes were pretty much instantaneous. Perhaps when there are more players, I’ll start to notice a performance hit. The tough thing about asynchronous programming is that you have to go all in. You can’t have any blocking calls, or else your program will hang. That means you can’t mix async and threading easily, because creating and joining threads is blocking. I’m honestly not really sure how this could scale.

During testing, I encountered a really puzzling bug. I used ngrok to expose my localhost port to the web, so that I could play with my other friends. The web socket was established, and their clients could send messages to my server, but my server couldn’t send messages back. This meant that their web page wasn’t updating, and they weren’t able to play. I switched to using localtunnel as an alternative to ngrok, and tried again. Everything worked for some strange reason. localtunnel and ngrok do exactly the same thing, so I’m not sure why the web sockets work with localtunnel and not ngrok.

Next Steps

  • Deploy this on heroku at some point. I’m not sure how to do that yet.
  • Update the UI…..
  • Make it possible to leave a game and join another game, or restart a game with the consent of the other players
  • Create a chat service so that players can chat with each other during the game or in the lobby
  • Institute the “turn” system where players take turns flipping over tiles.

Again, everything is open source — you can see my code on my Github!

PALS Book Club: (Half) Year in Review – 2017

This post was originally published on Quora on December 28, 2017

At the beginning of the Fall 2017 semester, three friends and I formed a book club on a late night whim. We used the initials of three out of the four members to make the name PALS, which also conveniently describes our relationship with each other.

We have weekly meetings on Tuesday nights where we discuss the book and snack on (usually Andy’s) food. We talk about major themes, make predictions, and make connections to our lives. Normally we don’t get caught up in the nitty gritty English stuff like doing close readings of passages, analyzing the author’s word choice, although that does occasionally happen, and when it does, the IB educated part of my mind glows briefly like embers blasted with air from a bellows.

We read a book a month on average, and as this year is coming to a close, I thought it would be nice to review the books we’ve read this year.


SeptemberAll the Light We Cannot See by Anthony Doerr

Rating: ★★★★★★★★★☆ 9/10

This book, set in the WWII era, follows the lives of Werner Pfennig, a German boy with passion for all things electronic, and Marie-Laure LeBlanc, a blind, curious French girl who loves reading and solving puzzles. These two separate lives are mashed together by the war, and we get to see how their lives transform. The two stories are told anachronously — and at times it is confusing, but Doerr does a good job setting the scene and helping us understand the context switch, and the end result is satisfying. There is a “present” timeline which progresses slowly, and a “past” timeline that quickly advances until it merges with the present. This nonlinear chronology was jarring; a good fit for the chaotic nature of war and the disruption of the characters’ once peaceful lives. In our PALS meetings, we discussed whether or not people were simply victims to circumstance, nature versus nurture, whether people were born good or born evil or something in between. **SPOILER ALERT** In the book, Werner’s ability to fix radios and understand electronics secures him a spot in the Hitler Youth, although he is an innocent kid. He does not want to join the regime, but it is the only way he escapes his otherwise doomed life in the mines. He is a victim of circumstance, but it seems as if we are too. All the choices we make are in response to the current circumstances; the paths we choose are the paths we think will be best in our own interest. So does that really mean we have free will? We definitely have some illusion of free will because our circumstance is not as stark and harrowing as Werner’s, but we might really be pigeonholed into a few viable choices for our lives.

OctoberRoom by Emma Donoghue

Rating: ★★★★★★★★☆☆ 8/10

Emma Donoghue’s book, which was made into an award-winning movie, was a sad yet uplifting story of willpower, of love, of discovery. Jack has spent all of his five years in Room with Ma. Only the things in Room — Toothbrush, Meltedy Spoon, Sink, Toilet — are real to Jack, because that’s all he’s known. Ma has been held captive in Room for 19 years by Old Nick, and Jack is a product of rape. I guess the next part is a spoiler, but it’s shown in the movie trailers so I don’t really count it as a spoiler: the story follows Jack’s heroic escape, and their integration back into society. Donoghue writes from the perspective of Jack, and it’s amazing. He can only understand so much, so we can decipher meaning from Jack’s simple observations. For example, Jack describes a game him and Ma play where they stand up to the skylight and yell as loud as they can. To Jack, it is simply a game, but to us, it is obvious that Ma is trying to catch the attention of a passerby in hopes of rescue. PALS talked about integrating into society, stunted growth, life in captivity, the moral conflict Ma might feel about keeping a child that was a product of rape, and tried to imagine what it would be like in their shoes. As you can imagine, however, trying to understand what it’d be like living in a single room for 19 years is a little tricky. While in the Outside, Jack is longing to go back, because everything in the world is new and scary and he wants the comfort of the few things in Room. My favorite part was the ending, **SPOILER ALERT**, where Jack returns to Room after living in the real world, and realizes that it was actually tiny and filthy, and he feels no desire to every go back. :’)

NovemberThe Paper Menagerie by Ken Liu

Rating: ★★★★★★★★★☆ 9/10

This collection of short stories explores a sundry of topics from technology to story-telling to culture. Since I’m writing this blog post from home and I left the book at school, I will mention a few of the stories that stood out the most to me. Obviously, I’ll talk about Paper Menagerie first, the namesake short story. It’s about a Wasian (half-white, half-Asian) boy whose father is white but whose mother was bought from a small village in China out of a catalog. As a young child, the child loves his mom: she makes origami animals with which they play together. When he goes to middle school, he meets other American kids and he becomes ashamed of his mother. She can barely speak English. She folds up used paper for him to play with, instead of giving him action figures of Obi-Wan Kenobi. She cooks Chinese food, not hamburgers. They are in America, but she is not American. He tries to be as “American” as possible, and to do that, he shuts out his mother. After a while, he does not talk to her at all, and even when she is in the hospital, his mind is elsewhere. Years later, he goes in the attic to retrieve the origami animals she made him. He notices that the tiger has writing on the inside, unfolds the tiger, and reads. It’s a letter from his mother, written in Chinese. With the help of young Chinese woman, he reads it. Here’s just a snippet of her letter:

“Son, I know that you do not like your Chinese eyes, which are my eyes. I know that you do not like your Chinese hair, which is my hair. But can you understand how much joy your very existence brought to me? And can you understand how it felt when you stopped talking to me and won’t let me talk to you in Chinese? I felt I was losing everything all over again.”

I cried a LOT when I read this story — like I was bawling hard. When I read it, I said that no story has ever resonated with me like Paper Menagerie had, and it is still true. It illustrates a part of growing up I feel every Asian-American kid has experienced.

Now I have no more room for the other stories. YikEs…

DecemberEast of Eden by John Steinbeck (still in progress)

Still reading this American classic. It’s probably the most important literary work we’ve read in PALS, but as of now, it’s also the driest. But no pain no gain, right?


Thanks Liz and Andy and Jack for being in the book club with me! We’re thinking of expanding our extremely exclusive book club and renaming it Club Reading so that it qualifies as a sport and we can get funding. If you want to join, send your resumé to me along with a cover letter and I will get back to you as soon as possible.

Design a site like this with WordPress.com
Get started