Category Archives: tips

"But what can I talk about?" Toastmaster tactics for tackling topics

This is a talk I’m giving to the IBM Toronto Lab Toastmasters today. I should trim a few hundred words from it to get it to more comfortably fit in 5-7 minutes, but it’s got the key points.

Today, we’re going to transform the way you benefit from Toastmasters. Right now, ten people in this club have a speech scheduled. After this talk, I want each of you to sign up to give three speeches, all committed to in advance. Not only that, I want you to get into the habit of always working on a talk – and it’s going to take you less time and give you more results than before.

"You’re crazy, Sacha. What can I talk about? When am I going to find the time to work on it? It’s not like I do interesting things, anyway."

I know. I’d be thinking that, too. But you’re in Toastmasters, and it’s not just so that you can spend lunch time listening to other people talk. I’m going to share three lessons I learned the hard way. If these three lessons help you get over the hump and get on with speaking, fantastic! Mission accomplished. If they don’t, get in touch with me and we’ll figure out what will.

So here’s what I’ve learned about coming up with topics to talk about.

1. IT DOESN’T HAVE TO BE BRILLIANT.

We have really high standards for ourselves. We want to be as insightful as New York Times columnists, as funny as standup comedians, and as persuasive as managers during performance reviews.

Me, I have days when I don’t want to give a presentation because I’m sure that I’m going to suck.

Newsflash: It doesn’t have to be brilliant. You don’t have to be brilliant. In fact, if you’re giving a Toastmasters presentation like this, even if you bore people, they’re only bored for seven minutes. You’re not going to ruin anyone’s lunch, much less their life.

What about longer talks? As long as you’re telling the truth in your title and abstract, then the organizer of the talk can decide if it’s a great fit, and people can choose whether to show up or not – or whether to check their e-mail.

There are plenty of things you can share: everything from the structural determination of organic compounds to how to buy a car from the US. Pick one thing you’ve learned or experienced and put together a talk about it.

But there’s a harder reality to this. The truth is that you don’t get to be interesting until you go through the boring parts. Being interesting is hard work. You have to figure out what you want to say and how you want to say it, and you can only do that by trying.

So after this talk, you’re going to SIGN UP FOR YOUR NEXT TALK. When you finish that, you’re going to sign up for your next talk, and the next, and the next. Always be working on your next talk.

Which brings us to secret #2.

2. IT DOESN’T HAVE TO BE NEW.

You’re not going to figure everything out on the first try. Have you ever heard stand-up comedians during their off hours? One of my friends was doing stand-up comedy. You could tell because whenever we met someone new, he’d tell the same joke. He’d change the timing. He’d change the words. He kept practising until he nailed each joke.

I looked up all the talks people gave in this Toastmasters club this year. There’s one repeat. Everything else is all new, all the time.

Remember: It doesn’t have to be new. REDUCE your effort by REUSING your talks and RECYCLING your ideas.

Don’t be a one-trick pony, though. Make things better. How can you do that?

Do you have copies of your past speeches? What about your notes? Your conversations? Your ideas? If you don’t keep at least some of that, you’re throwing so much away.

Everything I work on goes into one big text file. I write as much as I can. Everyday, I take notes so that I can remember, because forgetting is such a waste of time.

I might write or present about a topic four or five times so that I can understand it better. It’s part of the learning process.

I learn something about a topic every time I present it. It’s part of the process.

Your topic doesn’t have to be new. Go back and look at your old stuff. Start saving your work from now on: your talks, your notes, your ideas. Writing down notes is incredibly powerful. Over time, you’ll build this amazing library that you can refer to any time you need. In fact, if you share it with people – and it’s incredible when you do – you can get crazy return on investment. I have presentations from three years ago that people are still looking at, still learning from, because they can find those presentations through search engines.

Last secret. This is a big one.

3. IT DOESN’T HAVE TO BE WHAT YOU ALREADY KNOW.

I have a confession to make. I propose topics I don’t know about, so that I can force myself to learn.

It’s an amazing excuse to get going. When you’ve committed yourself to teaching people, you learn more deeply. And you’ve got a deadline, too.

Don’t limit yourself to things you know. Pick something you want to learn, and promise a talk on it. Then learn it, share what you’ve learned, and save people time.

