Fiction writing tip #1: Do not make things too easy for your protagonist

Here’s a writing tip from a reader: do not make things too easy for your protagonist.

I’ve been reading fiction books by new authors. They often make the protagonist struggle throughout the whole book and then suddenly give them super powers. Or sometimes they sporadically give them superpowers throughout the book. Or have magical creatures come to their aid just in the nick of time.

For example, in the book I read yesterday, the main character struggled with demons (the mythical creatures) her entire life. They killed people, they raped her, they chased her, they beat her up. And then suddenly, after several hundred pages of this, she realizes she needs other people and yells “I’m a soul catcher! Demons be gone!” and they all explode. Huh? Why didn’t she just tell them to all be gone 200 pages ago? The author could have saved us all a lot of agony.

Characters are interesting when they suffer. Especially if the problem is their own fault. We like to read about how they struggle, learn, adapt and eventually evolve and handle their problems. But the solution should not be superpowers, especially superpowers that don’t cost the character anything, no matter how much the author would love to say “demon be gone!” The solution has to be something the character has learned to do. Preferably a skill that’s hard to master and hard to apply. Otherwise, why are we reading about it?

What’s your favorite bad author pet peeve?

(Note that the book in question was well written. Dialog was good. Storyline was good. And the character did evolve – she realized she needed other people. But really, “demons be gone!”?)

My cool shoes: wearing Vibram barefoot shoes

Photo by joshunter.

I originally got interested in barefoot shoes when I read an article about the health benefits of going barefoot. (I thought it was a New York Times article, but it wasn’t this recent one about running barefoot.)  I also read a study that said that the more expensive your running shoes, the more likely you were to have suffered a knee injury. I decided I liked the idea being barefoot and I wanted to try to find a pair of shoes that would let me be barefoot in public in a socially acceptable way. I wasn’t crazy about the toes in Vibram FiveFingers shoes but since the other barefoot type brands didn’t have my size, I ended up with Vibrams. I love them.

Vibram shoes attempt to give you the experience of being barefoot while still protecting your foot. So you won’t get cut, but you’ll feel like you are walking barefoot. (Note that the classic pair does not protect against cold. I thought I was going to lose my toes to frostbite one night when I got to my car parked at the airport at 2am and had to scrape ice and snow off my windshield.)

Why do I like my Vibram Five Finger shoes ?

  1. Barefoot. The new theory is that it’s healthier to walk and run barefoot. Cushioned shoes have changed our gait. They offer our feet too much support which makes them weaker and often encourages bad behaviors like heel striking. By going barefoot, you’ll adopt good running and walking gaits and your feet and legs will be strong. (And believe me, if you continue to heel strike when running without a cushion, it will hurt!) During the day I spend most of my time barefoot, so walking wasn’t much of a transition. Running barefoot took a bit more practice – I have a terrible habit of heel striking that I’m working on correcting. Also, you use a whole new set of muscles when running barefoot. When I started I could only run a mile before I switched back to my tennis shoes for the next two miles. I’m still not sure I am convinced that traditional shoes are bad for you, but I think going barefoot is good for you. If you want to try running barefoot without buying a new pair of shoes, just try running barefoot on a treadmill.
  2. Comfortable. These shoes are about as close to wearing no shoes (or wearing socks like I do at home) as you can get. They are light, flexible and generally feel like they are not there.
  3. Travel. They are comfortable for walking in, pack up small (much smaller than carrying running shoes) and most airports will let you wear them through the security scanners. I had been on a search for a pair of running shoes that packs up small. (I wear large shoes and carry a small suitcase!) The Vibrams work great. On long flights, I still take them off and put on a pair of socks. It’s the material between the toes that bothers me when I’m trying to sleep. (I know, I know, it sounds strange.) I also wouldn’t take them as the only shoes for long days of sight-seeing on concrete.

Note that I bought the black shoes because I thought they would be more discreet. They are not discreet enough for formal work situations – everyone comments on them – and they are too hot to wear in the hot sun. Literally my toes feel like they are on fire if I stand outside in them on a hot sunny day. So if you buy some, buy the color you like the most.

I’d still like a pair of barefoot type shoes that I could wear with a suit but the Vibrams work great for more casual wear and for running.

