Posts
-
Things I Did In My Khan Academy Internship
Comments- Met some really cool people, both interns and full-timers.
- Ate freshly baked bread with self-churned butter. I approve of all company traditions that involve eating delicious things.
- Got to discuss Lockhart’s Lament, the zone of proximal development, and other metacognitive ideas.
- Participated in acroyoga.
- Saw fantastic Jurassic Park cosplays in celebration of Jurassic World. There’s a dinosaur costume in the office, it’s great.
- Discovered a depressing fact with Sal over lunch - an ice cream Snickers has fewer calories than a regular Snickers. So from a certain point of view, ice cream is healthier than Snickers.
- In my first week, improved quality of life in the code deploy process.
- Successfully nerdsniped three engineers for two hours with a puzzle from a puzzle hunt.
- Met a software developer who has played Hatoful Boyfriend, the pigeon dating simulator. Pigeons forever! Okosan is best bird!
- Built an automated backup system for Khan Academy’s mailing list data.
- Wrote some unit test infrastructure that made it easier to test behavior on Khan Academy endpoints.
- Found and fixed a cron job that had been silently broken for 9 months, which involved some of the best debugging I’ve ever done.
- Added ASCII art of an Arcanine to the codebase, although with less alliteration.
- Did some real, honest to God machine learning for the annual Healthy Hackathon. We computed similarities in a sparse user-video matrix. Yes, we were trying to be Netflix. No, we did not replicate Netflix in a week. Yes, it was still really cool.
- Drank far, far too much tea. It’s not my fault the office stocks unsweetened tea, and it’s also not my fault the office is in walking distance of several milk tea places.
- Speaking of which, got into a nuanced discussion about milk tea linguistics. By my understanding, “pearl milk tea” is the standard around Palo Alto, “boba” is the standard almost everywhere else, and “bubble tea” is used interchangeably with “boba” on the East Coast.
- Also got into a discussion about cloning ethics with other interns in a Chinese restaurant. We then realized we were a real life version of the dining philosophers problem. Luckily, we did not deadlock because we had sufficiently many chopsticks.
- Played D&D for the first time. I shot an arrow right into somebody’s face, it was wicked. Somewhat less wickedly, a snake almost Total Party Killed us.
- Taught two interns how to play Dominion, and totally kicked their butts while doing it.
- In return, got my butt totally kicked in Medici, Ticket to Ride, Settlers of Catan, and Tzol’kin.
- Actually won a few games of Coup!
- …after losing many more games of Coup.
- Also, gained a new appreciation for the Coup metagame. I got to pretend to be a Captain that was pretending to be an Ambassador! And I almost got away with it too.
- For the talent show, failed to solve a Rubik’s Cube blindfolded. I still won a prize: a heat pack in the shape of a heart.
-
Had a really, really good time.
-
Hello world, again
CommentsLet’s start with a story.
A long time ago (1 year 3 months ago to be exact), some dude registered a personal domain and set up a site with Blogger. He did this for two reasons: he didn’t have a personal site, and he wanted a place to practice writing. He then wrote two technical, dry posts about using Amazon Web Services to mine Litecoins, and never posted anything again.
Let’s go to the present. That dude (who was clearly me) wants to restart that blog. I’ve got things I want to say, and although Facebook statuses are okay, they don’t have formatting and they’re harder to find in the future.
If that was the only consideration, I could have used Facebook Notes, but I’ve also been looking for an opportunity to update my personal site. After looking around a bit, I’ve settled on using Jekyll and Github Pages. I chose them because:
- Blogger is a heavyweight editor that hides lots of formatting behind abstraction. That was good then, but now I want something cleaner. With Jekyll, it’s much easier to see how my site is generated. There’s no WYSIWYG editor, but I can read unrendered Markdown well enough.
- With Github Pages, I don’t need to worry about paying for web hosting.
- The site is backed by a git repo I get backups for free. I get branches for free. I get edit history for free. I can literally go through my commits and get insights into my writing process. This is what sold me on Jekyll; having complete draft history is beautiful for retrospectives on writing. To be honest, I suspect I’ll never use it, but it’s good to have the option.
In short, Jekyll lets me write blog posts with little overhead and great transparency. Over the past few days, I’ve set up the current site and ported over content from the the old one. You should see the old blog posts if you scroll down. Out with the old, in with the new…
As for next steps, I’m going to try to keep this reasonably updated. That means not all posts will be technical - I don’t have that much material. It’ll be a personal blog, and I’ll post whatever I feel like writing about. So far, I have two posts in the works. One involves reviewing fanfiction, and the other involves a webcomic. They should be going up shortly. There may be a third about biased and unbiased coins, but that one will come out later.
As for the title - although I still don’t know what I’m doing with my life, one of my goals is to be an interesting, insightful person. Unfortunately, I’m not one yet. But if I try, maybe I can get there.
-
Mining on AWS: A small update
CommentsThis is a post from the old blog, which I have not edited in any way. Your results may vary - the conclusions here came from prices circa 2013.
In light of the recent massive jump in Litecoin prices, I’d like to share some amusing facts.
Thanks to Facebook friends, it turns out that the g2 instances are more efficient at mining Litecoins. Running both cudaminer and 4-threaded cpuminer gives a total of around 170 kH/s, which is around half the hashing power of the cg1 instance for a quarter the cost. Additionally, spot instance prices for g2 are currently very stable at $0.075/hr, and are available in both N.Virginia and Oregon, instead of just N.Virginia.
Given this more efficient mining, and the current Litecoin price of roughly $20/LTC, and assuming a 1% pool fee, the estimated AWS -> LTC exchange rate is
$0.815 in AWS costs <-> $1 in LTC
That’s right, mining on AWS is currently profitable!
Some caveats:
-
The price of LTC is very volatile. That it doubled in price in a single day should be proof of that. There is no guarantee it will stay profitable for very long. Litecoin prices could crash the next day and it wouldn’t even be that surprising.
-
You are at the mercy of how lucky your mining pool is at getting a block. The pool I’m using has averaged around 110-120% of expected time per block, which brings me to almost dead even. Additionally, the high prices are bringing in more miners, so the difficulty is going to rise, which will also bring expected profit down.
-
The fees for exchanging LTC to USD are 2% at BTC-e, the most popular Litecoin exchange. Overall this doesn’t mean much, but if you need to continually convert LTC to USD to feed back into AWS, it’s 2% less money going through the loop.
-
For g2 instances, you are limited to 10 spot instances per region, giving a maximum of 20 instances. So unfortunately, you can’t abuse EC2’s ridiculous scalability, because Litecoin mining is only profitable at the spot instance price. Assuming you max out on instances, the mining calculator gives 2.28 LTC/day, which works out to expected $10/day in profit.
-
If more people start asking for spot instances, the price will rise and profitability will go away. Given the current situation, this might happen very soon.
Personally, I’m planning to run as many instances as I can manage to get. No matter how fleeting this might be, it’s hilarious that AWS mining is currently profitable, and I intend to abuse the situation while it lasts.
-