Showing posts with label talks. Show all posts
Showing posts with label talks. Show all posts

Tuesday, November 25, 2014

AnDevCon SF 2014

I can't believe this is my fifth AnDevCon already! This time I am living in Colorado, so Burlingame is no longer local. But as luck would have it the GDE Summit is one the same week at the Google headquarters, and I got to combine the two trips. The flip side is that they overlap quite a bit, and I ended up only attending the last two days of AnDevCon, plus the fireside chat Wednesday evening.

Fireside chats

There were two fireside chats / panel discussions at this AnDevCon, both very informative and entertaining:

Sessions

I didn't go to many sessions, partly because I was only there for two days, but partly because each session is 75 minutes long. After subtracting time for keynotes and sponsor sessions, there was really only time for 3 to 4 sessions a day. Since I was giving two sessions myself, I ended up only going to 5 sessions.

My talks

My two talks were back-to-back on Friday morning. First I had Advanced Android TextView at 8:30am.

I gave the 40-minute talk at Øredev, but the audience reaction was quite different. Here I was among Android developers, and people jumped in with interesting questions pretty much right away. I loved that! I was having a great good discussion off stage afterwards as well, but had to cut it short since I needed to run to another room to give another talk.

My next talk, Fun with Android Shaders and Filters, was in the Regency ballroom. Quite a different experience to present from a stage.

The crowd was a bit larger, not sure if it was 10am vs 8:30am, or people were more interested in graphics. In any case, both talks went very well!

RxJava

RxJava is quite hot among in Android world, and I am very curious about it. I attended a talk at Droidcon London but didn't quite get what it is, so I tried again with a session at AnDevCon. Alas:

This time I got a bit further: I understood that RxJava builds on the concept of asynchronous sequences, and as a result you can apply many operations on them. That's why there were all these marble diagrams for map, filter etc. I think I should give up on trying to learn it by listening to a talk though, and instead get my hands dirty with tutorials:

Tips on building SDKs

AnDevCon ended on a great session from Ty Smith sharing his experience building the Fabric SDK, filled with tips and insights.

Check out the video for the full talk.

New speakers

I am very happy to see new speakers at AnDevCon, sharing their knowledge with everyone. Do you work on Android? If so, submit a talk!

Thursday, November 13, 2014

Øredev: a superbly run conference

Technically Speaking

When Cate and I was touring Copenhagen, we talked about how we got into public speaking. One thing led to another, and we decided to publish a newsletter together. We had a little bit of time on Monday before Øredev, so we put together our first issue in the hotel lobby!

Sauna, bus tour, glögg and the city hall

After we prepared our newsletter we met the organizers and other speakers to head to Kallbadhuset, a Swedish bath house perched on top of the Baltic Sea. We had an appetizer (herring!), went into the sauna (hot!), dipped in the Baltic Sea (cold!), and then had dinner (more fish!). My first night in Sweden, and it was definitely super Swedish.

And that was just the start of the speaker activities. Tuesday they organized three things for us, starting with a bus tour of the city of Malmö. I signed up for the 3pm tour so I had the morning free, and grabbed Cate to see the astronomical clock in Lund.

Later in the evening, we had a pre-dinner event with glögg (glüewine) and pepparkaka (ginger bread cookies), and an acapella performance!

Then we moved to the City Hall, where we were addressed by the mayor of Malmö, and dined in this beautiful hall.

The conference

The conference started on Wednesday, with three days, eight tracks, more than 150 sessions total. With so many simultaneous talks, I had to make a choice every hour, and I came up with a strategy. I prioritize talks with:

  1. Great speakers
  2. Props
  3. Technology that I would not look into otherwise

Great speakers

James Mickens definitely falls under the "great speakers" category. His talk was hilarious!

Christian Heilmann explained why we are not using HTML5, with great visuals.

Props

In the "props" category I have The Internet of Things Magic Show and Oculus Rift.

Great insights

Lots of great insights on how we interact with computers:

Celebrity

To top it off, Øredev invited Nile Rodgers for a candid chat!

A superbly run conference

Øredev is the best run conference I have ever been to. The attention to detail is amazing.