I get asked a lot where I bought my Vibrams … you can buy them online from places like Amazon . You can also try them on in stores like REI and Jax in the US.

What’s been your experience with Vibram’s? Have you tried any of the other barefoot like shoes like Terra Plana’s?

10 steps to never suffer from jetlag again on short trips

I travel a lot and since my kids are little and I don’t want Frank to go crazy, I try to make the trips as short as possible. Which means I often travel 8 time zones away for just a couple of days.

I’ve tried lots of different ways of coping with jet lag on short trips and here are my secrets to success.

  1. Jet lag doesn’t bother you. Seriously, you must convince yourself that jet lag is not a big deal. If you spend all your time worrying about it, talking about it and complaining about it, well, then, jetlag will always bother you. Repeat after me “jet lag is no big deal”. Not on a trip of 2-5 days! Seriously, you might be a bit tired, but aren’t you often a bit tired at home too? Nobody gets enough sleep every day at home or on the road. Plus, after reading this post, jetlag really won’t be a big deal.
  2. Sleep on the airplane – especially east bound. Read John Graham-Cummings’ excellent post about how to sleep on a long haul flight.
  3. Keep yourself busy during the day – especially the first day. Try not to set up a schedule where you’ll be passively watching presentations or sitting in a slow meeting the first day.
  4. Sleep when you’re tired whenever you can. Conventional wisdom says you should stay awake until it’s time to go bed local time. While that works to help reset your clock in the following days, if you are only going to be there a few days, I recommend getting the sleep whenever you can. Plus, if you are on a short business trip, it’s likely you’ll be getting up early and staying up late with breakfast meetings, dinner meetings and post dinner meetings.
  5. Don’t feel guilty about naps. I used to feel guilty about taking a nap in the middle of the afternoon. (I so rarely do it that it feels like a luxury.) Then I realized that I never sleep more than 8 hours total in any 24 hours – and rarely that on business trips – so it’s not like I’m lazying around in bed all day.
  6. Don’t worry about what time it is at home. Except for making sure you don’t accidentally wake up your spouse, don’t worry about what time it is at home. You can fool your body easily. On my trip to Berlin on Wednesday, I fell asleep on my second flight. After a few hours of sleep I was exhausted and felt like I was waking up in the middle of the night. I found it amusing that it was only 8pm at home. Basically I had just taken a long afternoon nap but my body was convinced it was the middle of the night. So don’t worry about it. Sleep when you can, be awake when you need to be and don’t worry about what time it is at home.
  7. Stay away from alcohol unless you are planning on sleeping in the near future.
  8. Use good sleep habits. When you get a chance to sleep make sure you are doing your best. Make sure the room is dark and quiet (or wear ear plugs and an eye covering.) Wear whatever you normally sleep in. Try to keep the room cool. Think about something that makes you sleepy. etc.
  9. If you can’t sleep, don’t stress. If you get a chance to sleep and you can’t, don’t worry about it. Get up and work or work out or read a book. Use the time to get stuff done. Sleep later. Or don’t. Just don’t stress about sleeping.
  10. Do as much work as possible before the trip. It’s really hard to be on a business trip and keep up with all your email and regular work. Try to get ahead as much as possible. If you are really tired the afternoon before your talk and you have a chance to take a nap, you don’t want to have to work on your slides. You want to take a nap so that you can be awake during your presentation!

Does this work for you? Anything you would add?

Stormy’s Update: Week of June 1, 2010

This is my update for work done for the GNOME Foundation. For a higher level overview for what I do as the Executive Director, see What do I do as Executive Director of the GNOME Foundation?

Had a million conversations (well maybe not that many), followed threads and kept up (mostly) with email. Too many different things going on for a short week.

Organized a GNOME Roadmap discussion.

Discussed copyright policy with team putting it together and adboard member with feedback.

Discussed having a GNOME Mobile event at LinuxTag through WIPJam.

Talked to Zonker about GNOME 3 press roadmap.

Had some interchanges about GUADEC sponsors, logos, etc. I think all agreements are worked out except one now.

Set up some meetings at LinuxTag.

Met 1:1 with Brian and Rosanna (separately).

Next week:

  • Get out board approved proposal for using the Nokia money for GNOME Mobile.
  • Put together presentation for LinuxTag.
  • Attend LinuxTag.
  • Write opening letter for annual report.

