2018-01-26.links

I’ve been reading a lot of things that are just compilations of links lately, like Benedict Evans’ newsletter and SSC links posts, and I’m inclined to start my own, partly so I can start posting regularly again. I’ll try to do this every week. It’ll mostly be stuff I found interesting the past week.

From SSC: Two basic at-odds political meta-theories: conflict theory vs. mistake theory. Conflicts theorists view politics as a zero-sum game, where it’s a constant struggle between those with power and those without. Poor political decisions are poor because they benefit the oppressive class. Mistake theorists think poor decisions come from poor decision-making/priors instead of power struggles.

The original rsync paper is surprisingly short, easy to read, and elegant.

A very good list of 57 startup lessons from the founder of RethinkDB. It’s hard to pick a favorite, but I’ll try:

Minimize complexity. The simpler the product, the more likely you are to actually ship it, and the more likely you are to fix problems quickly.

An oldie but a goodie: Steve Yegge’s Platforms Rant. Illustrates the importance of having a platform. You can’t expect to consistently build what users want. Let other developers do the work for you by building a platform instead and opening it up. AWS and Zynga-era Facebook games are great examples of this. So was Twitter before they added developer restrictions.

Why does SF have a huge homeless problem? Here’s why: 1) Insane rents due to NIMBYism, 2) Easy weather (you won’t see too many homeless in Montreal), and 3) Mental illness, although this may be circular: becoming homeless for an extended period of time probably makes you go crazy.

50 insane icebreaker questions by Chuck Klosterman: my favorite is Canadian Football Future — reminds me of DFW for some reason.

A $1.50 Michelin Star meal in Singapore. Particularly relevant cause I’m in Singapore right now and I really want to go try this place out, but it’s raining pretty hard right now. Maybe tomorrow.

Shameless self-promotion: I wrote a post on backtracking.

I used Elm to create the visualization. It was such a pleasure to use — like Haskell, but more front-end oriented. Here’s a good beginner’s book on Elm.

What I’m listening to this week:

Jarvis' 100 most asked reminders

Well, it’s midterm season, which means I’m doing anything except studying for my compilers test tomorrow. I thought it would be interesting to go through all the reminders Jarvis has received and find the most commonly asked reminders. Thanks to our very liberal privacy policy, I used Heroku Dataclips to download a JSON-formatted list of reminders, and then wrote this short script to count the 100 most common reminders:

from collections import Counter
import json

with open('reminders.json') as reminders_file:
    data = json.load(reminders_file)
    reminders = data['values']

c = Counter()
for reminder in reminders:
    reminder_id, user_id, message, timestamp, completed = reminder
    c[message] += 1

print(c.most_common(100))

Here are the results:

Reminder Count Percentage
to wake up13491.779%
to sleep4630.611%
to eat3500.462%
Yes2890.381%
to study2690.355%
to get up2220.293%
to go home2190.289%
to get coffee2110.278%
to go to work1890.249%
to call mom1870.247%
to drink water1830.241%
to go to the gym1650.218%
yes1590.210%
to go to school1440.190%
remind you1400.185%
to do your homework1390.183%
to take out the trash1330.175%
to go to sleep1310.173%
to leave1200.158%
to walk the dog1190.157%
to go to bed1130.149%
meeting1090.144%
to shave1040.137%
to work1030.136%
to do your best890.117%
to do homework890.117%
Remind me790.104%
to pay your rent780.103%
to fuck you770.102%
Remind760.100%
to call730.096%
to go for a run700.092%
No700.092%
to pay rent680.090%
to kill myself670.088%
to go out670.088%
to call your mom660.087%
to take a shower640.084%
to buy milk630.083%
to buy toilet paper620.082%
to eat lunch610.080%
to take a bath600.079%
to do something590.078%
to take your medicine580.076%
wake up580.076%
to do laundry560.074%
to go to gym550.073%
to go520.069%
to kill you520.069%
to have lunch520.069%
to go to meeting510.067%
to say hi500.066%
to pick up laundry500.066%
to leave work500.066%
to check metrics500.066%
to brush your teeth490.065%
to call dad460.061%
to read460.061%
to fuck460.061%
to die450.059%
to exercise440.058%
to run420.055%
to shower420.055%
to pray420.055%
to workout410.054%
to pour tea410.054%
to take medicine410.054%
to poop410.054%
to say hello410.054%
Nothing410.054%
to eat dinner400.053%
to wake you up400.053%
to go to the bank390.051%
to call Mom380.050%
to go to370.049%
to test370.049%
to get ready360.047%
to leave the office360.047%
to take a break350.046%
to have sex350.046%
to work out350.046%
to go to the team meeting350.046%
to go to class340.045%
appointment340.045%
to take your pill330.044%
to pee330.044%
to go to the dentist330.044%
to wakeup330.044%
to return the library book330.044%
to go to leave work early320.042%
to send email320.042%
to have dinner310.041%
to call mum310.041%
to check300.040%
to drink coffee300.040%
to watch tv300.040%
to fill out your visa forms300.040%
to hand in math assignment300.040%
to masturbate290.038%
to go to the DMV290.038%

