2013: In which we won the MIT Mystery Hunt

Half a week later and despite the lack of sleep, the memories of the MIT Mystery Hunt are starkly fresh. I am incredibly happy and honored to be a part of the small group of hunters to solve the meta puzzle that ended the 2013 Mystery Hunt.

But the team that was, whose name due I suppose to the lack of character limit in the registration form and too much creativity was the entire text of Atlas Shrugged, was called by the Sages and asked, “Would your team agree to stop if the team that was currently in the lead was given the coin?” Other lead teams were given the same option. This was a huge break of competition format, and a question as impossible to answer as some of these puzzles. [Shrugged] was close to the Indiana Jones metapuzzle answer involving decoding a huge calendar wheel of dates, but had been given a wrong response to a yes/no hint question asking if half of their data was right. When they get a second call from HQ correcting the mistake, they turned down the offer to stop Hunting and pressed on. Five minutes later, John Galt and friends did get the fifth of six round answers and headed off for the last task, the runaround.

via 2013: The Year the Mystery Hunt Broke | Wired Magazine | Wired.com.

Sunday night and beyond, Twitter saturated with good-natured frustration about hunt. My favorites:

Damn it, someone win the mystery hunt. (@dbfclark)

Find the damn coin. #MysteryHunt (@gemini6ice)

dear god how much longer? #mysteryhunt (@roydraging)

Holy shit they just mad[e] it so you can skip an entire round in order to end this thing. This is trouble #MysteryHunt (@jmgold)

This #mysteryhunt is so long that it’s spanning two presidential terms. (@Jeffurry312)

Appropriate that the team with the longest name won the #mysteryhunt with the longest duration. (@mersiamnot)

Winning was awesome and, even better: by the end, many of the other teams thanked us for winning (and thereby ending the hunt).

[Image credit: lroyden]

75 hours and 19 minutes, the longest in Mystery Hunt history. I learned so much, got to know a bunch of cool people, and am so happy to be a part of it all.

Singapore: National Day

Singapore’s 47th National Day marks Singapore’s independence from Malaysia and consists of a “Parade” with lots of marching, music and singing, salutes, performances, and fireworks. Unfortunately, you need an invite or ticket to attend, so we watched the stream from our apartment by downtown Singapore (oh yeah– hello from Singapore!). Interestingly, many of the local people do not recognize National Day as a holiday — rather, it is mostly wealthier people, civil servants, and foreigners who partake. The locals told us that it’s essentially a government function. What we saw affirms this too; aside from the flags and banners everywhere, life and traffic seemed to continue as usual. Our morning started with a huge procession of red-wearing Singaporeans next to our apartment walking off to somewhere, and we got very excited for the big day, but the places we went did not seem to be affected by the holiday at all. We learned that educators and officials are invited to the parade, and I wonder who else. I originally associated National Day with US’s Fourth of July, but after some research, I deemed it to be more like a festive version of the State of the Union address. Except it seems that this year, they aired the National Day message a day early (transcript here). So there goes that theory.

[Photo credit: 1 2 3]

Either way, it was very interesting to see Singapore show off its various groups of armed forces and performers of the various southeast Asian cultures, to listen to the singing in Singapore’s 4 national languages, and to see the sea of some 27,000 people in the world’s largest floating stadium. So many colors, so many styles! I guess the mix of cultures is their culture. Despite the utter lack of Caucasians, there is a touch of British influence to much of what we see in Singapore, and it is even apparent in the show, when performers wearing traditional southeast Asian drag dance to rap. And since Singapore’s such a tiny place, we could hear the fighter jets and fireworks from our apartment as we caught them on the TV.

Anyway, happy National Day!

For loops

The following C code iterates over the characters of a string. I’ve never thought to write code this way, but of course you can.

#include <stdio.h>