You might be thinking: "But what can I share if I’m just a beginner?" This is actually the perfect time to share. By the time you’re an expert, you’ve forgotten all the things people need to learn. Share as you go. You don’t have to be brilliant, and you might need to try it a few times before you figure things out, but there’s no better way to learn.

If you can convince people to try something out, or help them avoid your mistakes, or save people an hour or two of figuring things out on their own, then that’s already worth it.

So, how does this line up with what you are going to do after lunch? Well, you’re going to sign up to give three speeches.

Your first speech doesn’t have to be brilliant. Look up your next goal from your workbook, pick something you’ve learned at work or at home, and commit to sharing it.

Your second speech doesn’t have to be new. Pick something you’ve already shared, and make it better.

Your third speech doesn’t have to be what you already know. Pick something you want to learn, and commit to sharing it. If you’re doing one speech a month – that’s plenty of time to prepare – you have at least two full months to try an experiment. It can be a technical overview, or something as practical as a speech about "How to wake up at 6 AM everyday for one month." Just do it.

Then make life easier for yourself! REDUCE, REUSE, RECYCLE. Make your own library of past speeches and ideas for future ones. Keep an eye out for interesting things to share. You’ll find yourself with plenty of material in no time.

Who’s ready to sign up? Who needs some more coaching? We’ll figure out something that works. Take that card, use it as a reminder, and get in touch with me if there’s any way I can help. There’s so much you can talk about, but you’ve got to take that step.

How to use Drush to download and install Drupal modules

One of the best things about building websites with Drupal is that there are thousands of modules that help you quickly create functionality.

To set things up, you need to download Drush and add it to your path. For example, you might unpack it into /opt/drush and then add the following line to your ~/.bashrc:

PATH=/opt/drush:$PATH
export PATH

Reload your ~/.bashrc with source ~/.bashrc, and the drush command should become available. If you’re on Microsoft Windows, it might need some more finagling. (Or you can just give up and use a virtual image of Linux to develop your Drupal websites. You’ll probably end up much happier. ;) )

Once you’ve installed Drush, what can you do with it?

Drush is a huge time-saver. For example, I install dozens of modules in the course of building a Drupal website. Instead of copying the download link, changing to my sites/all/modules directory, pasting the download URL into my terminal window after wget, unpacking the file, deleting the archive, and then clicking through the various module enablement screens, I can just issue the following commands to download and enable the module.

drush dl modulename
drush en -y modulename

(The -y option means say yes to all the prompts.)

So much faster and easier. You can use these commands with several modules (module1 module2 module3), and you can use drush cli to start a shell that’s optimized for Drush.

Drush is also useful if you’ve screwed up your Drupal installation and you need to disable themes or modules before things can work again. In the past, I’d go into the {system} table and carefully set the status of the offending row to 0. Now, that’s just a drush dis modulename.

Drush has a bucketload of other useful commands, and drush help is well worth browsing. Give it a try!

Drupal, SimpleTest, and the node access API

Setting up Simpletest and Drush on Drupal 6.x:

  1. Download and enable Simpletest with drush dl simpletest; drush en -y simpletest
  2. Download simpletest.drush.inc to your ~/.drush/drush_extras directory. This version allows you to run a single test from the command-line.
  3. Create a custom module with a tests/ subdirectory, and write your tests in it. (See this Lullabot Simpletest tutorial.)

We’re starting another Drupal project. While the IT architect is working on clarifying the requirements, I volunteered to implement the risky parts so that we could get a better sense of what we needed to do.

The first major chunk of risk was fine-grained access control. Some users needed to be able to edit the nodes associated with other users, and some users needed to have partial access to nodes depending on how they were referenced by the node. Because there were many cases, I decided to start by writing unit tests.

SimpleTest was not as straightforward in Drupal 6.x as it was in Drupal 5.x. There were a few things that confused me before I figured things out.

I wondered why my queries were running off different table prefixes. I didn’t have some of the data I expected to have. It turns out that Simpletest now works on a separate Drupal instance by default, using a unique table prefix so that it doesn’t mess around with your regular database. I’m doing this on a test server and I want to be able to easily look up details using SQL, so I needed to add this to my test case:

class ExampleTestCase extends DrupalWebTestCase {
  function setUp() {
    global $base_url;
    $this->originalPrefix = $GLOBALS['db_prefix'];
  }
  function tearDown() { }
}