A round badge! With a lens in it!

The podium seen through the Øredev lens.

Sign posts pointing to the rooms. Much easier to see than signs on walls, which they also had.

A smoke screen!

Lightweight feedback screen at the door of each room.

Other impressive things:

  • There were at least 20 minutes between the sessions, so even if one session ran overtime it wouldn't eat up time from the next session. Also gave you time to hang out in the hallway and talk to people, grab a coffee etc.
  • Speaking of coffee, there were plenty of food: breakfast, lunch, snacks, and dinner!
  • And they treat their speakers really well. All travel costs are covered, and they pampered us with so many speaker activities.
  • Finally, all sessions are recorded, and uploaded right away. They were so efficient, I don't even know how they did that.

Here are my two talks:

Tack så mycket, Øredev!

Monday, November 10, 2014

Droidcon London 2014

I had a great time speaking at Droidcon London 2012, and I am very happy to go back this year.

First thing first: gotta love these super cute icons!

Barcamp

Day 1 is barcamp. Everyone got a chance to get on stage and pitch their session.

There were quite a variety of topics. I was entertained by a hilarious app clinic, killed the refresh button with SyncAdapter, and discovered that you can address any 3mx3m grid in the world with 3 words.

Practical Best Practices

We rounded up the day with a satire talk by Chet Haase: Practicing Practical Best Practices for Software Development Practitioners.

Lollipop

Day 2 is presentations, starting with keynote from Chet the Googler, not to be confused with Chet the consultant from the day before, who wore a tie.

Chet the consultant (Credit: Skills Matter)
Chet the Googler (Credit: Skills Matter)

Chet told us about What's New in Android, followed by Chris and Nick with more Lollipop tips:

Design

Next I learnt about design from Juhani Lehtimaeki and Taylor Ling.

Graphics trilogy

In the afternoon, there were three talks on graphics, including mine.

Mark opened the trilogy with Graphical Magic. And by magic I meant he was setting stuff on fire!

With that great opening, Mark went on to show us how to do image manipulation programmatically.

Next in the trilogy was my talk, Fun with Android Shaders and Filters, where I showed more image processing techniques.


Slides: http://chiuki.github.io/android-shaders-filters

And finally, Sebastiano Poggi covered the Skia pipeline in Framing the Canvas.

Best part: The people

Droidcon London is one of my favorite conferences. The talks are great, but more importantly I get to hang out with really awesome people.



Thank you everyone for the wonderful conference!

Thursday, January 16, 2014

Talk at CodeChix + ACM

Yesterday I was invited to speak at the Bay Area ACM meeting, co-hosted by CodeChix. I wanted to bring a topic that is interesting to the general audience, so I decided to Bust the Android Fragmentation Myth with them.

I treat my overview talks quite differently from my deep-dive talks. For deep dives, I jump into the nitty-gritty details fairly quickly, packing my slides densely with tips and tricks. But for overview talks, I go over the problem definition first. In this case, how to develop for so many different Android devices?

I then walked through a Hello World example to give some basic Android background. With all that set, I deliver the meat of the talk, the various techniques for responsive and progressive development.

After the talk I was chatting with some of the audience, one of whom had no programming experience but enjoyed my talk nonetheless. I was very happy to hear that. She asked me for advice to prepare herself before coming to tech events, to which I said, "ask questions". Ask if you don't understand something. Ask for more information if something is interesting and you want to learn more. She looked a bit disappointed since I was telling her something she already was doing, but at the end of the day there is always more to learn, so my rule of thumb is get fresh information while you are at the event. To give her something concrete, I pointed her to my Android Layout Fundamentals video course. Hopefully that'll be useful!

Monday, November 18, 2013

AnDevCon SF

It's AnDevCon time again! This time I did something slightly different. Instead of giving lectures, I gave a workshop. It was a hands-on session to build a custom view called FractionView.

My most popular talk is Android Custom Components. I have given it many times already, and people are still requesting it, so I know the material is very much in demand. But since I offered it during the past 3 AnDevCon already, I thought I'd change it up a bit and go deep with a workshop. I want people to come in not knowing anything about custom view and walk out with one built from scratch.