int main() {
    const char *text = "testtest";
    int n = 0;
    int i;
    for (i=0; text[i] != '\0'; ++i) {
    printf("%d\n", n);

Source: Wikipedia


My adventuring up in Alaska has come to a close, and it’s time to return to the lower forty-eight. What started as an idle thought about a year ago has grown into a summer of driving companions for Tevis, snacking companions for Marie, Workaholics Anonymous therapy for me, 3600 miles on the road, and new experiences for all. In short, we drove up from the west coast through Canada to Fairbanks, drove up to the Arctic Ocean and the Prudhoe Bay oil fields and back, bused and hiked around Denali, and ended up here in Anchorage. I joined in for just an incredibly short but glorious 2 weeks, and they are continuing onward through more of Alaska/Canada and eventually back down to the Bay Area. Here are the highlights.

First, the animals

The final total:
25 caribou
14 bears (7 black, 7 grizzly, 0 polar)
8 dall sheep
6 mooses
6 foxes (some arctic, some red)
6 horses (wild)
And just about a million mosquitoes. Sadly, I lost count of how many times I got bitten.

Day 0

Tevis and Marie arrive in Seattle, home to the REI heaven! It is “huge and awesome” and meets Tevis’s expectations, who I take to be the expert on this kind of thing. There is a freaking waterfall and mountain bike trail on the outside of the storefront. In the center of downtown Seattle.

Day 1-4

Rain, rain, go away, come again another day. We drive and car camp through Canada and its miserable weather. On the plus side, I’ve now been to Canada! At one of the turnouts, we learn of this Chinese dude James Quong, a civil engineer who designed some 133 bridges (of ~200) on the Alaska Highway!

Day 5

We make it to Fairbanks, AK! The far away land of Alaska never seemed quite like a real place until now. That night, I fall in love with the Alaskan Amber.

Day 6-8

We drive up the 414-mile stretch of road between Fairbanks and Deadhorse, which has as far north as you can get by road in North America. The Dalton highway is a mix of paved, gravel, and dirt roads with vehicles of all shapes, sizes, and speeds going through. It’s the real deal with heavily limited service, and along the way, we attempt to learn trucker slang in hopes of understanding their conversations on the CB radio.

Marie succeeds in eating cheesy snacks through the swarms of mosquitoes gathered at the Arctic Circle sign post. I am delighted that we reach that point, but am simultaneously utterly disappointed that there is no painted white dotted line on the land marking the circle.

The mosquitoes are bad throughout the trip, but along the Dalton, they are truly truly numerous. There must have been hundreds swarming us as we set up camp and made dinner. I develop a mosquito dance in hopes of appeasing them, but it is only somewhat effective. I wish I could have captured a shot of the swarm because it was truly hilarious. We quickly give up on camping and cooking and opt to pile in the back of the SUV for the other nights.

In the land of the midnight sun, the sun simply does not set, and so, our sleep schedules went. There is no rush to get somewhere and set up camp before dark. Having the sun still up at 4am when we prepare to sleep is simply surreal. There is no other word for it.

We go on a tour of the Prudhoe Bay oil fields, which takes us through the area operated by BP. It’s strange to see all this heavy equipment next to freshwater ponds next to rows beyond rows of chemical packs next to caribou roaming the tundra. I’ve never seen a place quite like it; perhaps the camps out west seeking gold were once similar. We learn a bit about the engineering blunders of the drilling process and the 5K workers who work there. They liked to point out how environmentally friendly they are and all the things they are doing to prevent the permafrost from melting, but I’m not so sure about it all. The tour terminates at the Arctic Ocean where, with some persuasion from Marie, we all jump in and immediately regret it. Anyway, that’s 3 oceans touched, 1 to go.

Day 9

We head to Denali National Park in hopes of catching a glimpse of Mt McKinley through the weather and clouds it creates to hide itself from the world. The campground just outside Denali we stay at has internet. What a terrible thing for them to do to me.

Day 10-13

I finally get my hands on some reindeer sausage for breakfast at Denali. It’s subtly different, and I like it.

After sitting around eating junk food since the start of the trip, it is finally time to move. We set out on a 3-day, 2-night backpacking excursion up Mt Busia, just north of Mt McKinley. Soon after we summit, however, it proceeds to rain for a continuous 36 hours, so instead of day hiking the next day, we basically sleep and read for just as long. Just when we start dispairing at the miserable weather, the rain lifts around midnight on the second night, as did the clouds. Around 3:30am on the third day, the sun is up and there it is: the most perfect view of Mt McKinley. Absolutely no clouds obstructing the view.

We have seen what we came to see and are pretty fed up with rain, so we hike down a few hours earlier than planned. Due to the hours of rain, the river crossing we had done on the way in has become notably harder and more terrifying. Forming a line and going one step at a time, we cross the now-waist-deep and quick-moving 40-degree Moose Creek. Without the extra weight of my pack and Marie pushing me upstream, I’m sure the stream would have washed me away.

Day 14-15

The last stop is Anchorage, home to the Ted Stevens Anchorage International Airport, whose namesake uttered that the Internet is a “series of tubes.”

I’ve given you some words and pictures, but nothing is quite like going there and experiencing Alaska. Everyone we encountered on this trip, particularly the park rangers, was kind and helpful beyond expectation.

Teaching recitation: post mortem

I wrote previously about my insights as I started teaching 6.004. Well the semester is over, and I think it’s been a semester well done. I had a thoroughly amazing experience, and I just wanted to say a few words as I was reading through the course evaluation results that came out earlier today.

MIT makes some effort to get students to fill out course evaluations at the end of each semester. A majority of the students in 6.004 are silent this time around, but I am pleased that I believe a majority of the students attending my recitations filled it out, perhaps because I asked them for feedback twice in the middle of the semester and continued to ask them to fill out the evaluation towards the end. The takeaways here are that 1) instilling the idea that feedback is important is effective and 2) spamming works!

