Late post. As usual.

It started with an online competition — write programs, solve problems, get points. I wouldn’t call the problems easy, but they weren’t hard either. So I solved all of them. To make it even less impressive, only about twenty people submitted anything at all.

But the result was just what it was: I ended up with a free ticket to PyCon APAC 2014.

I’d prefer a conference about a more functional programming language, but I’ll take what I get. Another adventure!

After two bus rides, one metro ride, and a long trek across half of the Academica Sinica campus, I found the building a full hour after the starting time, and was somewhat concerned because I had no idea what I was doing and how conferences worked. I was relieved to see a long queue of people in front of me at registration. This did not make me any less unknowledgeable about what I was doing, though, so I picked up the stuff from registration and tried to figure out what was happening.

Registration was also the first time I pronounced my handle, which I had signed up under without much thinking, to somebody else in real life. Emphasis on the first syllable, secondary emphasis on the third. I guess it’s official now. In fact, I was so paranoid about using my handle that I polished my various online profiles and linked them up with each other the day before the conference. But I’m pretty sure nobody there took enough notice of me to find those profiles.

Anyway, after registration, I received a sturdy PyCon bag with a book and a bunch of leaflets and a T-shirt and, most importantly, an octocat sticker, which I placed on my computer. Nice.

[Picture of octocat sticker on Mac]
octocat is watching you haxxorz

Somewhat serendipitously, I had just submitted my first pull request on GitHub the day before. Whee!

Okay, so, the actual conference — I wandered around and went to talks. It was very simple; slip into the hall, find an empty chair, sit down, and listen. I even took out my laptop without anybody complaining.

Admittedly, a lot of the talks went over my head because I have negligible web-dev and big-data experience. Some of the technical things I did learn:

  • One more reason to learn LiveScript: g0v.tw uses it a lot. The presenter described it as: JavaScript + Python = CoffeScript; CoffeScript + Perl = Coco; Coco + Haskell = LiveScript. I’m skeptical, but it’s probably as close as a dynamically-typed language can get.
  • Apparently Google is going to release Colaboratory — a Python notebook in Google Docs, essentially — this week! Mind blown.
  • Python’s dir function returns a list of all properties and methods of pretty much anything. How come I didn’t get the memo?
  • fn.py exists. You can write Scala-style placeholder lambdas with its psychotic-genius _.
  • There are three types of food in New York: subs, pizza, and omakase. (Um, no, this was part of a metaphor about asynchronous web stuff. Never mind.)

There were also lightning talks (five minutes each), full of miscellaneous fun demonstrations. Afterwards, there were faster-than-lightning talks (two minutes each), which was mostly the host demonstrating his program that read out the remaining time in the Mac’s Bad News voice.

Of course, there was more to the conference than technical knowledge. One of the other things I observed was confirmation that I’m still socially awkward, and really good at rationalizing it to myself. Oh well.

More philosophically, I gained a lot of mental fodder about collaboration and programming education to think about. Quite a few of the talks and discussions were about how to teach programming better, and spread computer literacy beyond “how to use Microsoft Word” in general.

There was a lot of emphasis about one point in particular: contribute to the software and open-source and programming ecosystem! Write more projects!

So I did that, although not much of it was in Python. For kicks, I completed a Whitespace parser/interpreter in Haskell during the conference (I discovered that the official interpreter was in Haskell, but I thought it was a bit un-Haskelloquent and could benefit from some writer and state monads), and then started two more side projects, one big, one small. Suddenly I’m really inspired to hack on open source software and spread the magic.

We’ll see how long this lasts. But honestly? I feel like the whole two days would have been worth it for that full-of-awesome octocat sticker.

(note: the commenting setup here is experimental and I may not check my comments often; if you want to tell me something instead of the world, email me!)