The challenge of a hands-on workshop is pacing. I allowed plenty of time for people to complete the exercises, stressing that they should interrupt and ask questions. Some of the exercises were copy-and-paste, others were tasks with guidelines only. This way people had a chance to apply the knowledge right away, hit some of the common mistakes, recover, learn and remember.

I also added an extra-credit exercise for people who were ahead to keep busy. It was very well received. In fact some people wanted more! I will do that in my next workshop.

Keynote

Workshops happened on Tuesday, the day before the conference started. That meant I could enjoy the rest of the conference without distractions from getting ready to deliver my own sessions. Cool!

Reto Meier from Google opened the conference with a wonderful keynote. He urged us to push the boundaries of the system, not only by claiming the benefits, but also showing us why we were not doing it already.

Engineers have two time assessments for tasks: 5 minute or forever. Incremental improvements are often seen as "taking only 5 minutes", and it feels good to get things done. Going into the unknown, however, is daunting. For instance a lot of developers have been putting of in-app purchase, because "it will take forever". Turns out "forever" could end up being just 2 hours. So take the plunge and try something new. Make a big change. It may not be as daunting as you presumed.

Talks

I have always learned a lot from the talks at AnDevCon, so I was a bit surprised to find that I felt I was going to fewer deep-dive sessions than before. Looking into it a bit more, I realized there were still a lot of advance topics on the schedule, but I attended quite a few of them at previous AnDevCons already, and there were some slots with multiple talks I wanted to go. The conference is so much more than just the talks, though. I had many great conversions over lunch, at social breaks, after sessions chatting with other attendees, etc etc. And of course, at the women luncheon as well.

Women luncheon

I have attended the women luncheons at every AnDevCon, and it was always fun to hang out with fellow women attendees. This time I was hosting the luncheon with Sonia Sharma from Google, and I was actually a bit stressed about it, almost more than my workshop. I felt that the fun came from spontaneity, not something I could plan or practice. So we went for table topics, hoping to seed the conversations and let the attendees take it from there. I am happy to report that it worked quite well!

Sunday, September 22, 2013

Strange Loop: Go beyond your day-to-day

When I first heard of the Strange Loop conference, my immediate reaction was, "that is not a conference for me". I was under the impression that it was for language designers to discuss DSLs, type systems, variable binding etc, and not application developers like me.

I was not planning to attend the conference, let alone submit a talk proposal, until I saw an email on the DevChix mailing list. It was an invitation to join a Google Hangout with the Strange Loop organizer to learn more about the conference. Curious, I went and asked questions about the kind of talks they were looking for, and decided to submit a proposal after all. Two, in fact, a deep-dive talk and a overview talk, since I was still not sure what works best for this conference. A few weeks later, I got an email from Strange Loop, telling me they'd like to hear me Bust the Android Fragmentation Myth.

When I boarded the plane for St Louis, I was still not sure if Strange Loop is for me. It seems so far away from what I do. But coming back, I realized that being far away from what I do turns out to be a good thing. It gives me a chance to sample various exciting developments in my field, and it was a lot of fun to step back the day-to-day tasks and look at the big picture.

Opening keynote

Strange Loop opened with a keynote by Jenny Finkel from Prismatic.

Before I get into the talk, please take a moment to admire the venue. Yup, it was an opera house! Such a beautiful place.

The keynote was wonderful, with enough technical details to let us peek behind the curtains of the Prismatic recommendation engine, but not too much to be dry. I enjoyed it a lot.

That was a perfect opening to the rest of the conference. Over the two days I went to many different talks, and listened to great variety of topics. Here are some of them.

Visualization Driven Development

It is common to visualize data after we deployed our software. But in the Visualization Driven Development talk, the speaker argued that we should use visualization during development as well, as a tool like printing log statements and examining state via the debugger. Relying solely on text during development is like picking music by reading its score. (Edit: the example was picking wedding music for an engaged couple, not professional musicians)

Learnfun and Playfun

How do you teach the computer to play video game? Tom 7 went for a pretty simple metric: bits should go up! It was a really light-hearted talk, with lots of cool demos. Check out the videos on his web site.