Words are important – just not always the way you think

Recently I met someone who insisted on describing every department in his organization, all the acronyms and what they stood for. By the time he got around to describing how this whole thing related to me, he had lost my interest. (And I tried hard to hang in there!) He had given me too many irrelevant terms that didn’t relate to me.

We focus a lot in the free software community about what words we use: free software, open source software, free and open source software, …

When using words we should think not only about the meaning of our words but also about our audience. And what we want to teach them.

You don’t teach kids about magenta, mauve, carmine, you teach them about red. Then later you teach them the shades. And, unless you’re my grandfather, you are unlikely to teach them about magenta, mauve and carmine unless it comes up in a scene, in a story.

I’ve been talking about “web services” for a while and people often immediately tell me I’m using the term too generally and start defining web services versus SaaS versus online applications versus … While I think that’s important in some conversations, I think if your audience is only vaguely familiar with the term “web service” and has never heard of “SaaS”, you’ll lose them before you start if you insist on defining and using a whole bunch of new terms. (But I do agree that you should use each term appropriately.)

When you talk to someone who has said “open source software” for the past 10 years, and you use the term “free software”, they will likely think you are talking about something else. Something that is not open source software nor free software as you think of it. If you really want to teach, focus on telling your story rather than teaching a vocabulary lesson.

If you start out by defining terms, you’ll lose your audience. You need to explain meaning by either showing or telling stories.

So if free software versus open source software is important to you, tell as a story where the difference is clear. If web services versus SaaS is important, tell a story or give examples where the two are obviously different.

Tell stories, don’t lecture. (And yes, this post could use a few more stories and bit less lecture!)

Stormy’s Update: Month of May

This is my update for work done for the GNOME Foundation. For a higher level overview for what I do as the Executive Director, see What do I do as Executive Director of the GNOME Foundation? or my earlier updates.

Attended the fantastic GNOME Marketing Hackfest. Got there and back – on the way home we took a six hour detour – making it a more than 24 hour trip home – and flew by the volcano. For something that has caused so much trouble, it’s not very impressive from an airplane.

Put together a survey after the hackfest for attendees in order to help the GNOME Foundation and travel committee to make more informed decisions.

Attended board meetings. Met regularly with Rosanna. Met regularly with Brian.

Encouraged people to apply for the GNOME Board of Directors. Thanks to everyone who applied. Although it’s a lot of work, it’s an interesting and rewarding job!

Had GNOME Advisory Board meeting on finances.

Helped German update the budget. Discussed 2H (second half) budget plan.

Talked to Marina about launching the Outreach Program for Women in the southern hemisphere.

Worked with Orbitz to see if they have an account or processes that could help the GNOME Travel Committee.

Continued to ping GUADEC sponsors and work out details. Almost all finalized. Kept up on a few GUADEC details and issues, including sponsored travel plans.

Met with Jonathan Markow from Jasig and discussed how we do things and if there were opportunities to work together. Jasig makes open source software projects for higher education.

Booked travel for most of my trips this summer. Still missing a few that will be paid for by the events. Bummed that tickets to Europe are so expensive this summer as it will make it much harder for us adn companies to sponsor all the folks we’d like to see at GUADEC.

Submitted title and abstract for LinuxCon keynote.

Attended a couple of the GNOME.Asia planning meetings. It’s coming along nicely this year. You should plan on attending. 🙂

Met with James Vasile, our attorney from the SFLC, to talk about a few things.

Met with a few advisory board members to discuss projects, GUADEC, issues, etc.

Met with a potential sponsor.

Pushed for a GNOME technologies roadmap process.

Put together the list of 2009 donors for the Friends of GNOME page! Due to a Paypal “feature” this was a very manual process. Thanks to Vincent Untz for posting them. If your name should be there and it’s missing, let me know. Thanks to all our Friends both known and anonymous!

Kept the conversation moving about how best to use the Nokia money to sponsor GNOME apps on Maemo/MeeGo.

Worked with Brian Cameron and the sys admin team to launch the GNOME Developing World mailing list. If you are interested in how we can promote GNOME, the free desktop, in the developing world, please join the list.

Talked to AEGIS and the GNOME Accessibility team about having a GNOME A11y Hackfest at AEGIS conference.