Anyway, I am pleased with my ratings and feedback. I definitely “Encouraged participation,” and what I need to work on most is “Stimulating interest.” “Defining goals” is another area for improvement, but that’s no doubt easier the second time around. I would have expected lower marks in “Well-organized presentations,” but shhh—maybe they didn’t notice me blundering around the classroom every 10 minutes. I find it so interesting how I have gotten to know some of my students enough to (perhaps!) identify them by the pattern of numbers and the few words they left me. There’s almost a beauty to that — the rating makes sense, and that’s awesome.

I am truly encouraged by the enthusiasm in the comments on my teaching, along with comments in personal emails students sent me after the course was over. I can sort of feel the learning that happened, the insights gained, and the new-found appreciation of the material. I know that probably only a minority of the students came out of 6.004 feeling this way, but I’m almost jealous of these students. I had to take 6.004 twice to achieve what they achieved. But then again, I found the lectures excellent the second time around, and I was certainly motivated by the responsibility to teach it to 50 students.

A lot of the comments on the class struck a deep chord with my sentiments on the course when I took it a few years ago. I did not have a great recitation, and section-hopping just got tiring after a while. Lectures caused me information overflow, and I certainly did not have an intuition on the real-world physical aspects of computer architecture (the EE side of things). The lab work seemed unconnected to the general concepts, and I, like many others, learned that it was quite easy to get an A in the course by pattern matching across old quizzes. This course, though stable, seemed less than ideal.

But I am fortunate to have had these insights into the course before TAing for it. From the very beginning, I knew I would be doing things a bit differently from the other TAs. The TA’s job is to go over the tutorial problems and cover any background necessary to talk about said problems. But I knew I would be trying, every step of the way, to connect these problems to the lectures, the labs, the big picture, the physical world, and anything I could think of, really. In theory, I was doing more than the TA’s job, but in practice, I often forwent half or more of the tutorial problems I was supposed to go over. I often just talked at them, trying my best to tell them a complete story, and yet, the material I presented was very different from lecture. And I hoped that my students could take my simple words and do the rest of the problems on their own. Just as importantly, I tried my very very best to hide the fact that old quizzes were an effective resource.

This combination of not covering the material I was supposed to and not pointing out the resources that would ensure good grades (but also ensure less learning) made me very nervous at first — who am I to come in to this class that’s been run a certain way for the last N years and, without any experience, do things another way? But the results every few weeks affirmed my teaching methods — my sections consistently did great on the quizzes and in the class overall. I certainly understand the typical EECS undergrad here better than some others. I am a typical EECS undergrad here, after all, and I taught how I wish I were taught.

I feel quite fortunate, also, in the students that I had. I do believe that enthusiasm is contagious, and that students enthusiastic about learning will seek out enthusiastic instructors. After a few weeks into the semester, if I kept up the enthusiasm and since students are free to come and go between the 10 recitation sections, I would only have the enthusiastic students left to teach. The students who don’t need recitation and the students who prefer another teaching style filter themselves out, and it no longer becomes my duty to instruct them on a bi-weekly basis. And then, life is wonderful. Teaching enthusiastic students is infinitely easier than teaching unenthusiastic students.

I am grateful to have been a part of this journey working from inside of a 200+ student foundations class at MIT. Through all the ups and downs, these past few months have made me truly realize that I love teaching, and I want to thank all of my students for that. I sincerely hope to teach again soon.

