2018-02-10.links

Stopping childhood lead exposure responsible for a 56% drop in violent crime in the 1990s. Link.

Despite what they say, men and women have a strong automatic preference for monogamy. Link.

This study used the implicit-association test, which is somewhat hard to fake, but not impossible.

what lah

How mangoes became popular in China. Choice quote:

Alfreda Murck writes that when a mango celebration came to a small Fulin village a local dentist didn’t see what was so special. He exclaimed that it just looked like a sweet potato and, for his insolence, “he was arrested as a counterrevolutionary.” The man was found guilty and executed.

Are we in a bubble that’s about to burst? I don’t know, and after reading this, I still don’t know.

NOTHING IS SAFE.

I just learned about vDSOs (virtual dynamic shared objects). Basically, relatively safe kernel functionality like gettimeofday() can bypass the whole syscall context switching by using a shared library. (If the kernel doesn’t have vDSO support it will fallback to a traditional syscall).

2018-02-03.links

Baremetrics shows their own real stats in their demo.

Recovering audio from recording the vibrations of objects.

The history of economic growth.

Related: the industrial revolution was basically the only significant event in history.

Mike Bostock, creator of D3.js, launches notebooks for Javascript.

What do you know. The basic tenets of economics works: building more housing in Portland lowers rent costs.

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!