Changed Amazon Affiliate accounts to pay out less often as the international checks cost quite a bit of money to deposit.

Worked at finding people to represent GNOME at events. It was more difficult than I expected and after several conversations (including some at the marketing hackfest) we will be launching a GNOME Ambassadors program to try to improve this process and get better GNOME representation.

May 31st is a US holiday.

(Remembered why I normally do these weekly and not monthly! It’s hard to go back and remember all the things you did and discussed for an entire month.)

How does a free software project do marketing?

Typically free software projects have lots of very smart developers. Large projects like GNOME might also be lucky enough to have lots of great translators, designers, artists and writers working on the project.

However, marketing is not typically an area free software projects have worked much on. GNOME is changing that. Over the past couple of years we have really increased our marketing activity from fundraising to spreading the word about GNOME. One way we’ve done that is through the marketing mailing list. Another is by getting together at GUADEC and having marketing hackfests.

We just held our second GNOME marketing hackfest and it was a huge success.

Why was it a success?

Who went?

We had a really good mix of people from the release team (who could tell us what really was in GNOME 3.0) to the art team (it’s really hard to do any final marketing product without a designer!) to marketing experts.

The Zaragoza Marketing Hackfest Team. Photo by Jason Clinton.

They all blogged about the event and you can read what they worked on.

  • Dani Baeyens. Dani was our resident local. In addition to doing marketing stuff all week like helping Jason with the videos, discussing how to do a GNOME 3 demo that people at conferences can use and helping me make slides in Spanish, he also answered all our questions about “where can I …”, “how can I …”
  • Jason D. Clinton. Jason has been working on videos to promote features of GNOME 3. He’s not just working on the videos but working on a way to make it easy for others to make videos of their own. He also actively participated in the discussions.
  • Paul Cutler. Paul leads the marketing team and helped out in a number of discussions like the GNOME3.org webpage and the demo technology. Along with Vincent and I, he also met with lots of the local teams and politicians.
  • Licio Fonseca. Licio worked on the GNOME Ambassadors wiki.
  • Sumana Harihareswara. Sumana gets the prize from me. She stepped up and led the whole hackfest, created the GNOME 3 marketing roadmap and offered to project manage GNOME 3 marketing!
  • Bharat Kapoor. Bharat brought his mobile and marketing expertise. He worked on a series of brochures for events and interviewed many of the local leaders on how they use GNOME.
  • Andreas Nilsson. Andreas brought vital design and art skills to the hackfest. With his help we were able to design websites, brochures, business cards, tshirts, etc.
  • Stormy Peters. I worked with Agustín Benito Bethencourt, Ignacio Correas and Alberto Capella to plan the hackfest. During the hackfest I led a couple of the discussions, worked on the GNOME Ambassadors material and plan to encourage more people to speak about GNOME and met with many local teams and politicians to talk about how we can work together in the future.
  • Ryan Singer. Ryan brought marketing experience to our discussions. In addition he helped write the talking points and brochures, worked on the website and was one of the drivers behind getting more speakers to promote GNOME.
  • Vincent Untz. Vincent really helped us with his knowledge of GNOME 3.0 from the release team perspective. In addition to answering lots of questions he also met with the local teams and politicians, participated in the discussions, worked on the business card template and the GNOME 3 demo technology.

Most all of these people attended a week long event on their own time, taking vacation from work.

We are also all supported by the GNOME Marketing team and the GNOME community. They actively watched what we were doing, participated in the IRC discussions with us and we will now all work together to make the GNOME 3.0 marketing roadmap a reality.

In addition we got to meet with many people in Zaragoza. We met with the:

  • Ayuntamiento de Zaragoza. The Zaragoza city government to talk about how GNOME and Zaragoza can work more closely together. Zaragoza is interested in promoting software industry in their city, in particular around free software, and they are interested in working with GNOME to make that happen.
  • Gobierno de Aragon. The regional government is also interested in promoting software industry and free software and interested in working with GNOME to grow their local community and industry.
  • Technological Institute of Aragon (ITA). They are working on several free software projects with others in the EU and would like to figure out ways we can work on them together.
  • Lorenzo Gil Sanchez and J. Félix Ontañón about the accessibility work they are doing in Andalucia.
  • Heidi Vilppola and Ignacio Correas from eBox about communities.