But despite all my new insights and experiences, this TAship has also reminded me to keep things in perspective. MIT is first and foremost a research institution. The professors are here because they can produce good work, not so that they can teach undergraduates. Turns out, the same applies to the graduate students, who serve as TAs for funding, and only the occasional dedicated instructor is going to devote his semester to the students in need. This is no earth-shattering epiphany, and I am no exception. My TA offer for next semester is sadly expiring in a couple days, and I am gearing myself up for the research that I am here to do.

I hope my experiences here are useful to the aspiring teacher, and I will close off my discussion of 6.004 with two fun anecdotes:

First. I daresay that incentivizing my sections with something as simple as food to complete the Beta Processor lab early worked! One of my sections was at a 80% completion rate 2 days before the due date, statistically significantly more than the next best section. I made them muffins afterwards, and a good time was had by all.

Second. I wore a friend’s pedometer a few times during recitation, and learned that I actually pace around a classroom 1 mile when I teach for 2 hours. Crazy!

Blog migration from Posterous to WordPress

Posterous was recently acquired by Twitter, so I have been twiddling my thumbs for the past few weeks thinking about how/where to transition my blog and give it a more permanent home. I finally decided to give WordPress a try. Initially, the customizability of WordPress scared me, but it is truly wonderful how modular and flexible the system is.

If you were watching my old blog, please note that this is the new home!

This post documents the migration of my Posterous blog here, both in terms of content and functionality, in rough order in which I made the changes. I looked around for tools to do most of the heavy lifting, but I also made manual changes where I did not see a clear alternative. The process was spread out over about 3 days and was relatively painless.

Importing posts, comments, images, tags from Posterous into WordPress

I used Posterous Importer, which is well done and takes care of most of the heavy lifting.

Install at the Plugins > Add New menu, or alternatively:

Upload the posterous-importer folder to the /wp-content/plugins/ directory
Activate the plugin through the 'Plugins' menu in WordPress
Go to the Tools -> Import screen, Click on Posterous


Importer Status
Posts: 28
Comments: 10
Attachments: 167


Linking to previous posts

By default, links within posts to previous blog posts on Posterous will still point to the links on Posterous. I used a very manual process for switching these links, but I was not migrating many posts, and WordPress at least has a very nice interface for searching through previous content.

Editing the main template

I disliked the fact that my name would show up along every post on the main page of the blog (with my selected theme Typografia). This was not the case on my old blog, and it just seemed redundant. Instead of having to select a new theme that conveniently did not have this extra field, all I needed to do was go to Appearance > Editor in the menu to edit the theme and remove the following code:

<div class="post_author"><?php _e(' Posted by '); ?><?php the_author(); ?>

Editing the styles

There were some minor color contrast issues with the font color of the sidebar that spanned not only the main theme style (Typografia) but also the skin I selected (style4). Editing the styles of the main theme is done through the same interface as editing the main template. However, the theme editor doesn’t contain stylesheets for style skins, so I needed to ssh into my hosting server and manually edit the file at wp-content/themes/typografia/skins/skin4.css.

Tag to category conversion

Posterous uses tags and for whatever reason, WordPress has a sense of both categories and tags. This article details the distinction between tags vs categories. In short, the distinction is arbitrary, but categories can be viewed as a general bucket for a post, whereas tags can be viewed as attributes of a post. Categories are older than tags in WordPress history.

A plugin called Categories and Tags Converter (found at the Tools menu) allows for easy conversion between categories and tags in either direction.

Photo galleries

Posterous has a very nice built-in photo gallery display that takes the photos you want and displays them in gallery form with an easy way to switch between photos and download the entire set. Though the migration properly transferred most of the images, it missed some (that I needed to manually upload to WordPress) — on average 2 images per image-heavy post.

Additionally, it displayed all images without any special formatting and sort of just dumped them all our to the reader, so the images made the post a lot longer lengthier than necessary. WordPress also has a built-in gallery tool that tiles images to take up less space. My main use cases were (without the *):

Including all images associated with the post: [*gallery]

Tiling images in 2 columns (default is 3): [*gallery columns="2"]

Excluding images from gallery, to be displayed elsewhere in the post: [*gallery exclude="56,57,58"] (where 56,57,58 are image IDs)

Having multiple galleries in Posterous was trivial, but in WordPress meant creating multiple galleries that excluded all image IDs that belonged to other galleries. It was sort of a pain, but not that difficult. I did not try this, but there seems to be a better way via the Multiple Galleries plugin.

Other manual changes

Spacing between headings and text body was off in a number of posts, so that meant giving each post a quick scan for ugliness.

Publishing to Facebook and Twitter