I also didn’t like how the built-in $this->drupalCreateUser took permissions instead of roles, and how it created custom roles each time. I created a function that looked up the role IDs using the {role} table, then added the role IDs and roles to the $edit['roles'] array before creating the user.

Lastly, I needed to add the Content Profile operations to my custom user creation function. I based this code on content_profile.test.

$this->drupalLogin($account);
// create a content_profile node
$edit = array(
  'title' => $account->name,
  'body'  => $this->randomName(),
);
$this->drupalGet('node/add');
$this->drupalPost('node/add/' . str_replace(' ', '-', $role), $edit, t('Save'));

It would’ve been even better to do this without going through the web interface, but it was fine for a quick hack.

I had the setup I wanted for writing test cases that checked user permissions. I wrote functions for checking if the user could accept an invitation (must be invited, must not already have accepted, and must be able to fit). SimpleTest made it easy to test each of the functions, allowing me to build and test blocks that I could then put together.

The code in content_permission.module turned out to be a good starting point for my field-level permissions, while the Drupal node access API made it easy to handle the user-association-related permissions even though I used node references instead of user references.

It was a good day of hacking. I wrote tests, then I wrote code, then I argued with the computer until my tests passed. ;) It was fun seeing my progress and knowing I wasn’t screwing up things I’d already solved.

If you’re writing Drupal code, I strongly recommend giving SimpleTest a try. Implementing hook_node_access_records and hook_node_grants is much easier when you can write a test to make sure the right records are showing up. (With the occasional use of node_access_acquire_grants to recalculate…) Otherwise-invisible Drupal code becomes easy to verify. The time you invest into writing tests will pay off throughout the project, and during future work as well. Have fun!

Making the most of the conference hallway track

The informal conversations you have in conference corridors in between sessions can help you learn a lot more and connect with more people than the planned sessions do. Here are some tips to help you make the most of the hallway track.

  • Before the conference

    Prepare by looking up people’s names and faces. Make a list of people you want to meet at the conference, like the speakers you’re interested in listening to or other participants you want to chat with. Review their names so that you can recognize them when you read people’s nametags. If possible, look up people’s pictures, too, so that you can spot them in a crowd.

    Make time by managing expectations. The gaps between sessions are NOT the time to check your e-mail or join conference calls. Prepare for the conference by setting your coworkers’ expectations. You’ll get the most out of the conference – and you’ll have the most to bring back – if no one expects you to constantly check e-mail or be available for meetings. Block the time off.

    Make time by being ruthless with conference agendas. If you really don’t see any sessions you might be interested in, or if the session you’re in turns out to be a waste of time for you, leave and check the hallway track. If no one’s in the hallway, you can slip into anohter session you were interested in.

    Be easy to find. Plan to make it easy for people to find you so that they can continue interesting conversations with you or introduce you to other people they think you should meet. One of my friends wears a green blazer to conferences, so that he’s easy to find in a crowd. I wear a hat. Make it easy for people to connect.

    Plan to take notes and exchange information. Don’t waste the time you spend talking. Bring a notebook or a PDA that you can use to write quick notes. Bring business cards, too – they’re still the most reliable way to give someone your contact information as a physical reminder to follow up.

    Set up meetings with people you really want to meet. Reconnecting with old colleagues? Really want to talk to a speaker? Don’t leave it up to chance. Find out where people are and arrange to meet them.

  • During the conference

    Give people excuses to talk to you. Make it easy for people to start a conversation with you about a topic of mutual interest. Write keywords on your nametag, or wear a second nametag with keywords on it. Going to a geek conference? Wear a T-shirt related to your project, and people will almost certainly ask you about it.

    Start the conversation. Yes, it can be scary, but the good news is that conferences give you natural conversation starters. Ask people what session they attended and what they learned from it. Ask people which sessions they’re looking forward to and why. Ask people what they’ve liked the most about the conference so far, and what would make it even better. Ask people what actions they’re planning to take based on what they’ve learned. There’s no need to stick to small talk about the weather or what people do.

    Expand the circle. If you want to open a conversation so that other people feel less awkward about joining it, don’t stand directly in front of the person you’re talking to; open things up so that you’re standing in an incomplete circle. See people hovering near the edge of your conversation? Invite them in and make them part of it. Connect the dots. Introduce people to each other, bring out shared interests, and make people feel comfortable.

    Look for homework. Make following up easier for yourself by looking for opportunities to give yourself homework. Find out how you can help the other person. Can you share your conference notes? Can you introduce them to other people? Can you help them with what they’re working on? Do you want to learn more about something they’re doing? Write that down and swap contact information. Now you have a reason for following up.

    Reinforce the connection. Unless you’re at a huge conference, you’ll probably see many of your new acquaintances a few times. Smile and wave to them. Chat with them and compare notes on the sessions people have attended. Introduce them to other people. Reinforce that connection so that following up is easier.

    Take breaks if you need them. Conferences can be overwhelming, particularly for introverts. Don’t be ashamed about taking a quiet break somewhere to recharge so that you can make the most of the rest of the day. I like taking a walk outside. I’ve sometimes napped in conference hallways so that I can be in good shape to give a presentation.

  • After the conference

    Review your notes and do your homework. Congrats! You’ve gotten through your conference. Now do the homework you’ve promised to do and follow up with the people you promised to get in touch with.