What’d we do?

We met every day from 9 or 10 until 8:30 at night when the building closed in this really cool government building that used to be an old convent, the Water Library.

GNOME Marketing at the Water Library in Zaragoza. Photo by Jason Clinton.

We worked on all the stuff mentioned above:

  • GNOME 3.0 marketing roadmap. This is our plan for marketing GNOME 3.0 and all the steps left to do between now and then.
  • GNOME 3.0 talking points. Lots of people talk about GNOME and GNOME 3.0 and they want to tell people about it. These talking points will give them specific things to highlight and demo.
  • GNOME Ambassadors and speakers program. We want to make it really easy for GNOME community members and fans to promote GNOME. We created everything from talking points to tshirts to business cards. We talked about how to make it easy for people to represent GNOME (like providing travel assistance and talking points.)
  • GNOME3.org website – coming soon!
  • GNOME 3 videos. Jason has been working on 30 second videos that promote GNOME 3. They will feature lots of community members and many good highlights of GNOME 3!

The last day we had a GNOME Event at ITA. There were presentations from ASOLIF, CESLA, the City of Zaragoza, Aragon, GNOME folks and GNOME Hispano.

Sponsors and Local Organizers

The idea to host a GNOME hackfest in Zaragoza came from Agustín Benito Bethencourt from ASOLIF. Together with Ignacio Correas and Alberto Capella, they put together the event. Not only did they find the funding from local government organizations like the Zaragoza Municipality, Aragon Regional Government, ITA, ASOLIF and CESLA, but they also found us a great venue, very nice hotel and made sure we were very well fed! (Don’t go to Zaragoza if you are on a diet – the food was awesome!)

Many, many thanks to our sponsors:

Thanks to all our sponsors and to all our participants for making GNOME Marketing a success!

10 skills to master to get things done online

I’ve recently watched a few people struggle to get things done in online projects. I’ve written and spoken on 12 tips for getting things done in the open source community but now I see that people also need to learn how to work with mailing lists and virtual teams.

Skills you should master if you plan on working in a virtual environment. I’m interested in any other skills you’d add to the list.

  1. Master your email. You will get a lot of email. There are few in person meetings and there’s a large group to coordinate, so email is the most popular method of communication. Email will become a knowledge base. You need to be able to handle hundreds of emails a day without complaining that they are too many. (You don’t want to be cut off from the knowledge base do you?)
    There are lots of ways to master managing your email. Here are a few of the most common:

    • Touch each email once. If you read it, think about what you need to do with it and do it right then. If it’s something that requires action outside of email, add an action item to your todo list and then tag the email or file it in a special folder. Get it out of your inbox.
    • Use a threaded email client. It’s much easier to catch up on conversations if you can read the whole thread easily at once.
    • Use filters. Many people filter mail from different lists or about different topics to folders. (I personally do not do this. I find I never look at them if I do this.)
    • Dedicate certain time periods to checking email. I spend the first couple hours of every day responding to email. I don’t look at it as “doing email” but rather as communicating and following up with people.
    • Research and try. There are lots of methods and tips for dealing with incoming email. Try a few of them and figure out what works for you.
  2. Learn online tools. You should know how to use mailing lists, IRC, Skype, Twitter, IM, wikis, etc. Each team will use a different set of tools, but you should know the basics of most of them. That way if someone says, let’s have an IRC meeting in a hour, you won’t be googling “IRC” to figure out how to join at the last minute. Or looking for a headset in order to join a Skype call.
  3. Know where to find things. People that work online usually deal with a lot of information. Learn how to search your email archives effectively, how to search the mailing list archives, where the project stores documents or information online and how to search. If you need to ask for information, also ask how the person found it. Often they are simply searching for it. Do not ask for information that you can find easily yourself. Above all, do not ask for the same information twice! If you asked for it and got it, you should be able to find it again. Feel free to ask someone how they found the answer to your question. I learn a lot that way.
  4. Observe how things get done. Every virtual or online team is different. Watch how things get done. Do people present ideas before they are done? Wait for consensus? Present final products for review? If nobody ever responds to your email, it’s likely you are not following the project’s culture.
  5. Be prompt. With people working in different timezones and with different priorities, it’s important to respond to emails and to finish action items promptly. Each delay seems to multiply across the project.
  6. Keep the group informed. If you have a discussion off list, be sure to let the rest of the list know. Don’t be afraid to have the discussion on the list. If you make decisions or agree to something on the group’s behalf, be sure to let the rest of the group know.
  7. Know when to take it off list. Sometimes it’s best to have a discussion offlist first and then tell the group the outcome. For example, if you think your idea is controversial or too vague, you might want to run it by a few trusted people first. But remember, to get buyin and build consensus, some of the discussion has to happen on the list – it can’t be all polished decisions!
  8. Rethink conference calls. If you have conference calls, make sure everyone has access to good technology and make sure everyone is on the phone, not just some people. I think Nat’s Everyone Dials In policy is an excellent one. Also be aware that conference calls are particularly difficult for people that have to dial an international number to join and for people who’s first language isn’t English. While you may think conference calls are the most effective way to get things done, if half the team can’t hear or communicate well, IRC may be a much better choice.
  9. Learn how to read silence. Sometimes you’ll post a great idea or a question to the mailing list and nobody responds. Does that mean nobody liked your idea? Or that they couldn’t understand it? Or that they are all busy on the release that’s going out the day after tomorrow? In the absence of body language, you will have to be more aware of everything else that is going on.
  10. Know what’s been done. When you join a project you should spend some time observing, asking questions and reading the archives. If you suggest a multitude of projects that already exist or have already been proposed, people are going to think you aren’t willing to learn the project.
  11. What else would you add?