Network Publisher uses LinksAlpha API to connect to up to 25 other social networking services. LinksAlpha allows 2 networks before trying to charge you, so that was perfect. The config documentation was very well done.

LinkAlpha’s privacy policy sounds, but regardless, from Facebook’s Account Settings > Apps, you can revoke all the authorizations except for “Post on your behalf.” The LinksAlpha web interface will give you an unhappy error about loading your news feed, but WordPress will still be able to successfully publish to your wall.

Google analytics

Google Analytics for WordPress gets this set up swiftly.


Posterous encouraged me to use Feedburner to publish my rss feed, which was great foresight. Instead of asking all my subscribers to update their link to the new one, I simply had to go to Edit Feed Details... and update the Original Feed URL.

Facebook Like button and Twitter Tweet button

I decided this feature on Posterous was not very meaningful and thus unnecessary to migrate over functionality.

And that’s it! The dread of migrating all this content and functionality has actually inhibited me from writing more, so I’m glad that that is over with.

This article on writing code in posts was not a part of the migration process, but it was useful for writing this post and describes the use of code and pre tags.

Teaching English: observations

In addition to teaching 6.004 (Computation Structures) this semester, I was also a volunteer ESL instructor to Chinese immigrants with a Harvard student-run program called Chinatown ESL. The program, though still constantly seeking improvement (as every program should), seems very mature and effective. Its curriculum is divided into 5 levels, with the first level assuming no English background whatsoever and with the last level entirely taught in English. The classes are also split into Mandarin or Cantonese versions. I taught the first level alongside my co-instructor Ina for 2 hours every weekend, and it not only gave me another perspective on teaching and an opportunity to practice my Chinese, but it was an entirely rewarding experience on its own.

Student demographics
The students were in the age range of 30-80, though they would occasionally bring their grand/kids. They were all somehow affiliated with the Boston Chinatown community. The male-female distribution was roughly uniform, perhaps leaning a bit towards more females. My guess is that most of the students were parents. Some of them were taking the class (Level 1) for the first time, but a number of them were taking it for the second or third time. The spread of English background was fairly wide. A number of students probably could have attended a higher level, but insisted that they had forgotten all of their English and wanted to “start over.”

Like my 6.004 students, these students also had a predilection towards handouts. The difference, however, is that the handouts we used in this class were mostly homework assignments, quizzes, and practice sheets — rather than colorful explanations of concepts. But the effect was all the same because these students really appreciated any additional practice they could have on their own. In other words, they loved homework! One student would attend another class (at the same time), but then would stop by my class at the end to request a handout and turn in my class’s homework!

On the other hand, we also gave them verbal and oral homework — namely, to find a person on the street and have a short conversation, or to listen to an audio CD and read along in the textbook. We have no way of checking whether they actually followed through, and my hopes are not high because they expressed several times how weird it would be to do so. Which makes their hyper-active participation in class even more unexpected.

Active participation
A sharp contrast to my 6.004 students, my English students will not hesitate a single moment to voice their opinions on my teaching style, the lesson content, the teaching atmosphere, the number and speed of handouts coming around, the difficulty of the quizzes, etc. They will ask questions, add their own commentary, and even help with our Chinese (when it’s lacking). They will speak up without being prompted, and it would often take us some time to get them all to quiet down so that we can actually start or resume teaching. Aside from the part where it is sometimes difficult to teach over 10 other voices, I am not at all suggesting that their is bad — rather, it just makes me so happy how active they are in their learning. They are there for 2 hours a week, and dammit they are getting the most that they can out of it. I like that a lot.

To me, taking the class as seriously as they are is really a sufficient way to show gratitude. But during our last class yesterday, they really went above and beyond. Last week, we suggested that they bring some food to share during the last class, so yesterday we had an amazing potluck of authentic Chinese food. Many of them made their dishes from scratch, including Tofu Skins (豆腐皮), which just seems ridiculously difficult to make, and Beef Shins (牛腱) perpared in an amazing manner like my parents used to. They would continue to gently (or not-so-gently) encourage us to eat more, give us their thanks and appreciation, sing for us… it all reminded me of those extremely cordial meals and welcomes in China earlier this year. One by one, they trickled out, but not before helping to clean up and thanking us one last time, and we would say to them “See you next time!” one last time too.

Ina and I announced to them out intentions to teach Level 2 come next semester, and my heart just melted away when a number of them told us they would study the Level 1 material hard over the summer session and hope to join us again in Level 2.

