Oh wait, I'm there right now. That song, it keeps coming into my head at inappropriate times.
Like I said, my camera was broken, but I did manage to take some pictures with my laptop's built-in camera. It's pretty crappy for taking pictures of anything but your own face, but it's better than nothing.
São Paulo, from the balcony of my hotel.
What you can't see in this picture: the freaking amazing street art. It doesn't deserve to be called graffiti, it's definitely Street Art.
The main "hang out at a table with your computer" area of Campus Party. Not shown: people dressed as stormtroopers and Power Rangers; giant Cup Noodle advertisements; the Camping area, where thousands of people pitched indoor tents and literally camped out for the week.
From left to right: Clauber, Armando, a guy whose name I forgot, and me. Garfield is being used to sell a cup of pão de quieju (cheese breads, a typical Brazilian snack food).
The rest of these pictures are from Garoa, a "hacker space" in São Paulo. I was happy to be invited to spend the day there today hanging out and hacking with Brazilian open source activists (and listening to Led Zeppelin). It's in the basement of a really cool old historic building with balconies and courtyards.
I like their interior decoration style. Hammock party!
A 3-d printer built by hand from open-source schematics. It's printed more failures than successes so far, but as I type this, one of the hackers is tuning it and trying to correct its operation.
Juca, me, and Clauber on the totally sweet column-encircled top-floor balcony.
The bathroom in the building is tiled like nothing I've ever seen.
You would never guess, from the street, that this lush courtyard garden was back here. It was full of birds and butterflies, and one stray cat.
Juca with the "IE voodoo doll" that he made.
Finally, some internet access.
Culture shock is: Getting into the shower to find the knobs labeled "Q" and "F".
Ah, well, there's only 2 possibilities right? I took a guess that they were probably something like Qaliente for hot and Frigido for cold and I was right.
In general Portuguese seems like a fairly easy language for an English speaker to pick up. It doesn't take a linguistic genius to figure out what "Sanatario Masculino" means, for instance (men's bathroom). It's all just Latin roots. (I am told that Brazilian Portuguese has significant borrowings from Native languages as well.) I'm picking up some of the basics just from listening to what people are saying around me - thanks is "obligado", yes is "si", good morning is something that sounds like "bonjerr" (I'm sure I'm spelling that wrong).
Culture shock is: passing like three neon signs reading "24H SEX SHOP" on the taxi ride from the hotel to the convention center. I swear one of them was like right next door to a Catholic church, that also had neon signs. Brazil reminds me of the Philippines in that it combines a lot of overt displays of religiosity (cross necklaces everywhere) with a much more relaxed attitude about sex compared to the puritan tradition in the US.
Last night when I got here by taxi, I was supposed to meet up with some dudes from the Brazilian Mozilla community, who had arranged the badge and stuff I would need to get in. But when I tried to call them from the hotel phone I just kept getting a Portuguese recording that sounded like it was probably saying "that number does not exist". The bouncer wouldn't let me in without a con badge. And I couldn't get on any wireless networks to email my friends. Hmm, a conundrum.
That's the worst thing about travel. You're always in the position of navigating an unfamiliar bureaucracy in a language you don't speak exactly when you're least mentally fit to do anything of the sort: right after the sleep deprivation of an intercontinental airplane ride and associated time zone change.
Brazil has every race and combination of races imaginable, so being a white guy doesn't mark me as obviously foreign like it does in Asia. So unlike when I'm in China or Japan, people here will just casually come up and ask me something in Portuguese and be surprised when I respond "Sorry, I don't speak Portuguese".
Anyway, I eventually found my way to the people in charge of giving out badges, and lucky for me some of them spoke some English. I explained my situation and showed them the invitation letter for my talk. It was signed by Carolina Hanashiro; I had no idea who that is but apparently she's a big shot because they were all impressed: "Wow, from Carolina herself!" I had the letter in order to apply for my Brazilian visa but I'm glad I printed an extra copy to take with me. They made me a badge right there, and I was able to get in and meet up with Armando and friends who were giving a Jetpack demonstration under the "Software Livre" sign.
I got stopped again on the way out, though, because my laptop wasn't registered. They check everybody on the way out to make sure nobody's stealing computers, so you have to have your laptop registered to your badge and put a sticker with a matching code on it. Of course I had no idea that was something I needed to do. We explained the situation and they just waved me through, though. My new friends explained it was all just security theater.
Later, when on my way to get some overpriced convention food with some other free software guys, we passed a bunch of men in military fatigues carrying submachine guns. I was like, OK, just mind my own business.
Later my new friends were like "Hey, you didn't think those were real soldiers, did you?" (Yeah, I kinda did). "Dude, no, those were Airsoft guns. Those are just some college kids who like to dress up as soldiers and play paintball. We don't want you to think Brazil is some kind of really violent country!"
I did not expect that my first meal in Brazil was going to be... Yakisoba!
It turns out there's a huge Japanese immigrant population here (the largest outside of Japan) and so Japanese food is a big thing. Brazilians have even adopted "hashi" as the word for chopsticks.
Oh, that reminds me, apparently one of the biggest sponsors of the Campus Party is Cup Noodle. There's giant Cup Noodle signs and giant inflated Cup Noodle cups everywhere.
The central area of the event is taken up with dozens of long tables with Ethernet cables and power strips (European-style plugs here; glad I bought that adapter at the airport) so everybody can camp out with their computers.
Dudes are zooming around indoors on roller blades. I just saw a guy with a Death Note T-shirt. Lots of people are wearing something related to internet memes. The dude to the left of me just fired up Portuguese Starcraft 2. He clicked on his Centre de Commando and made some VCEs.
At least half the computers I see are running Ubuntu. There are some crazy, crazy case mods too. One I saw had a plastic Incredible Hulk holding up the motherboard.
Don't expect pictures of that or anything else on this trip, though. My camera broke. |:-(
In no particular order:
Waiting in San Jose airport for my flight to LA, where I'll transfer to a flight to Miami, then get on an overnight flight to Brasilia, and finally fly Brasilia to Sao Paulo and arrive 2:38pm tomorrow Brazil time (which is 3 hours east of Eastern time - look at a map, Brazil sticks out way farther to the east than you probably thought).
Over 24 hours on airplanes, blaaaaaaaaaagh.
You may recall my mom's computer got infected with malware called "Personal Security". It turns out that the attack vector used by Personal Security, as well as a bunch of other malware that got on there, was through a security hole in the Java plugin.
It seems that Java exploits have skyrocketed especially in the second half of 2010. Computer criminals accept payment from other criminals to deploy whole bundles of random crapware via the holes in the Java plugin.
Tomorrow I'm flying to Sao Paulo, Brazil, in order to give a Mozilla talk at Brazil's largest tech conference. It's called Campus Party, since it started as basically a college LAN gaming get-together, but it grew over the years into an enormous tech conference. Since there will be a lot of gamers there I'll talk about the Web as a gaming platform, show off some of the coolest entries from the Mozilla Labs Game On 2010 contest, and demo some features that we've added to Firefox 4 to help make game development on the Web a real possibility.
It will be my first time in the Southern Hemisphere. I'm a bit nervous as I don't speak a word of Portuguese. Wish me luck.
Then, less than a week after I get back, I'll be flying to Boston to give another Mozilla talk at MIT, this one to the engineering students about why they should come work for us and help protect the freedom of the Internet. I'll also be demoing cool stuff at a table at the MIT career fair.
Man, I always wanted to go to MIT when I was a kid. Never thought it would be like this.
I enrolled in a class at Stanford. Stats 315A - "Modern Applied Statistics: Learning", first in a sequence of Data Mining courses I'm planning to take. It's not for any degree program, just for sharpening my professional skills. Knowing the techniques of data mining will be extremely helpful for pulling useful insights out of the Test Pilot data set. It will also be a useful set of skills to have for just about anything I do in the future, I think. For example, if I end up leaving software and working in green technology, as I often daydream about, then data mining techniques will surely be useful in teasing out the important relationships from complex ecological systems or finding the best ways to improve energy efficiency of some machine.
The course is all online - the lectures are videos posted to the web, and I download problem sets and email answers back to the professor. I'm learning to use a programming language / statistical manipulation environment called "R". Don't have much to say about it so far other than that it seems pretty challenging.
After repeated pestering from Isaac, I finally broke down and started reading Homestuck. I'm glad I did; it's one of the most creative, ambitious, original things I've seen in any medium in quite some time. (incidentally: it feels really good to archive binge on a quality webcomic again. Been a while since I've got to do that.)
Alright, so what the heck is Homestuck? This is the hard part. Even in the crazy anything-goes world of webcomics, Homestuck is an odd duck, not easy to describe or explain. I think it's best to start by explaining MS Paint Adventures. It started with a guy named Andrew Hussie playing a game on a forum: he'd draw a picture of a character in a situation and then ask forum posters what the character should do next. He would always take the first suggestion, no matter how silly, and he'd draw and post the results and so on, acting as an RPG game master or, perhaps a closer analogy, acting as the input parser for a graphic adventure game. His first such adventure was called Jailbreak, and the first page is here.
Taking the first thing the forum barfs up at you creates exactly the kind of crazy non-sequitur story you'd imagine, and so Jailbreak isn't all that interesting, except for introducing the basic format: click on the "command" to go to the next page and see the result. Reading the archives is like watching somebody else play an adventure game. It also introduced some running gags, like armless characters being ordered to find their arms (they all have arms; Andrew just doesn't like to draw the arms on unless the arms are doing something. It's a stylistic choice, not a world of amputees.) Also a running gag about appearing/disappearing pumpkins.
A brief experiment with choose-your-own-adventure storytelling in Bard Quest inevitably burned itself out rapidly under the exponentially increasing workload that such a thing requires. Andrew then moved on to Problem Sleuth, a detective-themed "escape your locked room" adventure game. Or is it? Isaac described Problem Sleuth as "the biggest shaggy dog story ever". In this story Andrew was executing much more authorial control over the direction of the story by picking and choosing the most interesting commands (or the ones that were in line with where he wanted the story to go anyway...). He was also drawing it in Photoshop, not MS Paint, so the whole name of the site is a misnomer. And by the midpoint he was integrating animated gifs (and some colors) on a fairly regular basis. What you think you're signing up for when you start reading Problem Sleuth bears very little resemblance to what you end up getting, which is 22 chapters of ever-escalating insanity as parodies of RPG game mechanics, boss battles, and cosmology are introduced, permutated, ridiculed, and transcended. It culminates in an enormous Dragonball-Z style battle with the Final Boss that takes up as many pages as the whole rest of the comic up to that point put together.
How to top that?
In 2009 Andrew began Homestuck. (Which is already somewhere in the vicinity of 4,000 pages. Do the math - this man churns out multiple updates per day. He's the most prolific webcomic author I know.) It maintains the "adventure game input" format, but it's a much more coherent and tightly planned story. Homestuck goes beyond the animated gifs and incorporates Flash animation complete with background music. The music is 8-bit video-game style, contributed by people from the MS Paint Adventure forums, and some of it is quite astoundingly good. In a couple of places the Flash is even interactive and lets you control the character and explore the environment on your own. Finally, large chunks of the story are told through instant message logs: the characters are almost continuously in touch through an IM application called "Pesterchum" and their "pesterlogs" make up most of the dialogue. It's hard to even classify Homestuck as a "comic" at this point, there's so much music and text and animation and interactivity. It's more of a, I dunno, a multimedia story presented via the web.
What's it actually about, though? Well, there's these four kids. And they decide to install the beta of a game called SBURB, which is some sort of reality-warping meta-game that lets you take physical remote control of real objects in your friend's house. And possibly causes your friend's house to be hit by a meteor and destroyed. If you do just the right thing, though, SBURB might save you by teleporting your whole house to a mysterious realm called the INCIPISPHERE. And it just gets crazier from there! It gets quite absurdly epic for a story where technically nobody leaves their house for thousands of pages.
All the while, the kids have to interact with their environment through a series of ridiculous and impractical user interfaces. They can never just pick something up, for instance. They have to CAPTCHALOG it in their SYLLADEX, which is equipped with a FETCH MODUS (stack, queue, tree, hashmap...) that makes retrieving the needed item a difficult and dangerous chore. They can't just use a weapon, they have to ALLOCATE their STRIFE SPECIBUS. The kids' frustration mirrors the presumptive frustration of the imaginary individual who is "playing" this adventure game. And that's even before the kids start playing SBURB, the game within the game, which features a punch-card-based alchemy subsystem. This is largely a story about the feeling of trying to puzzle out a needlessly convoluted video game that came without an instruction manual. But with lives at stake.
What makes it all work is, first, Andrew's use of language. He has a knack for the perfectly precise description of every absurd situation, for giving every silly thing a perfectly grandiose name. It's not a piggy bank, it's a CERAMIC PORKHOLLOW. Pesterchum's anti-friend list is labeled TROLLSLUM. Combat is called STRIFE and the choices of actions include ABJURE, AGGRESS, AGGRIEVE, and ABSCOND. You never know when you might have to PROTOTYPE a KERNELSPRITE or DEPLOY a CRUXTRUDER. Andrew also seems to have an obsession with writing repeating patterns, arcane correspondences, elaborate cosmologies, significant recurring numbers, etc. He doesn't just create a setting, he creates a SYSTEM, if that makes sense.
The other thing that makes it work is the characterization of the four kids - John, Rose, Dave, and Jade (AKA ectoBiologist, tentacleTherapist, turntechGodhead, and gnosticGardener). Their personalities are developed largely through their pesterlogs and through their reactions on being ordered to examine the stuff in their rooms (as adventure game protagonists often are). And they're all very likeable too, this is key. John is naiive and clueless but also loyal and earnest. Rose is intellectual, full of literary aspirations and archly superior put-downs. Dave is self-consciously cool and ironic. Jade is a natural mystic, a simple soul who takes even the weirdest things in stride. The kids are great; they're all very different from each other and yet somehow believable as friends, and you just root for them and want them to succeed. That's what keeps me going when the head-smacking silliness of it all is otherwise too much to bear.
That reminds me of the parts I didn't like. To try to say it without spoilers: I was somewhat put off by certain plot developments at the end of chapter 4. It made heavy use of a certain narrative device that I find detracts from my ability to care about a story by robbing the significance from decisions made by the protagonists. And of course right after that we get into the infamous Troll arc. Or soon-to-be infamous anyway. The Troll arc doesn't offend me as much as the end of chapter 4, but it is really hard to read because it's especially text-heavy and because the text is full of nOnStAnDaRd cApItAlIzAtIoN, numb3r subst1tut1ons and other Troll-isms. Slow going.
I stopped reading for a while. But Sushu finally plowed through and got to Act 5 Act 2, and judging by how much she's laughing, Homestuck seems to have found its groove again. I guess I need to press on through the Troll arc and see what happens.
Homestuck does weird things to my brain. After one particularly archive-binge-filled day I spent at Isaac's apartment, I tried to sleep but couldn't. My brain was in that place where it won't stop spinning its wheels and let me sleep (have you ever had that? You know what I'm talking about?). My brain was stuck in a loop of generating inane commands and then refusing them for bullshit reasons with lots of made-up words. All. Night. Long. Like it was being re-wired according to the logic of Homestuck.
It may do the same thing to you. You have been warned!
I'm way behind on blogging. The list of stuff I want to write about grows longer and longer while blogging itself slips further down my priority list under an influx of new opportunities and activities. Just to remind myself to do it, here's a list of post topics currently floating near the top of my brain:
If there's one of those you particularly want to read about, mention it in the comments and I'll write it sooner than I would otherwise. (Actually I want to implement a permanent voting system for this website that would let you all see what upcoming topics might be and choose ones to bump up).
Today is Mozilla's farewell lunch for Aza, who is leaving Mozilla to start yet another new company. That guy's never really happy unless he's starting a company.
I'm gonna miss him, since he'll be up in San Francisco where I'll pretty much never see him. I already barely ever see him even though we ostensibly work together, just because he's usually traveling or working remotely.
Anyway, this is making me think back to how we first met. I was taking his dad's one-time-only special guest course in UI design for the CSPP at University of Chicago; Aza was the TA for it. But we didn't really meet outside of a classroom setting until the Evangelion marathon that UCJAS (the University of Chicago Japanese Animation Society) hosted at Aza's apartment for Suicide Prevention Weekend 2004. We watched every single episode plus the movies, and celebrated with orange jello shots (thanks Jim).
A couple times Aza's roommate Andrew came into the room looked at the screen, looked around at us, made a face, shook his head, and silently walked back out of the room.
In between two episodes Aza called an intermission and put on the Shingo Mama O-ha Rock video. So of course I got up and started singin' and doin' the dance moves along with the video. And Aza looked me up and down and raised his eyebrows and said "How do you know this dance?" And I told him it was the big craze during my first year in Japan, 2000-2001. I used to have a programmable CD player wake me up with that song to make me extra genki on cold winter mornings.
And that's how we became friends. And that led to Aza inviting me to join him when he started Humanized. And the work we did at Humanized got us Mozilla's attention, which led to us moving out to California to start working at Mozilla. And being in the Bay Area led to me meeting back up with Sushu again -- Sushu, who I also met because of UCJAS. Which led us to eventually try dating again and then get married!
So that Evangelion marathon was responsible for not only lifelong friendships but also for my career and marriage. Deciding to attend that party was far more important than any class that I ever took in grad school. If I hadn't gone, my life would have followed a completely different and unknown course. Funny how life works out!