So I just enjoyed my first YAPC::Asia! It was good to see some of the old crowd again, both Japanese and foreigner, and also to see the huge interest in Perl from newer faces as well. Although I was not expecting to find the talks interesting - the less programming I do, the more I feel out of these things - there was a lot of good stuff on.
Larry’s keynote - about how the Perl 6 parser works - was excellent, and broke my brain. I think this was the first time I’d heard Larry give a technical rather than a “conceptual” talk; I think he’s more at home with the conceptual stuff, but it was good to be reminded he’s still a great hacker too.
I saw Tokuhiro Matsuno’s talk on Perl 5.10, which was good although I think I’d read the slides before so it wasn’t particularly new to me. Dan Kogai spoke on Perl as a second language, on the premise that if you learn a second language, natural or programming, you learn more about your primary language. He also made a very interesting point, that if you learn OO in a pure-OO language like Java, you never actually really understand how OO works and what it means, but if you learn in a language where OO is added on, like Perl, then you get to actually understand what the OO is doing.
CL gave a very good talk which focussed on building a business with Perl tools. As I move from being a programmer to a user, I more and more appreciate the talks which deal with applications and results rather than techniques. I’ll come back to this when I look at Schwern’s talk, but it depends what you want to communicate. If you want to tell people how to use a particular tool, then you’re teaching them. Which is a good thing, and something you need in a conference. But if you tell people about what you’ve done, and the things you’ve achieved with Perl, then you’re inspiring them, and I think it’s this kind of talk which is more likely to make people go out and do something interesting themselves. Of course it’s up to the conference organisers to put together a good mix of teaching and inspiring, and I think the committee did a very good job here in Tokyo.
After CL, Makoto Kuwata gave a brave talk on “The Fastest Template Engine in the World”. Brave because of the contentious topic, but also because he gave it in English. Giving technical talks in a second language is a hairy thing to do, but he did exceptionally well.
The lightning talks were excellent. Takesako’s talk on browser detection was wonderfully twisted, and the Perl operating system talk similarly gave me the shudders.
On the second day, I went to Daisuke Maki’s XS talk, and was pleased to learn a couple of new tricks. The first is the use of ~ magic to hide a C structure inside an ordinary hash-based object, which means your XS class can be happily subclassed. The other was a bit of a special case, creating your own
xsubpp to do clever things for, e.g., testing purposes.
Jesse’s talk on “Everything but the secret sauce”, all the things they’ve written for Hiveminder that aren’t Hiveminder was mindblowing. In particular,
Carp::REPL is one of those rare genius ideas that is completely obvious now you’ve seen it but wasn’t so obvious that someone did it years ago. (When I needed it. ;) )
Kazuho Oku’s talk on Pathtraq was interesting, particularly on scaling large web applications. It wasn’t massively Perl-specific, although I do plan to look into Cache::Swifty as a result of it. It mainly dealt with optimizing large queries, using Moore’s Law to fight scalability problems, and that sort of thing. The slides are on Slideshare in both languages.
Finally, Schwern’s talk on how Perl is alive and well was very worth listening to, and he again focussed on gaining mind-share by writing applications rather than libraries. To be honest, I guess the talk was perhaps not the best one for this audience - here in Japan Perl is evidently alive and well. This was the biggest YAPC ever, it brought in lots of PHP and Ruby developers, and there was a phenomenal amount of recruitment going on at the conference dinner - which, incidentally, was all provided by a large number of corporate sponsors, another sign of a healthy community.
But this raises an interesting point about language barriers. The Japanese-speaking Perl community and the English-speaking Perl community are almost, although not entirely, distinct sets, mostly because of the language issue. There were one or two of us foreigners in the Japanese talks, but on the whole, the interesting stuff that’s going on here isn’t being picked up outside of Japan. (Pop quiz for English speaking Perl developers: Have you heard of Tripletail?) I don’t know how to fix this.
I do, however, have a few suggestions of how English-speaking speakers can be heard a little better when they speak in Japan. I know these basically from bitter experience of both giving technical and non-technical talks, both in English and Japanese.
The first thing I found is that talking here can be very intimidating compared to talking in the West, and it’s due to the amount of audience feedback you should expect. You can go through your entire talk without knowing if people have understood you or not, because there are very few cues in terms of people nodding along or encouraging or looking confused. This is normal. The audience may not even look at you at all. Actually, if you’re used to giving talks to a room full of people looking down at their laptops, this may not be a problem. To be honest, I get intimidated giving talks to a roomful of people looking down at their laptops for the same reason.
But it doesn’t mean that people aren’t listening. They are. And on the whole they are understanding even if they don’t look like they are. I gave a long seminar and had no clue half way through if I was even making any sense, until I gave people an exercise to do and they had no problem with it and came up with answers that suggested they had taken everything in. But it still feels a bit like people aren’t following.
Some people try to mitigate the feeling by asking the audience if they have any questions. This works well in the West, but not in Japan. There are typically comparatively few, if any, questions; this almost became a running joke in the English track at YAPC. The reason for this is that by asking if anyone has any questions, you are basically inviting people to demonstrate their own ignorance in front of their peers, which is not something that people really want to do.
One more thing I noticed is that all the Japanese talks began with quite a full self-introduction; the English talks did not really do this very much. It’s important in Japan for the audience to be able to “place” the speaker and understand why they ought to listen to this particular speaker. To do this, who the speaker is is far more important than what they are talking about. As an example, when I gave a public lecture, I looked at the article the newspaper did about it. About 90% of that article was about me, about 10% was about what I was talking about. So spend a few minutes talking about who you are to establish yourself for your audience.
Also general tips for native English speakers: speaking in front of a non-native-speaker audience requires a lot of discipline unless you’re used to doing it regularly. It needs to be an active consideration. You have to remind yourself to slow right down. You have to remember to simplify your language. Native speakers use idioms, abbreviations and slang as part of natural speech. They also use cultural references, which may not translate, as part of natural speech. Speaking in front of non-native speakers is not natural speech. If you feel your talk is flowing naturally and well, this is generally a bad thing. It helps your audience - and helping your audience is polite - to speak more simply so that they can understand. And I take it you want to be understood.
Actually, the art of communicating difficult things in simple language - not dumbed-down language, but simple language - is one that will help your presentation to native speakers as well as to non-natives.
I’m not saying this because the talks at YAPC were particularly bad or hard to follow. On the whole, they were great, and a few people had taken the time to have their slides translated into Japanese (or Chinese! ;) which is a fantastic thing to do and helped a lot. These are just a few points I thought of when seeing the talks, and a reminder to myself as much as anything else.
Next year will be in Kyoto; ironically I will be in the UK then, but that’s OK. The more computing stuff I go to these days, the more I realise I am really not primilarly a programmer any more. And that’s a good thing for me.