For suggestions on how to get things done in virtual teams, see 12 tips for getting things done in the open source community.

Stormy’s Update: Week of April 26, 2010

This is my update for work done for the GNOME Foundation. For a higher level overview for what I do as the Executive Director, see What do I do as Executive Director of the GNOME Foundation? or my earlier updates.

GNOME Asia meeting. The GNOME Asia team is planning GNOME Asia 2010. While the exact event hasn’t been announced, I can tell you it will most likely be in Taiwan and they are already looking for potential speakers.

I attended several GNOME A11y & HFOSS meetings. We are working with several universities this summer that will have students working on GNOME a11y projects. The GNOME a11y team is coming up with potential projects and mentors for the students to pick from.

Board meeting. The board met. The minutes will come out soon. Brian’s doing a great job of taking minutes and making sure we all track and update our action items.

Rosanna. Met with Rosanna for our regular weekly meeting but the meeting was eclipsed by our discussion of the fake check that someone tried to cash against the GNOME Foundation. Everything’s fine but we are working with our bank to make things as secure and safe as possible.

Silicon Flatirons Patents and Free and Open Source Software event. Spent Thursday afternoon and evening at the CU law school at a legal event about patents and free and open source software. I was on a panel that talked about some interesting data that shows most startup software companies don’t pursue patents but they think VCs value them. The VC on our panel, Jason Mendelson, said he didn’t.

1:1 with adboard member concerned about GNOME 3.

Wrapped up a few last minute details around the marketing hackfest. Many thanks to Agustín Benito Bethencourt, Ignacio Correas, Alberto Capella for organizing it. Thanks to the Zaragoza Municipality, Aragon Regional Governmen, Technological Institute of Aragon (ITA), ASOLIF, CESLA and the GNOME Foundation for sponsoring.

Travel to Zaragoza for the marketing hackfest.

Stormy’s Update: Week of April 19, 2010

This is my update for work done for the GNOME Foundation. For a higher level overview for what I do as the Executive Director, see What do I do as Executive Director of the GNOME Foundation? or my earlier updates.

  • Quarterly report. Put together the GNOME Q1 2010 quarterly report. Thanks to all the team members who wrote up the actual updates, Vinicius Depizzol who worked on the design and Vincent Untz who published it on the website during his vacation.
  • Review. Wrote up first half of fiscal year 2010 results for the board to review.
  • Orbitz. Worked with Orbitz to see if a business account would help the travel team. Still working with them.
  • 1:1’s. Met with Brian and Rosanna (separately.)
  • Marketing hackfest. Booked travel for the marketing hackfest. (Was waiting on some final scheduling before booking.)
  • Odds and Ends. Weighed in on a few discussions, had a few discussions with board members, pushed a few things along.

Overall, it was a very productive week. Here’s hoping this one is too!