All You Need is Just a Little Patience

17 Apr 2017 | Comments | tags: speaking conference

Over the weekend, I gave a talk at Droidcon Vietnam about data binding and Plaid. One person told me that public speaking seems to come naturally for me and today I would like to illustrate how that came to be.

As a general rule, I am not comfortable talking about topics that I barely know. Meaning, I would not submit a talk proposal about something that I haven’t used in an actual app. Some people are okay with proposing topics and then researching about them, but that doesn’t work for me.


For the longest time now, I have been trying so hard to convince people to give data binding a try. There are a ton of posts out there about it, but for me they all seem so… abstract. Dare I say it’s sort of similar to that thermosiphon example we are all so familiar with.

I have always loved Plaid and I always turn to it for ideas on how to interpret something. If you follow me on Twitter, you’d probably noticed how I always use it for my samples or tips.

I learn best by doing, so I thought we could really use a practical, real-world example of how to use data binding in an actual real-world app with real-world use cases. The people most skeptical of data binding are those that are in the midst of working on an app, and I thought maybe a little nudging to show them how easy it can be might help. What could be better to illustrate this than something they already have access to?

So if you feel like there is nothing for you to talk about, that simply is not true. If something made you go “I wish X exists to help me learn Y”, that’s a talk idea right there.


I spent a whole bunch of time writing code for this talk. And by whole bunch I mean ~40 hours worth of work spread over three weeks. It may seem like a long time, and it is, but it may as well be because I’m slow. ^-^


I started up a Google Slides draft right as I started working on the code. That helped me come up with an outline organically. At this point, the slides all consist of short titles that would probably make sense only to me, and links to PRs that I create against my repo. If there is a particularly interesting thing I run across, I note it in the slide too.

And then of course, there’s the inevitable three days I spent looking for a suitable presentation theme. I use Slide Carnival, and it took a lot of false starts before I finally settled on Viola.

I then spent another ~20 hours writing and re-writing and fixing up the formatting. I make sure I format the code on my slides nice and pretty. Here’s a recipe for you:

Edit: Or you can use Roman Nurik’s cool code highlighter for slides

I use speaker notes a lot when drafting my presentation. They are not word-for-word scripts of what I want to say though, but they do help me remember the point I was trying to make and is a good coach during practice runs.


I like to be well-prepared in anything that I do, especially with public speaking where I feel like people are judging every word that comes out of my mouth.

It helps me a lot to actually say out loud what I mean to say during the talk whilst writing my slides – things do sound different when said aloud. This way writing slides is already a practice run of its own.

After I’m done with my slides, it’s time to do the first of many runs. I start a timer and then say everything I want to say. It would then give me a rough idea of how much stuff I need to cut (if I took longer than my allotted time) or add (if I went under). I do this run and cut/add as many times as required until I hit the target time +/- at least a couple of minutes.

The night before I should give my talk, I try to do at least three full-length runs. Crazy, I know, but that’s just me. I tend to stumble on some words, so I practise saying those, too. I try to lessen looking at the speaker notes after each run – just glancing down at them if I find myself lost or forgetting the main point of a slide. For my last run of the night, I practise with my clicker.

On the morning of my talk, I do another run. If I can, I look through all my slides at least an hour before my slot to make sure that I remember everything.

What I mean to say is this: Giving a talk does not come naturally for me. It takes a lot of hard work and practise and patience.

And I think this is something that we should all remember. Most of the time we see the result, but we rarely see the blood, sweat, and tears paid to bring about that result.

Ask for help. Ask someone to look at your slides and give feedback, ask your local meetup group if you can do a practise run with them before your talk, ask a person who is in your target audience to listen to you practise, ask for a second opinion.

PS: I think this talk is worth giving one or two more times, so please let me know if you want me give it at your event! :)

PPS: I would like to reiterate that this is my process – it may or may not work for you as everyone has their own style. :)

Thanks to Nick Butcher for letting me mangle his code and for early feedback on my drafts, Yigit Boyar for being patient with my stupid questions, Hugo Visser for the late night code reviews, Michael Evans for listening to all my whining, and Francois Blavoet and Frederic Barthelery for reading through the drafts of my preso.


14 Apr 2017 | Comments | tags: data binding android plaid

I gave a talk this morning in the first ever Droidcon Vietnam! It is about two of the things I love in Android – Plaid and data binding.

Here are my slides!

Android is like baking

04 Apr 2017 | Comments | tags: wtm

Today I had the honour of attending the first WTM Summit in Sydney.

I attended the Speechless workshop and one of the activities we went throught was called vennspiration. In it, we were asked to tell our partner several things:

It was a really fun exercise, and I realised that I needed more than the three minutes I was given to give it justice. And since the theme for the day was #tellyourstory, I want to build up on my story.

I/O 2016 was my first time in the US, and it became my quest to try as many American treats as I could (And oh boy did I pay for it! I still haven’t shaken the weight off!). One of those treats is the snickerdoodle. It’s a creamy vanilla cookie coated in cinnamon sugar. UGH SO GOOD.

When I got back to Sydney, I wanted to have some snickerdoodles but there aren’t any here. A very smart person told me “Why don’t you just make some? It’s really easy.” So now you see, I didn’t grow up baking cookies with my mum. That wasn’t our thing. I haven’t baked anything at all ever. But if it’s easy, so hey why not.

I went to the shops and got a baking sheet and I made some snickerdoodles. I didn’t have a mixer, so I made the dough by hand. Do you know how hard it is to cream butter and sugar by hand?! Coupled with the fact that I don’t know what a properly creamed butter and sugar mixture looks like, it was kind of frustrating. The cookies turned out okay. But if you know me at all, you know that okay is not okay. And so I know that I just have to try again.

I went back to the shops and got a hand mixer. “This time I’m gonna do it properly,” I said. I made a new batch, and it was better. But now I’ve got all this flour left over. Maybe I should make chocolate chip cookies. I heard that’s easy too. So I made chocolate cookies.

And during that Speechless workshop, while I was looking back at all this, I realised that it is kind of fascinating.

And just like my career – from hating programming to being an Android GDE – about a year on and I’ve moved from failing snickerdoodles to making baked cheesecakes.

And now I leave you with my red velvet cupcakes.

Red velvet cupcakes 😋

A post shared by zarah d. (@zarahsays) on