Conference tips: planning your attendance

Make the most of your conference by planning which sessions to attend.

Think about your objectives. What do you want to learn? What will be useful in the long-term? If your organization is sending you to the conference, it’s a good idea to confirm your priorities, objectives, and session selections with your manager, and to be clear on what you should bring back from the conference.

Look speakers up. You can often get a sense of how interesting a speaker might be with a quick web search. Does the speaker blog? You’ll get a sense of their speaking style and depth. Does the speaker share presentations on sites like Slideshare? You may even find presentations similar to the one you’re planning to attend, which will help you make better decisions about whether you want to attend the session in person.

Consider the alternatives. Do you want to attend a presentation, or can you learn just as effectively from blog posts or articles? Depending on your learning style, you might find yourself fidgeting as a presenter explains something that you could’ve just read. Look for sessions on topics that haven’t been written about yet, or topics where you have plenty of questions. Keep an eye out for sessions that promise plenty of discussion time instead of taking up the entire session with a lecture. You’ll get more from your conference experience if you can ask questions and learn from other people’s questions.

Coordinate with others. Do you know other people who are planning to go to the conference? Coordinate your schedule with others so that you can maximize your coverage by exchanging notes. If your coworker is attending a session on one topic, you can attend a different one.

Identify Plan Bs. Plan alternative things to do or backup sessions to attend just in case a session finishes early, is rescheduled, or is a bad fit for you. (See my tips on the hallway track at conferences.)

Share your agenda. If you have a blog, consider posting your session choices and objectives there, omitting sensitive information as needed. This might lead to conversations with other people who are interested in the conference, other people who are planning to attend, and speakers who can help you figure out if a session is the right fit for you. Speakers might even modify their sessions based on what they read.

Blogging and conference networking tips

I promised to put together tips for networking at conferences. While sketching out my ideas, I realized that my conference experiences have probably been very different from other people’s. I had a blog before I started going to conferences, and it was perfectly natural for me to use that blog to share my conference notes. I’ve also spoken at most conferences I’ve attended, which really makes it easier to connect with other conference attendees. All the other tips I can share (custom nametags, easy-to-spot outfits, business cards, notebooks, etc.) are icing on the cake. If I can get people to make the big change to writing or speaking (or both!), that will do far more for the value they get from conferences than any little tip I can share about where to wear the nametag. (On your upper right, if possible, near your shoulder, so that people can see it when shaking hands; barring that, close to your neck, even if it looks a little weird, so that people can see it in their peripheral vision instead of having to obviously glance down.)

Blogging and speaking are probably the two most intimidating things I can ask people to do in this context. Speaking seems like the harder one. There are only so many slots, and people have such hang-ups around public speaking. But we’ve also terrified most people out of posting on the Internet because of all this fuss about personal branding and the infinite memory of search engines. I’m very annoyed about this, because I think so many “social media experts” have done us all a disservice by telling people they have to present a perfect image.

But this is what I have to work with. People might like a few connecting tips (conference conversation openers: don’t go for the dead-end “what do you do?” that requires creativity or coincidence to get the conversation going; instead, use conversations as a chance to learn about other sessions and other people’s experiences, and create excuses to follow up by promising to share notes or follow up on ideas). How do I get people to the point where they can make more radical changes, such as starting a blog – even if it’s only for conference-related things?

