July 6, 2008

Bulk view

Might need to spend more time hanging out with Emacs geeks =)

This is dreadful. I’ve made no progress on my book, and I’ve noticed that it has steadily crept down my list of priorities. I suspect it has a lot to do with the kinds of people I hang out with and the kinds of places I hang out. ;)

I used to hang out in irc.freenode.net#emacs a lot, and I used to frequently check the RecentChanges page of http://www.emacswiki.org. Both were great sources for Emacs questions and answers, and they often inspired me to go and write blog posts sharing what I discovered.

Lately, I’ve been hanging out with Drupal geeks and social networking geeks–hence all the blog posts about Drupal and technology evangelism. This is because of work, and so my blog posts are about things I’m learning at work. My Emacs use is down to reading mail, reading news, and managing my day. I still use it every day, but I’m not doing a lot of development in it. (Hmm, maybe that’s something else I can set up.)

Maybe I should start writing from the front of the book instead – basic Emacs stuff, leading up to more advanced tips…

Configuration management with Drupal – Multiple developers, live site

We’ve moved into the next phase of our development. External users now have access to our testing server, and theylle be busy not only filing bugs but also creating editorial content. This means that we can’t just drop the database and recreate everything from scratch. (Darn!) However, we still need a way to make sure that:

  • developers have a consistent environment for development and testing, so all changes need to be checked into the Subversion source code control system
  • all significant changes are captured so that we can deploy the tested system on the production server

Here’s our current plan:

  • Editorial changes (creating new nodes, editing existing nodes) happen on the testing server. Developers can test their local systems with real data by downloading a data dump from the testing server and loading it locally.
  • Code changes that don’t require database updates can be pushed to the testing server after local testing.
  • Code changes that require database changes or one-time administrative actions can be handled in modules’ .install files as modulename_update_somenumber() and _install() functions. This can be tested locally by loading a data dump from the testing server and then running update.php. It should also be tested from a fresh install. If the change works locally, then the testing server can be updated. (Make sure to run update.php on the testing server as well).

When we deploy the system to production, we’ll review all the content, remove the test data, and push the data and the code to the live site.

See http://heyrocker.com/drupal/content/deployment-and-change-management-problem for more analysis.

What do I want to learn?

Inspired by Michele Martin’s post on personal learning environments, I started working on a mindmap and a blog post about how I learn. Before I got far into it, though, I realized that I wanted to first share what I want to learn – the why, not just the how.

So here are a few things that I want to learn more about, why I want to learn more about them, and how I’m currently learning about them. I’d appreciate your suggestions, and I’d love to hear about what you’re learning!

Telling stories with words and images

A good story can make a point so much more effectively than charts or data can. I love listening to stories and showing people that they’ve learned something other people will find useful. I love collecting stories so that I can pick an appropriate story later. I love telling stories in my presentations, blog posts, and conversations, and I want to get better at it.

I want to get better at finding and telling stories because I believe it’s a remarkably effective way to understand people’s experiences and to communicate.

I practice telling stories with words and images by writing blog posts
and by including stories in my presentations. So far, I’m doing well,
but there’s still so much more I can learn. When I grow up, I want to
be Dan Pink. ;)

I want to get better at listening for hints of a story and bringing it out. I think I’ve read as much as I could about this, so it’s really just a matter of getting out there and talking to people.

I want to improve my visual literacy. I often have a hard time thinking of a good image that can illustrate an abstract idea, and an even harder time finding an image that fits. I’ve used Creative Commons-licensed pictures from Flickr and stock photography from low-cost photo sites, and I’ve seen how they can make presentations much richer. I want to develop my ability to think of illustrations and either sketch them myself or find good stock photos. In order to improve that, I:

  • read books about presentation design and cartooning
  • flip through graphic novels and compilations of comic strips
  • browse presentations on SlideShare.net
  • sketch on my Nintendo DS

I think I just need to expose myself to a whole lot of images so that I can start making associations in my brain. =)

Helping new hires connect with the rest of the organization (and vice versa) through Web 2.0

Yes, that’s pretty specific. =) I’m also curious about how individual employees can use social media to grow their networks and provide more value, how communities can use social media to support their activities, and how companies can incorporate social technologies into their strategies, but I’m particularly passionate about helping new hires connect. I think it’ll not only make a big difference in employee retention and satisfaction, it’ll also help companies get more value from what new hires know and what new hires are learning.

I want to get better at communicating the benefits and needed actions to experienced people. To practice this, I’ve joined a community that helps colleagues learn about Web 2.0 and use our internal tools effectively.

I want to improve my ability to show new hires the benefits and help them get started.
I’m working on some materials for new hires, and I’ve gotten involved with our local new hire network.

Experience will help me learn a lot, and I’ll also get to provide a lot of value along the way. =)

Sharing what I’m learning

I want to get better at figuring things out and sharing what I’ve learned. I’m practicing this by blogging and by talking to people. I can improve this in several ways:

  • I can learn about more things
  • I can improve my writing skills to help me write faster, clearer, and more effectively
  • I can make it easier for you to find other things you might be interested in.

I want to get better at mapping what I know. If you know what I know, then you can make better use of it. I’ve got too many blog posts for someone to go and read all of them, but a good map of that – and a map of things I’ve learned but haven’t written about yet – can help you find things you might find interesting.

Helping people change

The thing I enjoy about technology evangelism isn’t convincing people to change, it’s helping people who already want to change. I want to get better at helping people understand their options, figure out how to get started, and learn how to be more effective. I’m practicing by helping people at work and on my blog, and I’m learning more by talking to other people who have a similar urge to help others learn and grow.

Nurturing relationships over a distance

I’m here in Canada because my significant other is here and he can’t move to the Philippines with me. My family and my old friends are half a world away. Being split between worlds is the biggest source of pain in my life. It’s hard to stay in touch when you don’t get to share as many experiences. It’s hard to deal with expectations – both mine and other people’s. It hurts because I don’t want to go for either extreme. I don’t want to give up on this wonderful relationship and focus instead on my duty to my family and my country. I don’t want to focus only on this relationship and forget my roots.

I need to connect with other young first-generation folks. How do other people manage it?

I’d also like to nurture my old friendships, because I’d gotten to know some really incredible people over there. Some friends are easier to keep in touch with than others–they blog, they chat… Through them, I get to hear about other friends, too. I still need to think about how I can do this better.

I also want to learn how to nurture connections with people around the world – coworkers, acquaintances, people I’ve gotten to know through blogs… I currently practice that by responding to mail and by reading other people’s blogs.

Learning how to nurture relationships over a distance is difficult, but I need to learn.

Being more practical

There are a lot of little things in life that I still need to learn. Driving, sewing, gardening, stuff like that. No substitute for experience – I just have to do it.

So those are a few of the things I’m working on learning these days. I’d love to hear your tips. How about you? What are you learning?