Some of those are pretty…interesting.

If you found Jarvis useful, don’t forget to donate!

Announcing Juicebox

I’ve been working on something for the past few months that I’d like to share with you. It’s a website called Juicebox where you can stream music with people from around the world. Think of it like Twitch for music. Check out my box, for example.

I’m also working on the mobile versions. Stay tuned!

A Brief Primer on Options

Options are a really interesting type of financial security. They are themselves part of a broader group of securities called derivatives. Derivatives, as the name suggests, derive their value from something else. This “something else” can be a stock, the outcome of some event, or even another derivative! Anyway, let’s focus on options, which typically derive their value from the price of a stock.

An option is essentially a contract between two parties that gives the buyer of the option the right to buy or the right to sell some underlying thing at a specified price. This is useful for a few reasons. If I think a stock’s price will go down, I can buy the right to sell the stock at some price and at some point in the future. This price is called the “strike price” and that point in time in the future is called the “expiration date”. The person that sells me this option must buy the stock from me at the strike price, if I choose so. Now, if I’m right and the stock price does go down way below the specified price, then I’ve made money: I can just buy the stock at its current low price and sell it to whoever wrote me the option at the strike price. If, however, I’m wrong and the stock price goes up, or doesn’t go down enough for me to make more money than I’ve spent on the option itself (this is called the premium), then I’ve lost money and the person who sold me the option gets to keep the premium. This is another reason options are useful. In traditional short selling, you borrow and then immediately sell shares in the hopes that the price goes down and you can buy them back later at a lower price. But you must buy them back, so if the stock happens to go up tremendously then you must pay that tremendous price. So in traditional short selling, the downside is unlimited, while with put options, the downside is capped at the cost of the premium.

What I just described was a put option, which gives me the right to sell the underlying. We can also purchase the right to buy some stock at some strike price. This is called a call option. Call options work pretty much exactly inversely to puts: I can buy an option to buy a stock at a certain price, and if that stock goes up way past that price, then I’ll exercise my option and sell it immediately at the higher market price. And if the stock price doesn’t budge or goes down by expiry, then I won’t exercise the option and lose my premium. Now, let’s go through another example, with some actual numbers. Last week, Netflix had its earnings report and its stock soared by over 20%, from about $100 to $126. Now, if I had $1000, I could have bought ten shares of NFLX and made a $260 profit, which isn’t bad. But I could have also bought 200 NFLX call options at a strike price of $100 for about $5 each. That would have netted me a whopping $3000 profit from the same outcome. This is how we can use options as leverage and get a greater return on investment. Of course, there’s no free lunch: I easily could have lost the whole $1000 if the price didn’t go past $100, since there would be no point in exercising the options. Meanwhile, I would have still made some profit had I flat-out bought the shares.

One more thing. There is yet another parameter in options, and that is the style. If the option is American-style, then you can exercise the option anytime until expiration. If the option is European-style, then you can only exercise it on the expiry date. There are other, more esoteric styles, but most people typically use American options.

20161028.plan