Here is a list of conference-related blog post ideas:

Before the conference:

  • What sessions are you planning to attend? Why? What do you hope to learn? Post titles, session descriptions, speakers, and your thoughts.
  • Who are the speakers? Have they shared any presentations or blog posts related to what you want to learn? Post links and what you’ve learned. This might prompt you to revise your plans.
  • Can you find other attendees? Link to their plans and connect with them beforehand.
  • How can you share your thoughts after the session? Share any plans for post-conference presentations or conference reports.
  • Is there a backchannel for connecting with other conference attendees, like a Twitter hashtag you can search for and use? What are the best ways of discussing what’s going on?

During the conference:

  • What have you learned from the sessions you’ve attended? What were the key points, and what are your next actions? You can do a few bullet points or paragraphs per session, and organize your posts by day. If you have detailed notes, you might post one entry per session. You don’t have to take notes on everything, but write down what inspired you or made you think, what questions you want to explore, and what you want to do based on what you learned.
  • What have you learned from the conversations you’ve been having? What are the other sessions you want to look into later? What experiences have other attendees shared? What actions have you promised for following up?
  • Who else has shared their conference notes? Link to them and share what you’re learning from them.
  • What’s working well for this conference? What could make it even better?

After the conference:

  • Overall, what did you learn from the conference? What were the most important insights and actions you took away?
  • What value did you get from the conference? Was it worth the time and effort you invested into it? If your conference attendance was sponsored by an organization, what value did that organization receive? (This is a good thing to include in your post-conference report so that you can increase your chances of attending future conferences. ;) )
  • What actions are you planning to take based on what you’ve learned?
  • Who else has shared conference-related resources? Link to them and share what you’re learning.
  • How did your post-conference sharing go? Share your consolidated report or your presentation notes.
  • What new sessions would you like to attend at the next conference? What would it take for you to learn and present those sessions yourself?
  • What were the results of the insights and actions you had because of the conference? What new things did you learn when you put them into practice?
  • Now that you’ve acted on what you’ve learned from the conference, what new value has your conference attendance given you and your organization?
  • What are you learning from your ongoing conversations with the people you met at the conference?
  • What worked well for you? How would you make your next conference attendance even more worthwhile?

See, there are tons of things to write about that don’t involve trivial things.

I can’t think of anything that’s a better fit than a blog. Twitter and tumblelogs are a start, but they’re not going to cut it. Too short, too dispersed. Facebook updates are too protected. You want these notes to be picked up by search engines so that you can connect with attendees, speakers, organizers, people from your organization, people who are interested in the topic, and so on. A blog is an excellent way to do this, and it’s easy to start one on a site like WordPress.com.

You might have two sets of notes: a fuller set of notes for personal or internal use, and a set of notes without confidential information that you can share on your blog.

Bonus: If you share your notes through blog posts, you’ve got an instant excuse for following up with anyone you met at the conference. Something like “Hi! Just a quick note to say that it was great to see you at CONFERENCE NAME. In case you find these useful, here are my notes from the conference: LINK.”

And if they like what you’ve written and they want to keep in touch, you don’t have to rely on the fragility of e-mail communications that can stop if one person forgets or doesn’t reply. People can subscribe to your blog and keep up with your future updates, even if the next post is only when you share your plans for attending another conference.

See? Blogging and conferences make perfect sense.

But I still have to figure out how to get people past that instant reaction of “Oh, I could never do that, I’m not a blogger, I’m not a public sort of person, I don’t have the time to do this,” and it’s hard because I’ve never had to get over that hump myself. Yes, there was a point in my life when I wasn’t a blogger, and I’m still not a very extroverted sort of person. But because conferences are a weird combination of energizing and draining for me, and because I can’t bear to waste all that time listening without doing and learning and sharing, and because I hate imposing on conference contacts by trying to build the relationship through personalized e-mails instead of just starting it off with a gift of notes and a low-key way to stay in touch if they want to… I can’t help blogging and sharing.

I’ve promised to put together this collection of tips on connecting at conferences. I’m going to keep trying to figure out how to explain this blogging thing, because I want people to learn a lot from conferences and make great connections. Onward!