Natural Language Processing

I studied NLP in grad school, but haven't used it for a long long while. The NLP talk was a nice trip down the memory lane, but also showed me the power of open source. There are so many tools for text processing now! I am especially impressed by nltk, a python library. Reminds me of import antigravity from xkcd.

Bust the Android Fragmentation Myth

My talk was in the late afternoon on the first day.

This is the second time I gave this talk, the first time being OSCON. As usual, I polled my audience before starting, and the Strange Loop crowd had a lot more mobile developers. As a result I sped past the hello world fairly quickly, and spent more time on resource folders.

Afternoon keynote

In the afternoon keynote, Jen Myers gave a passionate speech on making software accessible to everyone. She viewed the current status as a legacy system, and showed us how to improve it by small focused refactoring. She shared stories from Girl Develop It, of empowerment through inclusion. She also emphasized the importance of role models, with wonderful examples such as Sally Ride, Neil deGrasse Tyson and Nichelle Nichols.

The Birth and Depth of Javascript

Strange Loop offers an opportunity to look into the future, and in this talk, the speaker took it quite literally: it was given from the perspective of 2035! In this future, Javascript, together with asm.js, would allow any language to be compiled to run in the browser. Not only the talk itself was entertaining, but the audience also asked questions in the same spirit, one even asked the speaker to predict the future, seeing that this was a "historical" talk.

Java Puzzlers

I have seen the Java Puzzlers talk a few years ago at Google, and totally loved it. It was given in the style of Click and Clack from CarTalk, complete with overalls for the speakers. The puzzles exposed some unexpected behaviors of the Java language, and offers suggestions to avoid the pitfalls. This talk has a completely new set of puzzles, and is as delightful as always.

City Museum

On top of all these wonderful talks, Strange Loop has another cool offering: the conference party at the City Museum. Instead of a museum, it is better to think of it as a giant playground, with lots of secret passageways, multi-storey slides, cages and spirals, and suspended vehicles like a school bus and a plane.

I was having fun exploring the different nooks and crannies on the first three floors, and then heard someone talking about the roof top garden. What, there is more? I found the elevator up, and was treated to a nice cityscape. Plus lots of slides, including one that went all the way down to the third floor. As looked around, I realized that there were more playground outside the building, with a big ball pit, an airplane, and lots of caged passageways.

Given the size of some of the openings this is clearly designed for children, but that did not stop the hundreds of geeks from exploring the place, including yours truly. I had so much fun!

Friday, September 13, 2013

360|iDev

Did you know how I got started in iOS development? At a iOS workshop at Devoxx, a java conference. I have always wanted to learn about iOS, so I went to the workshop, and from there I went on to publish my first iOS app, Heart Collage.

A few months after I published Heart Collage, I saw the call for speakers for 360|iDev, an iOS conference. Thinking about my experience at Devoxx, I decided to submit an introduction to Android session. And it was accepted!

Intro to Android for iOS developers

It was quite challenging to condense the vast sea of Android knowledge into a 50-minute talk, so I focussed on providing a framework for people to explore further. I mapped parallel concepts between iOS and Android to quickly get people up to speed, and then went on to explain two aspects that are rather different on Android: layouts and intents.

I was a little bit worried to be an Android developer among an iOS crowd, but people were super friendly, and my session was very well attended. For the rest of the conference I kept sitting next to people who were at my session, and they said they enjoyed it a lot, gaining an appreciation for the Android platform. This makes me very happy, to help break down the artificial segregation of technologies.

iOS talks