Teaching recitation: observations

This semester, I am a recitation instructor for 6.004: Computation Structures, a foundation class for EECS majors here at MIT. The class demographic is primarily sophomore and juniors, and enrollment is upwards of 200 students. It is a very well-established class whose curriculum has not changed much in the last 8 years and whose course logistics and organization are mostly smoothed out. It is an ideal environment for inexperienced TAs to focus on teaching, learning, and communicating rather than the frustration of system inefficiencies.

Well, I’m absolutely loving it. Every recitation is solving a small part of the puzzle and a storyboarding adventure. Below are just a few observations I’ve made over the past few weeks.

Students are physically drawn towards handouts. The more colors, the less readily available — the more exotic, basically — the more attractive. One time, I made a multi-colored handwritten handout for a topic that I had trouble explaining in words and distributed them during recitation. Word must have spread somehow, because attendance during one of my sections increased by 50% the next class. That day, the classroom was so full of unfamiliar faces that I thought I was in the wrong place.

Tabula rasa
Undergrads here in EECS are quite passive about their learning in recitation. There is some prevalent inhibition from talking at all, even to voice some basic concerns (e.g. please move, you are blocking the board; please write bigger/darker/clearer). At the very beginning, I am presenting to a blank wall of stares that occasionally look down to jot down notes. Students seem to need to be taught to speak, to smile, to frown, to laugh, to raise their hand and ask questions. They do seem to be born with the ability to walk out and to not show up again, but they are otherwise blank slates. It’s up to me to keep them or lose them.

But the real side effect of this phenomenon on me is that I am pleasantly surprised (shocked, rather) everytime students say “have a good weekend” back at me and everytime I don’t hear a lot of shuffling of papers and backpack zippers at 1:56pm.

Pre-spring break attendance
Yay, spring break! Everyone I know (myself included) skipped class today (er, yesterday) in lieu of fancy spring break plans or laundry or just more quality time with the internet. Beyond all odds and to my utmost pleasant surprise, however, attendance in my sections did not deviate much at all. I estimate regular section attendance at 15-20; attendance today was 13-15. We started placing bets before section to guess how many students would show up. My original guess was 5, and I was willing to (but did not) put money on the number being less than 10. Turns out, my students are much more optimistic (and correct) about attendance than me.

The desire to skip class on the last day before a long vacation is a strong force, so I need to think a bit more about the circumstances around my recitations that countered this force (such that I can replicate this effect!). Another instructor, who observed my section, once described my recitation as “very relaxing,” so maybe coming to class was close enough to the feeling of spring break!

The trouble with asking for feedback
Turns out, it is hard to cater to 20 different students all at once. When I asked for feedback on the amount of lecture review versus problem solving preferred, I got back a uniform distribution of the entire spectrum of choices. They did all agree, however, that I ought to make fewer mistakes, So there is at least that bit of feedback on which I can act.

Areas of improvement
Names: I’ve never been good with names, but that is no excuse to not even try. I still don’t know names, for the most part. Knowing names is a key part of engagement in teaching.

Blackboard organization: It occurs to me that my blackboard organization is sloppy, or at least, non-ideal for notetakers. The tradeoff that I am concerned about is that more time spent writing things on the board means less time to explain and interact with students.

The Torch or the Firehose
One last note. Professor Mattuck put together a guide on teaching recitation at MIT, and it’s absolutely fantastic. It’s a great read and points out common pitfalls. It also inspires better teaching. MIT could really benefit from closer attention to excellent teaching.

Asiatrip: Cost breakdown

After Asiatrip ended, we got back to MIT and immediately got hosed beyond belief. As such, we only just finally figured out our finances. I did a bit more number crunching, because I wanted to figure out my total spending and where all the money went. This is a rough per-person cost breakdown of our trip, which may be valuable to people planning similar trips. Among the four of us, costs vary basically based on how much each of us bought in electronics and souveniors, whether we went to Japan, visa processing time, and things like that. All costs have been converted into USD.

$280 — preparation (costs before the  trip, like travel items, drugs, gifts)
$1130 — flights (3x)
$140 — trains (4x)
$110 — misc transportation (taxis, buses, subway)
$150 — housing
$90 — food
$100 — discretionary (souveniors, electronics, tourism)

Transportation subtotal: $1380
Total: $2000

Our original estimate was $1.8K, and I was hoping the trip would be under $2K, so this is perfect. 😀