I went to many different talks, soaking up as much iOS knowledge as I can. I learned about custom controls, computer vision, auto layout, UIKit Dynamics, the Objective-C runtime etc etc. Some of it totally went over my head (method swizzling I'm looking at you), but I walked away with lots of concrete knowledge, and got so excited that I played with it right away, at Game Jam.

Game Jam

On Tuesday night there was Game Jam, for people to get together and write games. Initially I wasn't going to participate, but after going to the computer vision talk, I decided to see if I can implement the prototype of a game idea that I had for a while: Color Hunt.

Color Hunt randomly generates a color for you to find it with the camera. For the longest time I thought I needed some complex algorithm to compare colors, and then I saw the Rubik's Cube solver example from the computer vision talk, which uses hue for color detection. So I took the camera code from Heart Collage, grabbed the pixels in the middle of the screen, extracted the hue value and compared it to the target color. It worked!

Community

I had a great time at 360|iDev. The organizers, John and Nicole Wilker, put in a lot of effects to foster the community. The quality of the talks were very high, but more importantly there was a lot of opportunities to mingle with everybody, at lunch, at the evening receptions, at game jam. I have met many people that I know I will keep in touch with, and that is the best part of conferences. On top of that I also came home with a prototype for my game! How awesome is that?

Monday, July 29, 2013

OSCON

I just came back from a wonderful week in Portland, attending OSCON, the open source conference.

Presentation Aikido

Presentation Aikido
Presentation Aikido

I started the conference by attending the Presentation Aikido workshop. Damian covered many aspects of a good presentation, from material selection to storyline formation to slide design to handling questions. He pointed out that talks are rarely a primary information source. Rather, it connects the new material with what the audience already knows, providing a structure for understanding.

So many topics!

Besides public speaking skills, I explored many different topics during OSCON. There were more than ten sessions going on at the same time, and it was a bit overwhelming to decide which ones to attend. My daily routine focuses on mobile development, but instead of going to mobile talks I decided to use this opportunity to expand my horizons.


Making waves

In the HTML5 game workshop I learned to make sound by mixing sine waves, square waves and saw waves, and adjusting the sound envelope.

My first Arduino circuit
My first Arduino circuit

In the Arduino workshop I made my very first Arduino circuit, and took home a starter kit with enough components to build various projects.

Object-oriented programming vs functional programming
Object-oriented programming vs functional programming

In the Functional Thinking talk I realized that I have already dipped my toes in functional programming by using list comprehension in python and ruby, and learned about interesting concepts like memoization with pure functions.

Bust the Android fragmentation myth

I had so much fun going to all the different sessions that I almost forgot I needed to give a talk as well!

My talk covers the techniques to develop Android apps that works on all devices, no matter what screen sizes, aspect ratios and OS versions. Android borrows a lot of concepts from the web, so I used a lot of analogies with html, css and javascript. I did not realize that when I prepared the talk, but I was making connections for my audience, just as Damian said in Presentation Aikido.

Awesome speakers

The side effect of kicking off the conference with the Presentation Aikido workshop was the I became acutely aware of the presentation techniques of various speakers.

Are Corporations Evil?
Are Corporations Evil?

For instance, I really enjoyed the talk by Simon Phipps, Can Evil Corporations Embrace Open Source? He started by asking the question "Are Corporations Evil?", and compared them to lawnmowers. Lawnmowers cut. If you put your hand in a lawnmower, it gets cut. Because that's what lawnmowers do, not because they are evil. To change the direction of a lawnmower, you do not put your hand in it. Instead, you steer it from behind. Much like lawnmowers, corporations do not think or feel, and cannot be evil.

Later in the presentation he mentioned that people used to question his role pushing open source within Sun Microsystems. How can he pretend to embrace open source while working for a corporation, they asked. To which Simon replied, he was steering the lawnmower. There were many cross references like the throughout the talk, giving it consistency and structure. I loved it.

OSCON concluded with a fabulous talk by Paul Fenwick, titled "Fear, Uncertainty, and Dopamine". He showed us lots of interesting research on motivation, and suggested ways to apply them to the open source community. Paul was extremely eloquent, and his talk was informative, entertaining and inspiring. You should check it out.

Portland

OSCON was not just about workshops and session. I got to hang out with lots of cool people, explore Portland, and eat yummy food.

Bread at Nicholas restaurant
Bread at Nicholas restaurant

Monday night I went to Nicholas for some delicious Lebanese food. We had baba ghanoug, toum, lamb kebab, fried veggies and Lebanese pizza, and everything was so tasty.

8:36pm: was out at Nicholas with these amazing women (Rose, Rupa, Julia, and Chiu-Ki), in town for #oscon!
The gang at Nicholas: Rose, Rupa, Julia and me. Liene was holding the camera.

Wednesday night Rupa and I decided to pay a visit to the legendary Powell's Bookstore. We went to straight up to the top floor for the Rare Book Room.

Bookends in the Rare Book Room at Powell
Bookends in the Rare Book Room at Powell

After that we wandered around a bit. We stumbled upon the popup books in the children's section, which were really fun.

Popup book
Popup book

Thursday night we went out in search for yummy food again. This time we went to Bamboo Sushi.

Shrimp tempura roll
Shrimp tempura roll

We were going to get ice cream from Salt & Straw next door, but alas, the line was really really long.

On the last day we joined a tour to check out the food carts.

Food cart tour
Food cart tour

We sampled 9 carts in total:

  1. Empanada
  2. Bulgogi taco
  3. Falafel
  4. Bacon almond dates
  5. Salmon chowder
  6. Beer battered mushrooms
  7. Chilled basil sweet corn soup
  8. Chinese dumplings
  9. Liège waffles

After the food cart tour I met up with a friend who moved from the SF Bay Area to Portland a few years ago, eager to hear more about the Portland lifestyle. Portland strikes me as a very livable place - excellent public transportation, affordable real estate, thriving tech community. I am seriously tempted to move there!

Saturday, June 22, 2013

DevConf Russia

It all started with a tweet:

My first reaction was, woah, Moscow? Not quite sure if I'd like to make the journey all the way from Silicon Valley. But after thinking about it for a while I decided, hey, why not. Initially I was going to make visit both Moscow and St Petersburg, but I was a bit daunted by the task of acquiring train tickets in Moscow, so I ended up just going to Moscow.

I arrived Moscow the day before DevConf, and the organizer was kind enough to come pick me up from the airport. I saw the beautiful Moscow metro on my way to the hotel.

Mosaic at Mayakovskaya station
Mosaic at Mayakovskaya station

Moscow metro
Moscow metro

In the evening I had dinner with other out-of-town speakers, and then the organizers took us for a talk.

St Basil's Cathedral
St Basil's Cathedral

GUM department store
GUM department store

State Historical Museum
State Historical Museum

Conference Day

The conference is from June 14 to 15, but the organizers told me that the second day was all Russian workshops, so I could go sightseeing that day. I assumed then the first day was talks in English, but when I showed up I discovered that all but three talks were in Russian. One was mine, the other two were on the same slot.

I gave my Android Custom Components talk. Here I was, explaining Canvas using the flip board:


Photo Credit: Antony Dovgal

After that I went the Android productivity talk by Alexandre Thomas:

And that was it. The rest of the conference were all in Russian. I ended up going for a walk with Alex and his girlfriend. There was a market right behind the hotel, with lots of interesting buildings:

And then we went to this really big park next door.

For dinner, we found two restaurants next to the hotel. One serves everything with fries, the other one is a Japanese restaurant. So we had sushi for dinner!

Turns out sushi is rather popular in Moscow, to the point where I recognized it in Cyrillic - суши.

Sightseeing

Saturday the organizers took us all around Moscow. First we went for a river cruise.

Russian Academy of Sciences
Russian Academy of Sciences

Ministry of Defence
Ministry of Defence

Peter the Great Statue
Peter the Great Statue

Next we went to the Kremlin.

Kremlin
Kremlin

The Trinity Tower
The Trinity Tower

The Assumption Cathedral
The Assumption Cathedral

For lunch with went to Sanduny for tradition Russian food. It was so nice that I forgot to take photos!

After lunch we went for a walk. Saw the Bolshoi Theatre, GUM department store, St Basil's Cathedral and the Arbat area.

Bolshoi Theatre
Bolshoi Theatre

St Basil's Cathedral
St Basil's Cathedral

The DevConf Russia organizers took such good care of us it was quite amazing. They showed us around town, paid for everything, and even carried water bottles for us! I felt bad for not spending too much time at the conference, but it was really difficult to sit in sessions conducted in a foreign language. Hope the people who came to my talk found it useful!