5067 comments
2220 subscribers
4799 on Twitter
Subscribe! Feed reader E-mail

May 15, 2012

Bulk view

Org-mode and habits

Org Mode is a personal information manager for the Emacs text editor. People have contributed a ton of useful features to it over the years, and the development shows no sign of slowing down. One of the features I’ve been playing around with is the ability to track habits.

Org habits are recurring tasks. For example, everyday, I want to:

  • take my vitamins
  • capture a quick note about the day, and
  • plan the next day

Every week, I want to:

  • talk to my mom
  • check the org-mode mailing list
  • write a weekly review and plan the next week
  • clear and reorganize my belt bag
  • clear my inbox
  • write a bunch of blog posts
  • back up my computer

Once a month, I want to:

  • update the topical index for my blog
  • review and uninstall programs
  • balance my books and update my budget
  • review the past month and plan the next
  • check the library for new books

Org habits let me manage my task list without cluttering future days with tasks. The Org agenda view displays habits that are due today, indicating consistency with colour. In particular, it shows overdue days in red, so you can get the Seinfeld-esque pleasure/commitment-device of not breaking the chain.

Here’s a view from Sunday:

2 days-agenda (W19-W20):
Sunday     13 May 2012
               8:00...... ----------------
              10:00...... ----------------
              12:00...... ----------------
              14:00...... ----------------
              15:57...... now - - - - - - - - - - - - - - - - - - - - - - - - -
              16:00...... ----------------
              18:00...... ----------------
  organizer:  22:00...... TODO Capture a one-sentence note                                           !      
  organizer:  22:00...... TODO Plan the next day                                    ** ***** ** *****!      
  organizer:  Scheduled:  TODO Make a list of recipes I want to learn
  organizer:  Scheduled:  TODO Write a bunch of blog posts             :writing:
  organizer:  Scheduled:  TODO Set up WordPress as my backup system
Monday     14 May 2012 W20
  organizer:  Scheduled:  TODO Build Emacs interface so that I can have Org automatically switch my tasks

To use Org habits, customize org-modules and enable the habit module. To set something as a habit, use C-c C-x p (org-set-property) to set the STYLE property to habit. For more information, you should definitely check out the Org manual’s section on habits.

Yay Emacs and the people who contribute to it!


Short URL: http://sachachua.com/blog/p/23381

On why I don’t want to work on a tech startup (yet)

A friend of mine asked me if I’d considered creating a tech startup or advising one. The subject came up again when I was talking to another entrepreneur. With more and more tech startups hitting the news, it seems like the idea’s on everyone’s minds.

After reflecting on it during a few bike rides to and from work, I have a clearer understanding of what I want from these business experiments. A tech startup isn’t for me, at least not for the next few years.

image

I think of it as minimizing risk by learning only small chunks at the time. Working as an employee was like learning how to ride a tricycle. The company gave me a stable platform so that I could build skills, confidence, experience, and capital. I experimented with intrapreneurship and found that it worked well for me.

When I had reached my savings goals and picked a good time to leave, I started my own business. Two months in, I’m discovering that the path I took is just like graduating from a tricycle to a bicycle with training wheels. By taking advantage of well-established business models, markets, and concepts, I can focus on learning how to run my own business without simultaneously trying to create something new and tremendously risky.

Going from the employee world to the startup world would have been much more of a stretch. I think of startups like riding on a mountain bike down a rocky hill where you’re not quite certain the trail will get you all the way down or whether that promising fork up ahead actually ends up going over a cliff. Actually, it’s like riding a in a pack of mountain bikes where other people might make it easier to spot cool opportunities (ooh! look! waterfall over there!) but they could also crash into you and send you all tumbling down the hill. Too many things to learn at the same time, I think.

Startups might be something I eventually grow into. I want to be more confident in my ability to handle paperwork, manage cashflow, hire and manage other people (or coordinate with contractors, or delegate in some other way), and negotiate with clients and suppliers before I take on trickier challenges. For example, it’s easier to practise negotiating with clients than with partners. You can fire a client, but there are much bigger consequences if you have problems with your business partners. By learning all these business skills with the training wheels of well-tested business, I can get ready for riskier projects and ventures.

Sure, it would’ve been pretty cool to hang out at all these meetups and tell people about my new venture (making sure to use phrases like “minimum viable product” and “pivot”), but it’s okay to learn about business in this somewhat less glamorous but more step-by-step way.

Besides, most tech startups brag about their horrible work-life balance lifestyles. I think that’s partly the self-fulfilling image we have of what it’s like to be in a startup, and partly because people have to scramble so much to learn all these different things at the same time. I don’t mind growing a little more slowly if it means still being happily married. =)

So that’s why even if I’ve got web development skills, contacts, and business/design interests, I’m not working on a tech startup. Small steps first, and that’s all right.


Short URL: http://sachachua.com/blog/p/23300

Making space to plan for visual summaries

Consulting is going well – so well, in fact, that I’m going to make myself take a three-day break, Monday to Wednesday, so that I can focus on building a business that is different. I want something that doesn’t focus on the time = money equation. Besides, there’s so much to learn.

I keep coming back to this idea of visual summaries. People respond to them. I want visual summaries even for myself, so that I can quickly flip through visual triggers for the books I’ve read. (We’re talking maybe hundreds of summaries, even if I’m just focusing on books worth keeping instead of the thousands of books I’ve probably read by now – and even more over my lifetime!)

In terms of copyright, I’ll probably have to arrange for permission from authors before I can publish a book of graphic summaries. In the meantime, I can test the idea as book reviews, which should fall under fair use. When I put together a book, I think the paperwork will be a good excuse to reach out to my favourite authors. =)

I thought about whether I should hire an illustrator so that I can focus on the key business questions: Would people be interested in this? Can I make money at this? How can I scale? There are talented artists who do graphic recording and illustration for a living, and I regularly flip through their work to inspire myself. (I’m getting better at not being intimidated by the gap between our skills!) If I outsource parts of this work, I might get to answer those questions faster, iterate faster, punch above my weight class with beautiful illustrations and more content.

I’m holding off, though. I can learn slowly, immersing myself in this, understanding it, imagining new things because of it. And besides, maybe this fabled minimum viable product doesn’t require a totally awesome illustrator. Maybe it’s fine with an authentic voice.

Sure, a big outfit like Soundview could easily swoop in and do this while I learn. All the better, because they already have a lot of the summaries and rights agreements. If a startup is an experiment in validating an idea, then having someone else take over that idea frees me up to create the next one. It’ll all work out.

I’m thinking about other possibilities, too. People who give webinars or write e-books might also be interested in visual summaries, and I’m better set-up for those than I am for the large form-factor needs of graphically recording in-person events. I can also offer transcription, or connect with other people to get transcription covered. Established executive summary companies probably won’t cover webinars or e-books anyway. We’ll see!

Here are a few things I can work on next week to move this forward:

  • Highlight visual summaries on my blog
  • Create a landing page
  • Plan a site redesign
  • Get inspired to draw more colourful sketchnotes by looking at examples and trying out techniques
  • Draw more books! This is fun
  • Start building a graphic vocabulary and a lettering vocabulary
  • Look for people who give good webinars or write decent books on topics I like, and see if they would be interested

It feels good learning about these things. =) Looking forward to drawing better and making stuff happen!


Short URL: http://sachachua.com/blog/p/23221

Estimating the impact of the Community Toolkit, or how the company got an incredibly good deal when they hired me ;)

Numbers are good to have when you’re thinking about the differences you’ve made. Let’s see if I can estimate the impact of the community toolkit that I built for Lotus Connections: newsletter, metrics, exports, OPML generator, and so on.

Some metrics from the logs: The web interface has been accessed 94,095 since November 13, 2011, the oldest entry in the web server logs. That was 94 days ago, which means that it’s accessed a thousand times a day on average. Let’s ignore all the page views, and just focus on the times when users submitted an actual request to the system. That leaves us with 10,814 entries in the log.

5,305 entries were for Feedmagic, the RSS embed wrapper I created for another widget. Let’s say that saves people 2 minutes each, because otherwise they would have to click through to the feed itself and then return to their page after reading. That’s around 10,600 minutes saved. Considering that part of the tool took me less than an hour to write, I think that’s great ROI.

1,973 entries retrieved statistics for a community. Let’s say that 80% of them were successful, to account for typos and attempts to gather data for private communities. Manually gathering this information would involve going to each of the components of a community, counting discussion threads and comments, counting blog posts and comments, listing files. For some of the hidden data like wiki views, it would also involve accessing the API. There’s a date filter, so manually recreating this would actually involve checking each item to see when it was posted. Let’s say that takes 1-2 hours of work, maybe 1.5 hours on average. That’s around 142,000 minutes saved.

1,730 entries were for the profile summary. This searched Lotus Connections Profiles for combinations of tags and displayed the counts for each of them. For example, if you used A, B, and C as rows and X and Y as columns, the tool searched for A&X, A&Y, B&X, B&Y, C&X, and C&Y. Each total was linked to the search. People searched for a lot of different combinations. You could duplicate this by manually creating lots of links to searches, which would probably take 10-20 minutes depending on how many specs you were looking for. You wouldn’t have the totals, though, and it would probably take another 10 minutes each time to tally things up. If you were just interested in finding an expert using the search, let’s say it saves you 2 minutes of figuring out how to search the system yourself. I’m going to go with a time savings estimate of 5 minutes per request, which balances how people were using it for creating pages, making reports, and simplifying search. That’s 8,600 minutes.

877 entries were for community newsletters. Again, let’s assume 80% were successful. It takes even more work to create a newsletter, because you have to create links and count up new replies. Let’s say that’s 2-3 hours of work, or 2.5 for our estimate. That’s around 105,000 minutes saved.

421 entries were for community data export, which is also handy for determining individual member contribution, wiki page views, and file downloads. Let’s assume that 80% succeeded. This takes a lot of effort as well, because you have to tally contributions by member and copy all the details. I’d say that would take 4+ hours for an community, and you would save that effort for the rare occasions when you wanted to recognize people for their individual activities or justify your investment into building the community wiki. That’s probably at least 80,800 minutes there.

102 requests were for a generic feed export. You could do this manually by going through all the pages in the feed and copying the information, filtering by date. Let’s say that would’ve taken 20 minutes. Assuming 80% success, that’s around 1,600 minutes.

98 requests were for the code to create the feed embedder. You could duplicate this by creating your own page that included the feed embedder information, but that would probably have taken people 10 minutes to figure out. That’s around 1,000 minutes.

56 entries were for the forum exporter. This made it easier for people to analyze community discussions by copying the information into a spreadsheet with the subject, the body, and the author. You could duplicate this by opening each page of each discussion and copying the results into a spreadsheet or document, so I’d say this saved people an hour on average. Assuming 80% of the requests succeeded, that saved around 2,700 minutes.

55 entries were for community OPML, to make it easier for people to subscribe to different community feeds. You could do this manually by substituting the community ID into a template, although the OPML tool was neat because it provided an importable file as well as HTML links. I’d say this saved people 20 minutes. Assuming 80% success, that’s around 880 minutes.

9 entries were for a blog exporter. You could do this manually by copying and pasting all the entries into a document, so I’d say this saved people 10 minutes because most blogs don’t have a ton of entries. Assuming 80% success, that’s around 70 minutes.

There were a number of other requests, too, but we’ll ignore them for this analysis.

Over the 94-day span, then, this tool might have helped save 354,000 minutes. That’s about 3,800 minutes a day, or 2.6 days, or almost 8 8-hour workdays saved every day. Considering that my main focus is client projects and this was a voluntary effort squeezed into the gaps of billable projects, that’s pretty darn cool. This estimate doesn’t take into account the command-line use of the tool for restricted communities or external communities, either.

The tool’s been around for longer than just the three months that we’ve been looking at.  My first blog post about it was in June 2010, when Marty Moore mocked up a web interface and people started asking me to put the command-line tool on the web. That probably meant that I’d been gradually building it and sharing it over the past few months, and it had gotten popular enough for people to ask for a less techie interface than a command-line.

Let’s say the tool linearly built up in value over the 607 days since that blog post, eventually getting to this point where it saved people around 3,800 minutes per day. That means the value is described by a line with the equation y = mx + b. To simplify, we’ll assume that the tool started with 0 value, although it was already used by others on June 18, 2010, and that it eventually gets to 3,800 minutes per day on February 15, 2012. This would have been a great to break out calculus and integrals in order to get the number of minutes under this function (and we probably would, if we were assuming growth was curved or something like that). But it’s just as easy to think of this as a triangle with a width of 607 days and a height of 3,800 minutes/day. The area of this triangle would approximate the total number of minutes saved over the tool’s web-based lifetime, assuming linear growth for simplicity (as more people found out about the tool, and as I added new features). The area of a triangle is 1/2 * base * height, so that gives me 1,153,000 estimated minutes saved over the past 607 days.

I joined IBM on October 15, 2007, and I will leave on February 17, 2012. This is 4 years, 4 months, and 3 days, or approximately 226 weeks rounded down. Let’s say only 90% of those weeks are actually work weeks (holidays, vacations, etc). Eight hours a day, five days a week, for 203 weeks or so – that means that when I leave, I’ll have worked for IBM around 480,000 minutes. The vast majority of those minutes have on client projects. (Ah, the life of a consultant with utilization metrics…) So yeah, net benefit to IBM, which is great.

That one set of tools, which I built in my spare time to save me and other people from repetitive work and to open up new possibilities for communities – that may have saved people more time than I have even worked myself. That’s the amazing thing about intrapreneurship. By breaking the relationship between time and value, you can scale beyond the number of hours you can physically work. The tool probably took me less than a month of development time, spread out over e-mail requests and lunch breaks and calls. Granted, people would probably not have run those reports or crunched those numbers if the tool wasn’t available. But hey, the tool is there, and I’m glad it made these things possible.

I never received any direct monetary compensation for creating the tool. (Oh, wait, there was that Best of IBM award!) The steady stream of thank-you notes came in very handy during performance reviews (and subsequent bonuses =) ). The best benefit from intrapreneurship was meeting a lot of wonderful people throughout IBM and seeing what they did with their communities thanks to the tool.

Special thanks go to Luis Benitez, who’s taking over as the primary contact and who put together the Lotus Notes plugin; Marty Moore and Stephan Wissel, who contributed spiffy designs; Robi Brunner, whose hosting and domain gave it a lot of credibility; John Handy-Bosma and John Rooney, who helped me figure things out with the CIO; Darrel Rader, for suggesting plenty of nifty tools and using them to make his communities smarter; and lots of people throughout IBM for suggestions, improvements, and even the occasional bugfix.

If you haven’t started yet – be an intrapreneur! If you’ve gone down that wonderful road: Have you made something valuable? Can you estimate your ROI?

If my math is wrong or if it looks funny, please help me make it better!


Short URL: http://sachachua.com/blog/p/23159

January 15, 2012

This weekend brought a cold snap, or maybe this is regular winter in contrast to the mild days earlier. We dealt with it by cooking and baking our way through many of the vegetables that had come from the community-supported agriculture program, stockpiling frozen lunches for the weeks to come. It was a productive weekend.

I spent most of the weekend working on Quantified Awesome. I’m looking forward to opening it up to people next week. It’s still rough in places, but people will probably be able to use it for tracking time, stuff, and clothes. I have a few more things to nail down before I reach out to the 35 people who’ve indicated their interest so far, but I feel like I’m getting close.

I hit my library checkout limit of 50 books the other day, what with all the books I’ve been checking out on psychology, planning, and other things I’m curious about. W- let me check things out on his card. There’s been a steady stream of books and movies going back to the library, and no late fines so far. I’ve been making an effort to read things roughly in order of due date. I sometimes give in to the temptation to read things out of order. (Like The Lean Startup, read the day I picked it up and quoted soon after.) The Toronto Public Library is amazing, and I’m happy to support it.

My time-tracking tweaks seem to be working out. David Ing wondered if I was getting limited by reductive analysis. I rather like the clarity of choosing one activity at a time. I’m satisfied with tweaking my goals to encompass the sustainability of growth at work, too.

This week: more functionality/theming changes at work, and three events to attend. Let’s see how it goes!


Short URL: http://sachachua.com/blog/p/23109

Learning plans and time budgets: packing things into 2012

Nudged by @catehstn‘s recommendation of my blog to @Tending2Entropy as an example of goal planning in personal life, I updated my learning plan with the things I’m planning to learn next year.

It was easy to come up with a quick outline. There are so many interesting things I want to learn. The tough part, however, was thinking about what I might actually get to do.

What does my cognitive surplus look like? I wanted to get a sense of how much discretionary time I actually had on a regular basis. I have about 20 weeks of data since I resumed time-tracking near the end of July. So that my numbers wouldn’t be thrown off by the vacation we took, I focused on the last eight weeks (graph: 2011-10-16 to 2011-12-11).

Over the eight-week period, I got an average of 3.5 hours of discretionary time per weekday and 7 hours of discretionary time per weekend day. I can simplify that to an average of 4.5 hours per day, which comes out to 1642 hours for 2012 (not including vacations, which include more discretionary time).

Around 40% of discretionary time was used for social activities. Let’s say that another 30% is a buffer for breaks and other things that come up, leaving 30% for focused learning. That gives me a time budget of around 500 hours. I want to do more than 1,000. Hmm.

Prioritization is important. I can focus on the things I want the most, then see how the rest of the year shakes out. Plans will change anyway, and estimates are flexible. My first few priorities for personal learning:

  • Android development, so that I can save time syncing and get more of the data I want
  • Goal tracking (handy for keeping the rest of my time in line)
  • Behavioural change (trying small experiments)

Another way to deal with the gap is to shift more time. Over those eight weeks, tidying took about 0.7 hours / day, and cooking took about that much time too. Let’s say half of future tidying and all of future cooking is outsourceable at $20/hour. That’s an additional 384 hours for a trade-off of $7,680 after tax, which is a large chunk of money. I’d rather save the money and let it compound for later use, especially if I time chores so that they take advantage of low energy. Besides, cooking and other chores are partly social time too.

I can shift time in other ways. For example, I can use commuting time to learn more about Emacs, Org, and Rails, so that will help too. I can also use walking time to record life stories if I can figure out a workflow for dealing with audio or short notes.

Good to know what the size of the box is, and how much I want to pack into it! Let’s see how it all works out…


Short URL: http://sachachua.com/blog/p/23067

From the feeds: Friendship, planning ahead, and crossroads

ccattrib_sharealike_trees_2006_lincolnian

One of the great things about spending time with my family is seeing them with old friends, the kind of friendships developed over decades and despite distance.

Mel Chua shares this poem by James Hayford:

Time to plant trees is when you’re young So you will have them to walk among – So aging, you can walk in shade That you and time together made. – James Hayford, "Time To Plant Trees"

Greg Wilson writes about friendship and running partners in life:

In the end, the search for that feeling is the common thread through
almost everything I’ve done. … We are none of us long in this life,
and I think we all want to believe that when we have to run our last
lap, we won’t have to run it alone. I think we all want friends to
keep pace with, day after day, while we’re alive, so that we can be
sure that someone will be out there, still running, when we’re not.

I want to enjoy and be inspired by great friendships through the decades. It’s easy to be insular, but if no man can really be an island (or at least be healthy doing so), I might at least be a peninsula. =)

Speaking of planning ahead, Trent (The Simple Dollar) has great advice on what to do at life’s crossroads. Living a frugal life and keeping expenses down means that we can take more risks, yay.

Photo © 2006 lincolnian, Creative Commons Attribution ShareAlike License


Short URL: http://sachachua.com/blog/p/22554

The joys of development with Selenium web-testing

I’ve started using the Selenium web-testing framework as part of regular development, and I like it. Selenium makes it easy to automate testing web applications, but it’s also useful for developing web applications.

I was working on improving the administrative interface of a Drupal site. To test the new features, I needed to switch back and forth between different users, and I needed to move nodes through a workflow. Masquerade made it a little bit easier to switch between user roles without logging out and logging in, but there was still a lot of clicking and waiting involved. Selenium made it easy to record and tweak the steps I took, and I could even add assertions so that I didn’t have to check things myself.

Timestamps helped me doublecheck that new data was successfully submitted, and that my e-mail messages weren’t using the old data. Here’s how to store a timestamp:

storeEval { var stamp = new Date(); var year = stamp.getYear() + 1900; var month = stamp.getMonth() + 1; var day = stamp.getDate(); var hours = stamp.getHours(); var mins = stamp.getMinutes(); var time; var secs = stamp.getSeconds(); if (month < 10) { month = "0" + month; } if (day < 10) { day = "0" + day; } if (mins < 10) { mins = "0" + mins; } if (secs < 10) { secs = "0" + secs; } timestamp = "" + year + "-" + month + "-" + day + " " + hours + ":" + mins + ":" + secs; } timestamp

Then I can refer to that timestamp when filling out forms, like this:

type Node title ${timestamp}

I can check if the timestamp is present on a page:

assertTextPresent Node title ${timestamp}

I thought I would get impatient with the slow pace of web testing compared to directly testing the underlying models using code (Simpletest rocks for this). The visual feedback from watching my browser step through the tests helped me appreciate the time I saved compared to clicking through things myself. (And I had extra time to write notes in Emacs or comment my code while the tests are running!)

The Stored Variables Viewer (http://seleniumhq.org/download/) plugin was great for viewing timestamps, saved HTML snippets, and other things stored during test cases. In a pinch, it’s a decent way to explore something in the Selenium IDE context – store a variable, then view it.

Selenium IDE is a free Firefox plugin that you can get at http://seleniumhq.org/download/ Good stuff!


Short URL: http://sachachua.com/blog/p/22530

Transcript: Blogging (Part 3): Blogging and other social tools

Hat-tip to Holly Tse for organizing this interview! At the end of the blog series, I’ll put them all together in a text file and a PDF that you can read easily, and I’ll add insights you and other people might share along the way. =) (Find previous entries) Here’s the third chunk!

HT: You mentioned social media, so… If you have a blog, how does Facebook and Twitter fit into the mix? Do they need to fit in the mix?

SC: You can if you want to. You don’t have to. What I often find is that my blog is the primary place where I put things, because a third-party company like Facebook or Twitter–sometimes they change their mind about what you can do with your stuff. So I put almost everything on my own blog. If I think other people might find it useful, I might post a link and share it with somebody or share it with everybody on Twitter or Facebook.

It also works the other way too. I might have a conversation with someone on Twitter. Most recently, actually – last Friday, I was having a conversation with people on Twitter about creativity. And it made me stop and think about what I think about creativity and stereotypes and “left-brain” and “right-brain” stuff that most people think of when it comes to that. You know, “I’m not creative because my work involves numbers or code or whatever, and creativity is drawing and painting and whatever.” Anyway, it made me think about all this stuff, and I wrote about it, and then I took that and shared that back into Twitter. So it feeds itself.

On the other hand, if you’re not on Twitter or Facebook, you can still blog. It’s a great way to write, and it’s a great way to get your thoughts out there, too.

Tune in next Thursday for the next part in this series! I’ll add new entries to the Discovering Yourself through Blogging page to make it easier for you to find them.


Short URL: http://sachachua.com/blog/p/22461

Volunteer notes: Free Geek Toronto

From Saturday: We’ve just come back from volunteering at Free Geek Toronto, where we’ve been helping people refurbish donated PCs. It’s a good idea: help people develop computer skills while reducing waste. Unusable components are separated and bundled for recycling.

Working with computer components as old as the ones they get there can be challenging. People need to identify and isolate problems, replace parts that don’t work, and set up Ubuntu Linux.

W- and I started volunteering there after J- did a short stint with them during her school’s community volunteering week. Free Geek Toronto needed a lot of help, so we wanted to see what we could do to get them to the next level. They hadn’t had build classes in a while, so we volunteered to lead Saturday sessions. We’ve also been working with other volunteers to document the process and make it easier for other people to pick up. My goals for this part are to write things down, go through a couple of iterations of build classes, and encourage at least one other person to lead build classes, so that we can then free up the time to work on other things.

The build sessions have been going well. It helps that we have a mix of experience levels. Today, one of the volunteers worked on a computer with chassis intrusion detection. A small switch detected when the cover was off and set a flag in CMOS, which caused the computer to halt while booting. He and another volunteer figured out how to reset the alarm and how to disable it. I’m learning a lot by osmosis, too, and will probably be writing more about hardware on this blog.

Future build classes might have more people who have little experience with computers. We need to make it easier for them to get started. Here are some things we and other people can work on:

  • Update the checklist so that it matches the new process.
  • Update the build process summary.
  • Write a fleshed-out version of the guide with step-by-step instructions and basic troubleshooting.
  • Go through all the video cards to confirm which ones support Unity, Ubuntu’s new interface.
  • Sort the IDE cables so that people can easily grab the one they need.
  • Clear out old equipment so that there’s less confusion and better equipment turnover.
  • Clarify the workflow/next steps: how volunteers can qualify for the course, where to put work in progress or finished materials, what’s the next step after the build class
  • Possibly split the installation from the building part, so that we can quickly get computers up and running using images.

The organization also needs to sort out waitlists and communication, but that involves interpersonal stuff and we’re not deep enough in the organization yet to be able to understand or nudge the dynamics. Sometime!

What could wild success look like?

Build classes run regularly. They have clear goals: each student will successfully assemble a computer, practising troubleshooting skills along the way. They’ve got a checklist, a short summary guide, and detailed step-by-step instructions, as well as a troubleshooting guide. There are a lot of parts, but some have been pre-tested. The class also helps students get to know other experienced volunteers, so that people feel comfortable coming and volunteering on their own. After the classes, the students feel confident about building computers with the help of other experienced people, and they come regularly. The build class facilitators sign up in three-week chunks; they do it for fun and for good. Several people volunteer to run these ongoing build sessions, and other experienced volunteers hang out to work on their own interests.

Maybe we somehow track the progress of a box, so we can contact volunteers when a box they built has been sold or donated, and we tell them the story of the difference they helped make. Maybe this encourages them to come back and build another one. Maybe there’s some kind of build volunteer tracking, so we can tell when a build box hasn’t been worked on for a while, and invite people back or release it for the next build class.

Might be interesting. =)

You know what I’m curious about? Well, on one level, there’s getting better at working with computers. And then there’s the really fascinating level of tweaking an organization and its processes. We’ll see. =) I’m sure I’ll learn tons along the way!


Short URL: http://sachachua.com/blog/p/22417

A zucchini a day keeps the vegetable drawer okay

This community-supported agriculture experiment has surprising benefits. I’ve eaten more zucchini in the past week than I have in the preceding year. It’s the combination of:

  • loss aversion: powerful force in behavioural psychology
  • lack of choice: commitment device; also makes surprising contributions to happiness – people feel unhappy when overloaded by choice; I know I sometimes blank at the supermarket, and my lists are sub-optimal because they focus only on a small set of produce
  • thousands of Internet pages dealing with zucchini recipes: because lots of other people have been in the same boat

The other day, I made zucchini fritters. Today I decided to make zucchini pancakes. I mostly followed the recipe, except for the following moments:

  • “Soy milk? I’m fine with dairy, so I’ll just use regular milk.”
  • “Ground flax seeds. Hmm, I can do that… <grind grind grind> ARGH, this is taking forever! I’ll just add some egg replacement powder.”
  • “Honey… Hey, that’s not vegan. Fortunately, we don’t have any dietary restrictions. I wonder if it works with crystallized honey…”

Result: W- woke up to a yummy and filling breakfast. He said, “Is it the weekend already? Did I sleep all Friday?”

I like zucchini pancakes more than I like zucchini fritters. This zucchini brownie recipe I’m trying needs some work, though. It’s a bit dry and crumbly. I hate to admit it, but I think it needs more zucchini. Then again, I didn’t quite follow the recipe for that one. The other two zucchini turned out to be cucumbers, so this batch has just one zucchini. I’ll try it again with the next CSA batch. (Because there’s always more zucchini…)

Zucchini zucchini zucchini. Slowly getting the hang of this!


Short URL: http://sachachua.com/blog/p/22353

Make-ahead meals

Patricia wanted to know what sort of meals we like preparing in advance. We often make large batches of frozen meals so that we can take them to work or have them as quick, no-fuss dinners. Here are some of our staples:

  • Shake’n Bake chicken: well, really, the generic equivalent of it; baked breadcrumb-style chicken with rice and vegetables
  • Jerk chicken: mostly W-, as it’s too spicy for me
  • Lasagna
  • Chicken curry
  • Tomato sauce for pasta
  • Pesto
  • Rotisserie chicken from the supermarket
  • Roast turkey
  • Soup
  • Rice and beans
  • Baked beans
  • Home-made bagels or biscuits
  • Chicken pot pie or turkey pot pie
  • Shepherd’s pie

What are yours?

2011-06-15 Wed 20:33


Short URL: http://sachachua.com/blog/p/22314

Weekly review: Week ending May 13, 2011

From last week’s plans

  • Work
    • [X] Catch up on work
    • [X] Get ready for training trip for project I
    • [X] Follow up on project C
    • [X] Refile time for project M
    • Prepare for upcoming presentations
    • Added status tracking feature to project C
  • Relationships
    • [X] Hang out with family some more!
    • [X] Spend time with W-’s friend Dan in The Hague
    • [\] Write and sketch stories from trip – wrote a few
    • [-] Organize photos from trip – haven’t looked at them!
    • [-] Catch up with mail – answered some mail, but not yet all
    • Got first Plan B Organic Farms box. Had lots of salad. Yum! Plus dandelions, too.
  • Life
    • [X] Plant more herbs and greens
    • [X] Decompress
    • [-] Write more for upcoming trip

Plans for next week

  • Work
    • [ ] Conduct training for project I in Colorado
    • [ ] Keep an eye on project M
    • [ ] Sort out upcoming projects
    • [ ] Prepare for social media / Gen Y talk for client D
  • Relationships
    • [ ] Catch up on mail
    • [ ] Write more about Netherlands trip
    • [X] Plant more herbs and greens – basil basil basil basil
    • [X] Make bagels
    • Helped hem J-’s pants – made a hair bow, ribbon, and brooch from the scraps
  • Life
    • [ ] Set aside writing time while on business trip, and actually write
    • [ ] Think about what I want to learn next – more sewing projects?


Short URL: http://sachachua.com/blog/p/22238

Three cat life

We have three cats, which works out just right. Three laps, three cats, and two of them can play with each other if the third one’s hissy. So when it came time for their annual checkups, I figured I’d see what I could negotiate.

The vet had an appointment slot open for a checkup, so I scheduled one. While I was on the phone with the receptionist, I asked if I could bring two cats. “Yes, you can,” the receptionist said. So I asked if I could bring three. All right by them. Okay! No multi-pet discount, though. (I had to check. ;) )

We rounded up the cats, put them into their carriers, and put the carriers into the car. Leia and Neko were quiet, but Luke was doing his scared-cat meow. He’s usually the most easy-going of the three, but I guess he’s not used to travelling. At the vet, we shuffled the cats into the lobby and settled in for the wait.

The vet saw us after about fifteen minutes. We decided to put Luke up first, as he was the most likely to behave. It was a straightforward examination for him – a cat in beautiful health, although with some tartar building up on his teeth. Luke didn’t give the vet any trouble when it came to the vaccine shots.

Leia went next. She got all huffy when the vet was prodding her, but didn’t make a big issue of the vaccine.

Neko turned out to have gained two pounds in the year that she’s been in Canada (when this is about 28% of your previous weight, that’s something!). She’s a little more than half Luke’s size and will probably never get to that weight, but she’s been filling out nicely – going from a square to a trapezoid, we joke. Neko’s been snoring and making strange noises while breathing in, but the vet didn’t find anything obviously wrong with her, so he said it might just be a respiratory virus she picked up that’s not life-threatening. Okay.

Now time for Neko’s shots. The vet called in an assistant with thick work gloves that went past his wrists. “Just to make sure,” he said. We laughed knowingly, as we went through similar precautions whenever grooming Neko’s claws: leather gloves and long sleeves for W-, although I could generally get away with handling Neko with bare hands.

On the way home, with the three cats lined up on the back seat, I turned to W- and asked, “Do you feel like a soccer dad yet?”

Total time going to the vet and back: 2 hours. Definitely worth bringing the cats together.


Short URL: http://sachachua.com/blog/p/22191

Recipes: Coconut cocktail bun recipe

As it turns out, ingredient lists are uncopyrightable, so I’ll try to post more of them when I write about our cooking adventures. (I’ve come quite a long way from the beginnings of Cook or Die!) Recipe steps might be copyrighted, particularly those that are creatively expressed, but that should be no problem – I’ll just write my own instructions.

So here are the buns that have just come out of our oven. (Yes, another set of buns. The ones I made just two days ago have vanished. There must be a bun-monster somewhere in the basement…)

After the success of this weekend’s coconut cocktail buns (gai mei bao), W- and J- suggested hotdog bao, Nutella bao, and some more coconut bao to use up the extra filling we had. Result:

Assorted buns

You will need a kitchen scale. This is actually good, because volume measurements of flour and other things can vary widely.

Gai Mei Bao – Chinese Cocktail Buns and flexible bun dough recipe
Adapted from David Ko’s Yung Sing Dim Sum Recipes (A Chinese Snackbook):

Bun Dough

David Ko uses this recipe for practically all the buns in his book. It’s a white, slightly sweet bread.

  • 12g active dry yeast
  • 495ml warm water
    • Dissolve yeast in water.
  • 340g sifted all-purpose flour
    • In a large mixing bowl, pour yeast solution into flour. The original recipe says to knead the result for 5 minutes, but this paste results in more of a liquid mix, so just mix it until it’s smooth.
    • Leave in a warm place for 2 hours. Or if you’re like us and baking season (winter) doesn’t leave you with an abundance of warm spots in the house, set the oven to 150′F for thirty seconds, then turn the oven off. Put the yeast mix into the oven and wait until it doubles in volume (around one hour).
  • 60ml warm water
  • 1 egg
  • 225g cake and pastry flour (sifted)
  • 560g all-purpose flour (sifted)
  • 110g sugar
  • 18g salt
  • 125ml milk
  • 3g lard
  • 3g butter
    • Mix all of the above with the yeast mix in a large mixing bowl. Knead until smooth and elastic, adding flour as necessary. Cover with a damp cloth (or cling wrap and a damp cloth; keeps your tea towels cleaner) and leave in a warm place for 2 hours, or until doubled in volume. You can use the oven trick here, too.

Coconut filling

  • 175g coconut flakes
  • 168g sugar
  • 56g melted butter
  • 1 egg
  • 30ml (2 tbsp) milk
  • 1 tsp vanilla extract (fun to make at home!)
  • 1/2 tsp baking powder
  • a few drops of coconut essence (optional; we didn’t have it in our pantry)
    • Mix well and put in the fridge.

We skipped the toppings because the regular coconut filling is awesome enough.

Assembly

  • Divide the dough into 24 portions. I tend to do this by cutting the dough in half three times, then cutting the resulting eight pieces into three pieces each.
  • Roll each portion of dough into a round ball. Arrange on a baking sheet, then cover and put in a warm place for 15 minutes.
  • Flatten the dough balls. I like using a rolling pin here for a nice, even look, although it does take more time than squishing the dough manually.
  • Spoon your filling into each flat piece of dough, wrap it up, and roll it into the shape you like. Try to make sure the buns are pinched closed, as the filling might leak out during baking.
  • Set buns aside in a warm place to rise further, covering the buns with a damp cloth or cling wrap. Preheat oven to 375F.
  • Do an egg wash or another wash if you want. Brushing the buns with a beaten egg (egg wash) gives them a beautiful golden colour, and also makes it easier for sprinkled things (seeds, etc.) to stick.
  • Bake buns in a 375F oven for 15 minutes, or until the buns are golden brown.
  • You can brush the freshly-baked buns with melted butter, if you want, but we skipped that step.

Other fillings we’ve tried:

Hotdog
Wrap the flattened dough around a hotdog. Brush dough with beaten egg and sprinkle sesame seeds on top. You can push the sesame seeds into the dough slightly to help them stick.
Nutella
Spoon Nutella hazelnut spread into the middle of the flattened dough and roll it up. Brush dough with beaten egg and sprinkle almond slices on top.

2011-03-14 Mon 23:14


Short URL: http://sachachua.com/blog/p/22148

How I Learned to Stop Worrying and Love the Webinar: Energy, Interaction, and ROI

I’ve been invited to re-do my Remote Presentations That Rock presentation this February. I can’t resist improving presentations every time I give them. What do you think of this?

This presentation and speaker notes will be available at URL. (If giving this remotely: Please feel free to use the text chat to ask questions and share your thoughts throughout the presentation.)


Remote presentations are harder than in-person presentations, but they can also be more powerful. Yes, you’re limited in terms of body language and delivery. Yes, you have to compete with e-mail, Sametime, and a million interruptions. But if you know how to work with the strengths of remote presentations, you can reach people more effectively and more intimately.

Let’s talk about the biggest challenge for remote presentations: the fact that it’s so easy for people to get distracted or to walk away. In real life, most people won’t walk out the back door. They’ll stick around long enough for you to make your main points. Online, if you lose people’s attention, it can be very hard to get it back. And it’s doubly tough because you can’t read people’s body language. You can’t see if people are interested or if they’re off checking mail, and you can’t pull them back by saying something interesting if they’ve already hung up.

You’ve got to offer people something they can’t get from reading your the slides or listening to the recording. Why is it worth paying attention to you? For me, that comes down to two things: energy and interaction.

Energy

Why should people attend your presentation? People aren’t going to come just to hear the facts or numbers. They can get that from the slides. If you’re a leader, they want to hear your confidence, maybe get a better sense of who you are as a person. Even if you’re not an executive – even if, say, you’re an IT specialist presenting a technical topic – you’ve got to bring your energy to your presentation, to show people why it matters to you and why it matters to them.

A huge part of this is your voice. You need to sound like you, and you need to sound like the presentation is worthwhile. If people give in to the temptation to multitask, your voice is going to be the only thing that can bring them back. Emphasize your key points by changing your pace, changing your pitch, pausing, repeating things. Let your message come through in your voice. Energy. Urgency. Confidence.

You’ll be surprised by how much little things matter. Get a phone headset so that you can breathe properly and so that you don’t get a crick in your neck. Stand up if that helps you get into the “presentation mode”. Have pictures of people around if that helps you remember that you’re talking to real people so that you can make that connection. Turn off the conference entry/exit tones so that you aren’t competing with (or distracted by) beeps.

Another, powerful way to share your energy is to add video. Now you might be thinking, “I don’t look good on video.” While we may never look as polished as Sam Palmisano with a video crew, it’s actually easy to look decent. Get a webcam. Even if you pay for this personally, it’ll be worth it. Find a quiet place – no coworkers on conference calls, no dishwashers going whrrr. Find a clear background and good lighting – maybe a blank wall near a window. If you have glasses, dim the light from your laptop screen so that they don’t reflect off your lenses. White shirts make it easier for your webcam to pick the right colour-balance and exposure. Practice.

It’s a good idea to tell people when you’re going to be on video. I know someone who found this out the hard way. She was giving a presentation, and then her husband walked past in the background… in his underwear! So make it clear that you’re going to be on the air, and close the door. Then you can make a much better–and more professional–connection with people.

Video can bring you much closer to people than most in-person presentations can. Sure, you probably won’t be able to do as many gestures, but people can see your facial expressions. Use them. If you step back a little, you can do some gestures.

How can you bring all these tips together? Figure out what you want to say, but don’t stop there. Figure out why it matters to you and why it matters for other people. If you can’t figure out why something is worth giving as a presentation instead of as an article or a set of slides, don’t do a presentation. Just send the information. Save presentations for where presentations can make a difference – when you want to persuade people.

End on a high note. If you’ve done a good job at convincing people for the need for action – and you’re always doing this with a presentation, even if you’re just presenting information – make it easier for them to take action by showing them what they need to do next. Don’t fade out with just Q&A. Wrap up with a quick summary and maybe a memorable tip, and make sure people know what the next actions are. If you’re doing a remote presentation, think of websites people can visit to learn more or actions people can take to commit to doing something, while they still have the buzz and energy from the presentation. This means you need to plan your time well. People have back-to-back meetings and commitments. Plan to end a little early so that they have time to act on your message before they get distracted by something else.

Interaction

This also means you need to get people’s buy-in along the way, so that when you get to the end of your presentation, people are where they need to be. This brings us to the second part of making remote presentations that rock: Interaction. Q&A. I’m not talking about the five minutes near the end that you think you’ll have for questions. You know that hardly ever happens. You run into technical difficulties. People start late. People take a while to think of their answers.

Don’t leave Q&A to the end of your presentation. Make it part of your presentation. If I have an hour for a presentation, I’ll typically plan between seven to twenty minutes of content, with the rest of the time for Q&A and about five minutes at the end to summarize and send people off with actions. This works really well. It forces me to fit my key points into a short attention span, and leaves room for the interesting part: the conversation.

How do I make sure things fit? I figure I should talk at about 160 words per minute. (I actually talk faster, but I try to slow down to 160.) If I’m planning for 20 minutes, then that’s roughly 3,200 words. If I write down what I want to say and I’m over 3,200 words, then I have to cut and simplify. Don’t start with the slides. Start with what you want to say, and make room for what’s important. If you’re trying to say too much, split it up into multiple presentations or refer to additional information that people can use to learn more.

Q&A can be much more powerful in a web conference than it is in person. In person, you’re usually limited to three or four questions. In person, people have to remember their questions and wait for the Q&A period, then line up for the microphone, say their question, and wait for your response. In person, you don’t really get a choice about which question you want to address first. Online, if you ask people to share their questions throughout the presentation using the text chat, you not only get an instant feel for where people are curious or confused, you can also pick the most interesting questions–or the easiest ones–to answer first. You don’t have to read people’s body language – they can tell you what’s on their mind.

When you’re starting out, you might want to have a moderator watch the text chat for you. If you find that you can occasionally glance at the text chat without getting distracted from what you want to say–and this takes a lot of practice–then you can even start weaving those questions and answers into the flow of your presentation. It’s fantastic when you can pull this off.

Q&A is good for people and it’s good for you. You can learn so much from Q&A. You can find out what’s important to people, and what you should include when you’re following up. If you’re lucky, you’ll end up with lots of questions, some of which you might not even know the answers to yet. Great. That not only gives you opportunities to learn more, but also to share those lessons with others. We’ll talk about this again when we talk about radically increasing your ROI from presentations.

You can still have people ask their questions over the phone. Now this is important: you should wait at least seven seconds for questions before you move on. Maybe wait even longer. I can’t tell you how many times I’ve been on a conference call where the speaker said, “Any questions?” and then after a very short silence, says something like “Thank you, goodbye!” and I’m thinking, “I’m still coming up with questions I want to ask!” As a speaker, you should wait until the silence becomes uncomfortable, and then wait some more. It takes time for people to absorb what you’ve just shared and think of what else they want to learn. If you need to fill the silence, share some questions other people have asked you, or share some questions people might be thinking about.

When you’re speaking to an international audience, Q&A might be harder. People in some cultures aren’t comfortable with asking questions during presentations. You can get people used to the idea by starting off with typical questions people might ask, and encouraging people to share their questions through a text chat if they don’t want to use the phone.

If you really don’t get any questions, then you can share more examples and backup material. Flexibility pays off, and it shows that you know your stuff.

Radically increasing your ROI

Now you might be thinking that it takes time to prepare good presentations like that. It takes only a few minutes to throw together slides if you’re going to figure out what to say on the fly and you don’t mind if people forget or tune out. It takes time to plan your presentation so that you have a clear, concise, engaging core message. It takes time to prepare for Q&A. It takes time to learn how to use web-conferencing tools. But it’s a bigger waste of time if you don’t.

Presentations are surprisingly expensive. There’s the time you put into preparing it: maybe half an hour for a quick update, maybe four hours for a regular presentation like this, maybe days for a high-stakes presentation. There’s the time you spend giving the presentation. And then there’s the time people spend listening to you. Now I’m in Global Business Services, so utilization is always in the back of my mind. If I’m talking to a group of 35 people for an hour, I probably need to offer you more than $100 in terms of value, and I need to create more than $4,000 of value for IBM and our clients. Is it worth it? I want to make sure it is.

So let’s talk about radically increasing your ROI for presentations. When you’re preparing and giving presentations, how can you get even more leverage on the time and effort you’re investing? There are two parts to that: before and after your presentation. Let’s talk about what you can do before your presentation.

First: Figure out if you can get more people – and more of the right people – to get value from your presentation. It takes the same time to give a presentation to 20 people as it does to give a presentation to 200. Remote presentations make this even easier, because people don’t have to be in the same area and they don’t have to arrange for travel. They just have to dial in. This depends on the purpose of your presentation, of course. If you’re planning a small-group collaborative meeting, go ahead and keep it at six people. But if you’re sharing something of general interest, open it up. Post it on Inviter, which is this IBM service for sharing calendar events. If you’ve got a blog, write about your upcoming presentation. Post it on your Profiles board. Tell people about it. Make it easy for people to find.

Second: Share as much as you can while preparing. See if you can share your outline, your slides, your draft speech. If you’ve got a blog, write about your presentation there. I’ve been blogging my speaker notes and my slides on a blog. You’d think that would mean that people can skip the presentation because they already know the key points, like the way you might skip a movie if you already know how it ends. Instead, what happens is that people suggest ways to make the presentation even better, and then they come anyway for the energy and interaction. Result: better presentation, better interaction (because people have been thinking about things deeper), better reach, and better ROI. Share whatever you can share.

The same goes for after your presentation. When you’re giving a presentation that’s not confidential, make sure you record and share it. That’s one of the benefits of giving a remote presentation – they’re easy to record and share. It’s a few extra clicks using LotusLive Meetings, and then you can share your presentation with other people. Share your slides. Figure out if your presentation or a subset of your presentation can be shared externally. Take the extra five minutes to scrub it and share it on a site like Slideshare.net. Share your speaker notes. Share the questions people asked and your answers to them. It takes a few extra minutes and greatly improves your reach. When your presentations are shareable and searchable, they become a very powerful networking tool. And they’ll save you lots of time, too. I can’t tell you how often I refer people to my past presentations in order to help them learn something I’ve shared.

And this is where remote presentations can really help you rock. Work with the strengths of the webconferencing tools that we have, and you can really connect with people. Invest a few extra minutes to share your presentations and recordings, and you can radically increase your ROI. Use remote presentations to reach more people than you can bring together in a room, and that will pay off for you in professional and personal connections.

Here are seven small things you can do to improve the energy, interaction, and ROI of your remote presentations:

  • Get these slides or my speaker notes so that you can review them going forward. (URL)
  • Make your life better by sharing these tips with other people who give remote presentations.
  • Volunteer for a remote presentation if you don’t already have one on your calendar. Practice will help you learn.
  • Take a good look at your upcoming presentations and practice putting some energy into them. Make sure they’re worth listening to.
  • Get a webcam and learn how to use it well. Figure out where in your workplace or your home you can do a good presentation.
  • Cut your next presentation in half so that you can leave room for questions and answers.
  • Review your past presentations for things you can share, and share them.

We’ll come back to these tips five minutes near the end of this session so that they’re fresh in your mind. I want you to be able to walk out of here with a clear understanding of how you can apply these tips and how they can transform the way you present. What’s holding you back from giving better remote presentations? What do you want to learn more about?

2011-02-15 Tue 07:58


Short URL: http://sachachua.com/blog/p/22094

Emacs 24 and the package manager

By default, the Emacs 24 package manager (M-x package-list-packages) points to a small repository of Emacs packages. Want more? Phil Hagelberg added support for multiple repositories to package.el. There’s the original ELPA at http://tromey.com/elpa, and there’s a community package source called Marmalade that anyone can upload packages to. Add this to your ~/.emacs and evaluate it:

;; Add the original Emacs Lisp Package Archive
(add-to-list 'package-archives
             '("elpa" . "http://tromey.com/elpa/"))
;; Add the user-contributed repository
(add-to-list 'package-archives
             '("marmalade" . "http://marmalade-repo.org/packages/"))

You should then be able to call M-x package-list-packages to browse and install Emacs packages.

If you don’t have Emacs 24 yet (and you might want to wait for the official release if you use things like BBDB), Phil suggests downloading package.el from the Emacs development tree. This version includes support for multiple repositories.

For even more Emacs goodness outside the package system, check out the Emacs mirror, which lists more than 2,900 packages available through Git.

Thanks to:

2011-01-15 Sat 10:31


Short URL: http://sachachua.com/blog/p/22045

Weekly review: Week ending January 14, 2011

From last week’s plans

  • Work
    • [X] Finish up on project S
    • [X] Start testing project M
    • [X] Fix my Lotus Notes
    • [X] Look into Lotusphere
    • Outlined talk on learning on the network
  • Relationships
    • [X] Get around to hosting a get-together, maybe a game night
    • [-] Plan May trip – read lots of guidebooks
    • Picked up microscope slides for J-
    • Helped J- with homework on bullying/harrassment
  • Life
    • [X] Get back into sewing: work on black dress – postponed
    • [X] Post more book notes
    • Enjoyed a week of pandesal
    • Achieved small goal of walking 12k steps in one day

Plans for next week

  • Work
    • [X] Wrap up project M
    • [X] Document case studies
    • [X] Write about lessons learned
    • [X] Apply to open seats
    • [X] Follow up on Lotusphere
    • [X] Draw networking guide for conferences
    • [X] Chat with Vikram Kalkat regarding Web 2.0
  • Relationships
    • [X] Have get-together
    • [X] Help with J-’s Little Big Planet party
  • Life
    • [X] Get through busy week
    • [X] Post more book notes!

Time analysis

Category Hours Notes
Sleep 61.1 Average of 8.7 hours – typically around 8 hours during weekday, and longer during weekend
Work 40.7 Lots of good work
Routines 18.4
Break 16.5 Relaxed weekend
Social 13.2 Spent time with Maira, and celebrated J-’s birthday
Writing 7.2
Exercise 6.6 Long walks
Travel 2.8
Learning 0.9 Piano
Outsourceable 0.3

Mostly tracked, yay!

I took the TTC 9 times, using tokens.

Next week, I plan to stick more closely to my alarm settings (no hitting snooze!) and gradually reduce my sleep back to 7 hours a day. Still recovering from a cold – I cough less now, but I still have the sniffles.

I also want to break “Routines” down into more detail, so I can see where my time goes.


Short URL: http://sachachua.com/blog/p/22043

Android Tasker: Setting time limits for Angry Birds and other timesucks

angry-birds

Angry Birds is our new household obsession. J- plays it on her iPod Touch. W- plays it on his Nokia N8. Me, I caved in and installed it on my Android phone. It’s a physics-based puzzle game with amusingly Rube Goldberg-ish levels. I tell myself that playing contributes to social bonds with W- and J-.

image

The game is set up as a long series of puzzles much like the screen above. When you finish a puzzle by destroying all the green pigs, you see one to three stars depending on your score, and you can either replay the level or move on to the next one.

Angry Birds is easy to learn and very engaging. I’m often tempted to check out the next puzzle even when I really should be going to bed. I tried using Tea Timer to give myself five-minute limits, but that took too many taps to set up.

Solution: Use Tasker to automatically set up a five-minute time limit for Angry Birds. That way, the timing is built in. I created a quick task that started whenever I launched Angry Birds, waited five minutes, and then returned me to the home screen. It’s enough to snap me out of the timesuck haze and remind me what I should be doing.

Here’s how:

  1. In Tasker, click on New and set up a profile. For the context, choose Application. Choose the application(s) you want to limit, such as Angry Birds. Click on Done.
  2. Click on New Task. You will be prompted for the task name. You can give the task a name if you want, or leave it anonymous. Click OK.
  3. Click on the + sign to add a new action. Choose Tasker > Wait and set it to the duration you want. Click on Done.
  4. Click on the + sign to add another action. Choose App > Go Home. This should keep the applications running, but return you to the home screen so that you can decide what to do next.

Instead of returning to the home screen, you might want to have Tasker bring up your task list, your calendar, or a note from your saner and more productive self.

image

I really like Tasker. =) It takes some getting used to, but it’s powerful. It’s like being able to defadvice Android applications. defadvice is an Emacs-ism that lets you specify code that runs before, after, or around other code, and it’s one of the reasons why Emacs is amazingly programmable. In addition to context-sensitive settings (like the way I automatically turn WiFi when I leave the house), Tasker lets me specify actions and settings that are active before, after, or around other things on my Android. I wish my apps exposed more functionality to Tasker.

Here’s the XML version, if you want to import it. tasker_angry_birds.prf.xml

<class cl="TaskerData" sr="">
  <class cl="Task" sr="task21">
    <id>21</id>
    <class cl="Action" sr="act1">
      <class cl="IntArg" sr="arg0">
      </class>
      <code>25</code>
    </class>
    <class cl="Action" sr="act0">
      <class cl="IntArg" sr="arg4">
      </class>
      <class cl="IntArg" sr="arg3">
      </class>
      <class cl="IntArg" sr="arg2">
        <val>5</val>
      </class>
      <class cl="IntArg" sr="arg1">
      </class>
      <class cl="IntArg" sr="arg0">
      </class>
      <code>30</code>
    </class>
  </class>
  <class cl="Profile" sr="prof15">
    <nme>Angry birds</nme>
    <id>9999</id>
    <class cl="AppContext" sr="con0" ve="2">
      <label0>Angry Birds</label0>
      <cls0>com.rovio.ka3d.App</cls0>
      <pkg0>com.rovio.angrybirds</pkg0>
    </class>
    <mid0>21</mid0>
  </class>
  <tv>1.0.13m</tv>
</class>

Short URL: http://sachachua.com/blog/p/21965

Monthly review: October 2010

    W- and I got married in October. That pretty much took up the whole month between spending time with our wonderful families and recuperating from the celebration. When I got back to work, I started on a Drupal project. It’s good to be back in development.

    We’ve switched back to Eastern Standard Time. The sun sets earlier now. I’ve taken my winter mittens and scarves out of storage. We’re gearing up for what I’m resolutely calling "baking season" – a way of reminding myself that even winter has its benefits. To celebrate baking season, W- has been baking these absolutely scrumptious brownies.

    We’re halfway through November already. I need to write a yearly review. My work anniversary syncs well with our yearly performance review cycle. I’ve got pictures to organize and memories to write. And then theres’s the holiday season coming up. We’re working on being more social.

    Life is good.

    Reviews:

  • Weekly review: Week ending October 31, 2010
  • Weekly review: Week ending October 24, 2010
  • Weekly review: Week ending October 17, 2010
  • Week ending October 10, 2010
  • Monthly review: September 2010

Other stuff:


Short URL: http://sachachua.com/blog/p/21877

Toaster’s toasted

Our wedding vacation was a whirlwind of cooking, thanks to the talents of my middle sister Kathy and our family friend Tita Gay. When the dust cleared, casualties included one burned-out stove element, and one broken toaster oven. We can work around the burned-out stove element easily – just use the other elements – but no toaster oven means that toast, biscuits, and tarts take more energy than before.

W- took advantage of his electrical engineering training to troubleshoot the toaster. He identified the solenoid as the problem part. Now we’re figuring out if we should repair the toaster, replace it, or eliminate it.

The decision is complicated by the fact that the toaster was an under-cabinet Black and Decker toaster oven, which was great because it saved counter space. Almost all toasters these days are countertop models, and we’d need to make space for them. The two under-cabinet models still sold by Black and Decker have middling reviews on Amazon.com.

We’re going to try replacing the solenoid on our toaster first. If that doesn’t work, we might bring it into a small appliance repair shop (if we can still find one of those!). If that fails, then we’ll look into other options.

Yay geeks!


Short URL: http://sachachua.com/blog/p/20189

Towards equity

In one of the sessions of a women’s leadership course at work, we were talking about our reactions on a training video that encouraged women to speak up. Some people were glad to be reminded, remembering how they’d been taught to speak softly and minimize their presence. I thought back over my childhood and couldn’t remember being limited just because I was a girl instead of a boy. Sure, we had etiquette lessons in grade school – how to stand, how to sit, how to walk – but nothing like the pressures that people faced a generation or two ago.

I grew up knowing I could have a career and that it’s okay to work. I have my own bank account. I can sign contracts. Some things have been solved, at least here.

But full equity is not yet a reality. I’m beginning to fear more limits. I’m tempted to choose where to compromise. Maybe this isn’t my fight, I think. Because it can be a big fight. There are a lot of opinionated people who’ve attacked stronger targets than I am.

It’s a good thing W- is who he is. When I fret about discrimination about mothers, he reminds me that in the microcosm of IBM, there are plenty of role models from all sorts of walks of life, and that people make things work. There’s still more that needs to be done, but it’s a good start.

So, equity. Might be uncomfortable working towards it, might not make all that big a difference. Life is limited and all of that. But it’s worth it. Besides, what am I going to do with a life circumscribed by stereotypes? I’m in as good a place as any to push those boundaries, and maybe that will help the future push them out even more.

Please remind me if I let fear or the avoidance of discomfort make excuses for me. =)


Short URL: http://sachachua.com/blog/p/7728

Twenty-seven; life as a twenty-six year old

UPDATE: Fixed PDF.

I turned 27 years old this week. If life as a 25-year-old was about taking small steps to build a wonderful life, life as a 26-year-old was about flourishing. Reviewing the past year’s blog posts to get a sense of how I’ve grown, I realized that life had gotten much deeper and richer. Work gave me plenty of opportunities to learn, share, and make a difference. W- and I have worked out our long-term plans and will be getting married in October. I learned a lot from friends, mentors, and proteges, and I shared tons of thoughts and ideas in blogs, presentations, conversations, and notes.

It’s been a great life. Fewer storms than movies or books had me believe, and plenty of wonderful memories and realizations on which to build a future. On the cusp between the mid-twenties and the late twenties, the most unexpected discovery has been that of unconditional serenity. Now I have more to share, and more to discover along with other people.

I’ve selected my favourite blog posts for Aug 2009-2010 and put them into a PDF so that I can archive them in a three-ring binder. If you’d like to review it too, see sachachua-26.pdf. (184 pages, 353k) Thanks for sharing this year with me!

Here’s how the year stacked up against the goals I shared in last year’s recap:

I’m looking forward to learning even more about my passions and interests, people, and life. When I turn 27, I hope to be able to look back and say that I:

  • [X] created another year’s worth of experiences, memories, and dreams – it feels like more than a year’s worth, even!
  • [X] helped build innovation networks and shared what I’ve learned with others – we’ve not only scaled up our Idea Labs (virtual brainstorming discussions), I’ve also helped other groups and organizations use the technique to engage people around the world
  • [X] helped build Drupal skills within the company – Drupal is well-established in our toolkit, and we’re looking forward to doing even more
  • [-] wore something I made every day – I’ve been making more of my clothes and accessories, but I’ve also calculated the my time value of money and decided that some things like technical clothing are well worth the cost.
  • [X] enjoyed home cooking and explored new recipes – This was excellent!
  • [-] relaxed in improvised situations – I haven’t signed up for further improv classes (low sign-ups for the class I want to take), but I’m looking forward to doing this again
  • [-] saved half of my income and donated a tenth – Saved about half, shifting to investing and then donating when that appreciates
  • [X] got to the point of having a place for everything, and everything in its place – Progress! After thinking about what gets misplaced and where clutter accumulates, I tried a few tweaks (beltbag, etc.). Haven’t misplaced important things in a while.
  • [X] built and deepened more friendships – I’ve been mentoring more people and hosting tea parties, and I really enjoy doing both
  • [X] figured out what I know, what I want to learn, and how to share both of those – I’ve been writing and blogging even more, and scaling back on my presentations has given me more time to think and share. Good stuff!
  • [X] shared my happiness and enthusiasm with even more people – =)

What will life as a 27-year-old look like? I’m excited about long-term growth: marriage, work, friendships, interests. I’m looking forward to small, constant improvements in the way we live. I want to get even better at learning and sharing. When I turn 28, I hope to be able to look back and say that I:

  • helped build an excellent foundation for a loving partnership
  • made a difference at work and grew in my career
  • experimented with ways of living better and shared my results
  • shared lots of ideas, questions, and insights with people
  • lived another year of an awesome life.

Short URL: http://sachachua.com/blog/p/7309

Playing the long game: writing, raw material, and backups

One of my long-term goals is to share what I’m learning in life. I want to write books and memoirs and essays. Over the decades, I’m going to collect raw material, polishing and refining along the way.

With such a long timeframe, I don’t trust my blog. Things happen. Servers die. Backups get corrupted. Printing selected blog posts on paper might help me recover interesting things in case of catastrophic online failure.

I trimmed my Aug 2008 – Aug 2009 posts down to 106 pages. My thesis had been 72 single-sided pages, so I knew 53 double-sided pages was a manageable size. I picked up a ream of three-hole paper to avoid the hassle of punching accurate holes. Considering the cost of toner and paper, it comes out to about $0.05 per content page – less than the cost of printing outside.

Besides, our laser toner cartridge is running low, and it’s good to use the remaining toner on non-crucial printouts like this. I printed out five sheets at a time so that I could check whether the text was too light to read. The last few pages were light, but still legible.

What am I learning?

  • I saved very few of my technical posts. I saved most of my reflections on productivity and happiness. I saved some of my presentation-related posts.
  • Lightly edited, one year is actually a very manageable number of blog posts.
  • You don’t need a fancy book. A three-ring binder is fine.
  • Mirror margins, duplex printing, plus lots of experimentation = neat printouts
  • Goodness, I’ve written a lot. It doesn’t seem that way one day at a time, but there’s still a lot in here. Two pages of decent stuff each week? That’s doable.

Next step: revisit my posts from when I was 24…


Short URL: http://sachachua.com/blog/p/7251

Weekly review: Week ending June 13, 2010

From Starred Photos

This weekend, I finished my finger joint jig (my very first!), bought my own workbench (a Black & Decker WorkMate 425), and made my finger-jointed box sides. Whee! It was a lot of fun working on the deck with W- and J-, routing my box while W- sawed the pieces for his chair and J- collected sawdust. Progress! I think we might be getting the hang of this.

I did a lot of gardening, too. I turned the compost twice, and it’s getting close to the right texture. Next weekend, I think I’ll build a sifter and shake out the twigs so that I can use the compost to feed the strawberries, tomatoes, and peas, all of which are doing quite well. I revamped the back planter box and planted some more lettuce, and I planted jalapeno peppers along the path. Gardening is a great way to get more greens into our diet, and I’m looking forward to more harvests. Next time, I’ll be more consistent with succession planting. Just because you’re swimming in lettuce one week doesn’t mean you can skip planting the lettuce you’ll harvest in a few weeks’ time. =)

From last week’s plans:

Work

  • [  ] Update Idea Lab guide
  • [X] Give talk on Idea Labs
  • Added more Smarter Planet experts to my list
  • Gave students advice
  • Worked on Lotus Connections Java library, stuck on multipart/related PUT
  • Helped HR person with mail merge

Relationships

  • [  ] Check out more photographers
  • [  ] Catch up with Maira Bay de Souza and Leigh Honeywell at hacklab.to
  • [X] Finish box joint jig
  • [X] Make box-jointed box
  • [  ] Finish influence map stories
  • Set up my own work bench
  • Went to science fair, yay!
  • Attended U of T lab potluck
  • Lent J- shoes (she’s growing up so fast!)

Life

  • [X] Set up new webserver
  • [X] Take it easy
  • Made a pair of Thai fisherman’s pants
  • Planted hot peppers

Plans for next week:

Work

  • [  ] Update Idea Lab moderator guide
  • [  ] Import Smarter Planet experts into expertise locator tool
  • [  ] Create expertise locator batch importer tool
  • [  ] Create Activity set-up tool
  • [  ] Lead team enablement call
  • [  ] Plug into other expertise location initiatives

Relationships

  • [  ] Apply for marriage licence
  • [  ] Check out more photographers
  • [  ] Catch up with Maira Bay de Souza and Leigh Honeywell at hacklab.to
  • [  ] Finish influence map stories
  • [  ] Make box bottom and top

Life

  • [  ] Figure out proper configuration for php-fastcgi
  • [  ] Convert more planting space
  • [  ] Bike during sunny days

Short URL: http://sachachua.com/blog/p/7219

Picking hobbies that fit together

Some people have one hobby at a time. I tend to have several that shift over time, and I’ve gone through a lot of interests.

I started sketching my current hobbies to get a sense of how woodworking might fit in, and how it interacts with my other interests. I wanted to figure out if I could explore that interest enough to reach the point of being able to comfortably do it. In particular, woodworking tends to require blocks of unstructured time, which means it competes with sewing and cooking for those precious weekend blocks.

hobbies

I got interested in woodworking  because of gardening, and there are a number of items we can build to make gardening easier. Now that we’ve set the garden up, it doesn’t take that much more time: ten minutes each day, and maybe an hour during weekends to turn the compost and take care of additional tasks.

Woodworking conflicts with cooking, though, because we use the kitchen and there’s no point in cooking when sawdust is floating around. That’s okay. We’re at a “good enough” level in cooking, and batch-cooking lets us free up weekends.

Drawing helps a lot with woodworking, and woodworking helps me develop spatial intelligence for better drawing.

Looking at my other hobbies, you can see that writing, drawing, and presentations all feed each other. I’m not making as good a use of photography as I could, so that’s something to develop. All the hobbies that I actively work on are well-connected. In contrast, something like music doesn’t connect well with my other interests, so I rarely end up practising on the piano.

Picking hobbies that fit together means that you get more value for the time and energy you put in. The more you develop skills in one area, the more effectively you can do connected areas.

Another related post: How to do a lot


Short URL: http://sachachua.com/blog/p/7188

On getting started with collaboration

The hardest part of collaboration is getting started.

In the days and weeks and months before you have a critical mass of people on board, your progress can seem very slow. There’s a lot of resistance. People don’t trust your new initiative. They don’t see the value in changing their behaviour. They don’t see the value in working with you. I see that resistance a lot, whether I’m coaching groups on new collaborative tools or helping organizations learn more about changing business trends.

Building a new collaborative initiative is like making a big snowball. You start with a tiny core. You roll it around and around and around in the snow. Then suddenly it starts picking up new snow easily, and it gets bigger and bigger, and it gets easier and easier to roll. But in the beginning, you have to be very careful about using light snow and smoothening it into the right shape.

Here’s what I’ve learned from coaching individuals, teams, communities, and organizations on collaboration:

Find your champions. Don’t be discouraged if adoption is slow. In any group, you’ll find people who adopt new ideas earlier than others and people who influence other people’s opinions. Find those early adopters and influencers, help them make the most of your new tools, and collect and share their success stories. They will inspire other people to explore, and their examples will help other people learn.

For example, when I help a team learn more about wikis so that they can easily create a web-based knowledge repository, I don’t expect that everyone will contribute to the wiki right away. I look for the one or two people who already organize and share information for the group, and I work with them so that they can use the wiki to organize what they know. If other people find it handy, that’s a bonus. These early adopters and influencers help us convince the rest of the team to read the wiki. Over time, others may be inspired to edit and contribute to the wiki themselves.

Focus on immediate personal benefits. As much as possible, show people why your initiative is worth their time and effort. If you conduct a survey, share the results. If you build a discussion forum, make sure someone is responsible for answering questions. If you want people to read your blog, focus on sharing things of value to them. Help people get value from their participation as quickly as possible.

For example, when people start blogging, they often feel discouraged because they don’t get comments from other readers. That’s the kind of social benefit that comes later, after you’ve developed your network. I help people focus on saving time by using a blog as a professional notebook for remembering solutions and ideas, and I help them see that the practice of writing helps them improve their communication skills. Without that immediate personal benefit, many collective initiatives fizzle out.

Make sure you build compelling personal benefits into your initiative. Personal benefits will motivate people to participate, and then they’ll be able to take advantage of the collective value of their participation.

Fully participate in the conversation. Make it easy to give feedback, and show people that you’re listening. Keep people up to date as you act on their suggestions. Ask questions and reach out.

For example, IBM regularly runs large-scale Jams, which are brainstorming discussions across all of IBM. Seeing decision-makers participate in, respond to, and act on the suggestions raised not only energizes the discussion, but lays the groundwork for even more discussion and action in the future. On the other hand, traditional suggestion boxes that stay locked and unacknowledged can sap morale. As you collaborate with others, show people your progress and the results of that collaboration.

Find your champions, focus on people’s immediate personal benefits, and fully participate in the discussion. Good luck!


Short URL: http://sachachua.com/blog/p/7110

Weekly review: Week ending March 14, 2010

Plans from last week:

Work

  • [X] Help with re-run for Remote Presentations that Rock
  • [X] Branding / social marketing chat with IBM AU/NZ social media marketing folks
  • [X] Prepare collaboration presentation for UK workshop
  • [X] Finalize UK workshop travel arrangements
  • [X] Prepare for trip
  • Also: Sat in on two CIO meetings. It’s so awesome – other people think my work is useful and inspiring! =)
  • Gave presentation on microblogging using Lotus Connections Profiles. Encouraged information management team to use it as a virtual watercooler.
  • Facilitated discussion during presentation of industry business value assessment study
  • Participated in a great blog discussion around virtual leadership
  • Helped Rawn Shah edit his virtual leadership article for Forbes
  • Got David Ing, David Singer, Ted Tritchew, and Robert Terpstra’s advice on my career plans
  • Learned that Bernie Michalik found my to-do notation useful
  • Mapped what I want to learn
  • Had an awesome meeting with the Toronto Public Library – excited!

Relationships

  • [X] Explore more recipes
  • [  ] Sort out photography
  • [X] Host tea party
  • [X] Tidy up some more
  • Also: Inventoried and organized the freezer
  • Met wonderful people
  • Helped people work on their businesses
  • Supported W-‘s crunch time

Life

  • [X] Go for follow-up appointment with dental surgeon
  • [X] Recover from wisdom teeth extraction
  • Also: Back on normal food, yay!
  • Booked massage for next weekend
  • Adjusted my envelope system (divided investment fund into emergency, sabbatical, and opportunity fund)
  • Ordered a small lean-to greenhouse and other things for an even more awesome life
  • Experimented with ordering from GroceryGateway (convenient, okay produce, not happy with the asparagus, will probably go with No Frills most of the time)
  • Biked to work, yay!
  • Planted parsley and peppers
  • Switched over to daylight savings time

Plans for next week

Work

  • [  ] Facilitate workshop in Reading
  • [  ] Find role models in sales and distribution – for interest interviews
  • [  ] Have second career chat with my manager
  • [  ] Write personal business commitments and individual development plan =)
  • [  ] Share how to blog/share more effectively
  • [  ] Meet up with awesome folks in London
  • [  ] Prepare presentation for PresentationCamp in Toronto

Relationships

  • [  ] Send care package
  • [  ] Connect Jeff Muzzerall and Greg Gulyas
  • [  ] Keep in touch while in the UK

Life

  • [  ] Have proper British food
  • [  ] Plant peppers and peas
  • [  ] Blog even more
  • [  ] Explore podcasting or videocasting or writing briefer notes as a way to get more out there

Short URL: http://sachachua.com/blog/p/7113

Weekly review: Week ending February 14, 2010

From last week’s plans:

Work

  • [X] Support upcoming workshops by setting up Idea Labs and doing archetype presentations
  • [X] Braindump more of what I know at work
  • [X] Organize teleconference for people working in my neighborhood
  • [X] Give “Shy Connector” presentation to WITI audience
  • Added exploration workshop guide to wiki
  • Learned about issue maps
  • Braindumped my go-to people
  • Coordinated development of logo for training program

Relationships

  • [/] Try another restaurant
  • [X] Check out portrait photographers
  • [X] Hand-write invitations and include in care package
  • Also: Took cats to vet
  • Joined my godparents’ tea party
  • Had Chinese New Year dinner with W-‘s family
  • Made chicken pot pie from scratch
  • Prepared next week’s meals
  • Gave J- a warm gift
  • Read lots of books on marriage
  • Helped W- organize negatives

Life

  • [X] Sew more zippered pouches
  • [/] Sew wrap-around zippered pouch
  • [/] Work on Siargao scrapbook, really
  • [X] Send invitations for February tea party (end of month-ish?)
  • Practiced bay parking
  • Learned more Cantonese
  • Went biking

Plans for next week

Work

  • [  ] Use new training program logo where appropriate
  • [  ] Help team members send out Idea Lab invitations
  • [  ] Learn from IBVA team

Relationships

  • [  ] Bake more awesomes
  • [  ] Smoothen household routines

Life

  • [  ] Upload Siargao pictures to photo-book making website
  • [  ] Compare photo book to getting prints of favourite Siargao shots
  • [  ] Sew more pouches

Short URL: http://sachachua.com/blog/p/7066

Kaizen: WITI: The Shy Connector

Around 100 people attended the Shy Connector webinar I gave for Women in Technology, International. It was lots of fun!

What worked well:

  • You know, I might be on to something with this topic…
  • People liked the webcam, the interaction, and the visual approach.
  • The text chat was lively and there was plenty to talk about.
  • Quickly installing my own survey system let me get more feedback.
  • The Camtasia recording provided a useful backup for capturing the interaction images as well as the text chat.
  • Having shyconnector.com and theshyconnector.com helped.

What I can do even better next time:

  • Refer to interesting hats instead of funny hats. There’s nothing inherently funny about my cool Tilley hat, the word just got stuck in my head (nervousness?).
  • Have one of the said hats handy.
  • Use shyconnector.com instead of j.mp, as some companies block URL shorteners.
  • Have an announcement up on my blog to make it easier for people to find information.
  • Save the text chat before sending out the URL. InstantPresenter closed unexpectedly, boo!
  • I still lean towards LivingAnAwesomeLife.com instead of LivingAwesomely. LivingAwesomely feels a little abrupt.

Follow-up actions:

  • Write about thoughts from the text chat.
  • Prepare introvert guide to public speaking (must come up with catchy title: Two Hundred is Easier than Two?)

Short URL: http://sachachua.com/blog/p/7048

Microblogging talk

I’ve promised to give a short talk on microblogging for the knowledge and collaboration community (KCBlue) at work. Might be a good time to practice animation, too. =)

5 minutes: 750 words, 20 minutes: 3,000 words (throw pauses in there too)

Creativity loves constraints. I want to fit the core of my message into 5 minutes (approximately 750 words), with each “part” being 140 characters or less.

This will be a launching pad for discussion, which will take up most of the allotted time. I’ll switch to Q&A with a summary slide that includes Why and Beyond the Basics so that it’s easy for people to remember what they want to ask questions about. I’ll use five minutes at the end to wrap up, and I’ll post links and follow-up material in a blog post. I’ll collect e-mail addresses so that I can notify people when I’ve posted an update.

I plan to make hand-drawn slides for each of the sections, and maybe even animation if I get around to it. =)

—-

The Whys and Hows of Microblogging

Why use Twitter? Why update your status on Facebook or Lotus Connections? Let’s talk about why people microblog and how you can get more value out of these tools.

Don’t know whom to e-mail? Don’t have the time to write a blog post? Post a short, quick update that people can read if they’re there.

What can you fit in 140 or so characters? A single thought. A question. Maybe a link.

What can you get? Broad, rapid, almost real-time conversations, if you’ve got a good network.

Here’s what you can do to build that network, and why you’d want to.

  • Learning: Follow role models and learn from what they’re doing. Build the relationship by thanking them for tips and ideas.
  • Updates: Do your favourite stores post updates? Find out what’s on sale and when the cookies have come out of the oven.
  • Customer service: Good experience? Bad experience? Post an update and you might be surprised by who’s listening.
  • Events: Interested in an event? Find out who’s going and what people think. Going there in person? Meet up at tweetups and get to know more people.
  • Awareness: Miss those watercooler chats? Microblogging’s better. You can keep in touch with way more people, and you don’t even have to stand up.
  • Passing things along: Like what someone shared? Share the good stuff by re-posting with credit. Look at how people do it, and follow their example.
  • Sharing: Want to build your network? Make people happy and help them grow by sharing tips and answering questions.
  • Questions: Need a quick answer but don’t know whom to ask? Post your question and you just might get a tip. You’ll need a good network for this.

NOTE: No one expects you to read everything. Don’t get addicted. It’s okay if you miss people’s updates.

How to get started:

Twitter: Sign up on twitter.com. Look for people. Follow them. Reply when you have something to say. Share what you’re doing and learning.

Lotus Connections Profiles: Log in. Look for people. Invite them to your network. Reply when you have something to say. Share what you’re doing and learning.

There are more microblogging services out there. Explore. Find out what works for you.

Beyond the basics:

  • Apps: Use a microblogging client like Tweetdeck to make reading and posting easier. Explore and find out which tool fits you.
  • Cross-posting: Synchronize automatically, or use a tool to post on multiple services. MicroBlogCentral can handle Twitter and Lotus Connections Profiles.
  • Personas: Don’t want to mix work and life? Don’t want to overwhelm people with too many updates? Use multiple accounts to give people choices.
  • Group posting: Corporate brand? Team account? You can use tools to make it easy for many people to post to the same account.
  • Strategy: Where does microblogging fit into your strategy? Post quick updates and interact with people. Link to your main site in your profile.

Next steps:

Pick a reason why you want to microblog, and go for it. How can I help you make the most of these tools?


Short URL: http://sachachua.com/blog/p/6994

What can I help you learn? Looking for mentees

As awkward as “mentee” sounds (I feel like I’m looking for minty sweets), it’s the preferred word at IBM. Protégé smacks of the old boys’ club, I guess.

One of my priorities for 2010 is to share what I’m learning with even more people. The slow way is to reflect on what I’ve learned, write blog posts, and package that up as presentations and podcasts. The fast way is to find people who want to learn what I’ve learned (and am learning), braindump ideas in response to their questions, and make them responsible for writing up notes and further sharing what we’ve learned.

Mentoring people is much better than braindumping things on my own because:

  • We focus on what’s valuable to people
  • Questions prompt me to think
  • Questions mean I don’t skip over anything I haven’t explained well enough
  • Other people’s perspectives (like yours!) enrich the content
  • We can reach more people

Some of the things I’d be happy to explore through mentorship or peer-mentorship, roughly in order of interest (top interests first):

  1. Patterns and tools for community interaction through social media
  2. Presentation organization
  3. Presentation design
  4. Blogging (topics, editing/wordsmithing, exploration, general website ideas, but not technical help with WordPress)
  5. Presentation delivery (particularly remote)
  6. Visual thinking, notetaking, mindmapping, and information visualization
  7. Connecting and networking, particularly as an introvert
  8. Figuring life out, finding and following your passion
  9. Scaling up and getting better personal ROI on your effort
  10. Delegation, virtual assistance, outsourcing, and working with coaches
  11. Creativity and brainstorming
  12. Technology adoption and evangelism
  13. Editing and wordsmithing
  14. Productivity
  15. Cooking, baking, gardening, sewing, and other aspects of domestic bliss
  16. Getting on board as a new hire
  17. Getting used to life abroad
  18. Frugal personal finance
  19. Social networking (which tools to use when)

I can give occasional tips on Drupal and Emacs, but I’m not focused on Drupal development at the moment, and there are much more active Emacs geeks out there.

If you think of a topic that you’d like to learn about that you know I can help you with, suggest it too. =)

How it might work:

  1. Leave a comment on any relevant blog post with your question, use the handy contact form, or e-mail your questions to me at sacha@sachachua.com . No mentoring relationship required. =) I like questions! I get to think about them and blog what I’ve learned.
  2. Contact me with an introduction and what you’re interested in. I prefer to communicate through blogs, e-mail, or the phone (with blogs preferred the most). We can set up a 20-minute or 50-minute call and chat about what’s on your mind.
  3. If it turns out we’ve got lots to talk about and we mesh well together, let’s set up recurring calls and have an ongoing conversation. If lots of people have similar questions, it would be interesting to set up group conferences or a community so that we can all learn from each other.

“Pay me back” by sharing your thoughts and actions taken. =)  I don’t want ideas to disappear into single conversations. If so, I might as well just blog about it myself, and help way more people. Share as much as you can of what we learn. At the minimum, please send me your notes. Better yet, blog, podcast, videocast, or otherwise share what we talked about. We all win!

So, how can I help you or someone you know?


Short URL: http://sachachua.com/blog/p/6929

Weekly review: Week ending November 15, 2009

Work

  • Planned
    • Finalize the recording for the presentation
    • Prepare for workshop
    • Customize my benefits
    • Write user’s guide for community
  • Also
    • Started “How I learned to stop worrying and love the webinar” series, reflecting on virtual presentations
    • Suggested webinars for WITI
    • Submitted my personal business commitment results
    • Had lunch with my manager
    • Summarized rest of Idea Lab results
    • Helped fill a critical need for talent
    • Sent SIN card scan to IBM reference check
    • Set up the training community and the first call assignment
    • Shared our communication plan with others, connecting with the Collaborative Learning Community

Relationships

  • Planned
    • Make bathrobes Mostly there
  • Also
    • Picked up toasty fleece blankets
    • Helped with yard work
    • Baked a blueberry pie
    • Talked to my sister about Lucas

Life

  • Planned
    • Enjoy some more quiet
    • Keep biking to work
    • Get the paperwork ready for the permanent residency passport request Will have passport pictures taken next week
  • Also
    • Started tracking personal time in detail
    • Kicked off editing experiment
    • Reviewed all of my blog posts
    • Started drawing more
    • Tweaked my blog navigation

Plans for next week:

Work

  • Facilitate Innovation Discovery workshop in Boston
  • Facilitate tech prep call for training community
  • Support call #1 for training community
  • Update wiki links
  • Interview Jason Wild about working with the C-suite
  • Finish virtual presentation series

Relationships

  • Finish bathrobe
  • Tidy up around house
  • Bake another pie
  • Chat with Clair

Life

  • Send paperwork for permanent residency request
  • Summarize time tracking insights
  • Experiment with ways to make travel less stressful

Short URL: http://sachachua.com/blog/p/6834

The shy connector’s schedule: making time to breathe

hamsterwheelIt starts innocently enough. You’re asked to attend a meeting next Tuesday. You accept. Your coworkers invite you to lunch on Wednesday. You agree. A friend invites you to her birthday party next week. You put it on your calendar. Then another meeting invitation comes, and another, and another. Networking events, coffee breaks, and presentations crowd into your schedule.

If this has ever made you feel suffocated, exhausted, and in dire need of some alone time, you might be an introvert.

I know it’s difficult to say no to opportunities. I’ve accepted too many invitations and tried to attend too many events. Last year’s conference season was particularly stressful. The first week, I was in New York for the Best Practices Conference, giving a presentation on blogging. The second week, I was at the even bigger Technical Leadership Exchange in Florida, giving a presentation on Generation Y. By the time I got to the Web 2.0 Summit (which I was helping organize), I was ready to hide. (And I did, behind the podium.)

As much as I enjoy learning from people in conversations and conferences, needing to be “on” all the time is incredibly draining. I’m learning how to manage my schedule and how to say no.

It’s important to figure out what works for you. For example, I don’t want to be out late two nights in a row. In fact, I’d rather not be out late at all. This means that before I accept an invitation, I look at my schedule for that time and my schedule for the week, making sure that I’m not trying to pack too much in.

In addition to getting better at saying no, I’m also getting better at scheduling time for myself. I’ve blocked off time on my calendar for planning, working on important tasks, and responding to mail. Sometimes people still schedule meetings during those times, but in general, I can be sure that my day won’t be full of conference calls. I sometimes block off time during evenings and weekends for particular projects, too. If I’m going to travel for a workshop or a presentation, I want to have a quiet week before and after the trip, and I plan accordingly.

Does this limit opportunities compared to extroverts who are out there schmoozing? Maybe. But I’ve tried running in extrovert mode for extended periods of time, and I can’t do my best if I feel like I’m coming apart. Besides, the things I do in my quiet time—read, write, reflect—also help me connect with people, although in a more introvert-friendly way. It’s better to work with the grain instead of against it.

It’s important to make time to breathe. If you find yourself running ragged because you feel that you have to say yes to everything, stop and slow down. Schedule introvert dates with yourself. Make time for breaks. Say no. You’ll find that the quiet time you give yourself will make it even easier to connect with people when you do, because you’ll be happier and better rested.

What can you do to free up some time for yourself?


Short URL: http://sachachua.com/blog/p/6813

Brainstorming around Smart Work

IBM’s holding another one of its awesome collaboration jams (72-hour web-based brainstorming/discussion), this time on Smart Work.

I’m passionate about helping people connect and collaborate. All the topics highlighted are things I’m deeply interested in: teams, Gen Y, collaboration…. After I get through my 9-12 AM leadership development class (whee!), I’m looking forward to joining the Jam.

Anyway, I was inspired to make this:

There’s so much more to say, but I still have to figure out how to say it… =)

Join us for the Jam and/or the videocast! http://www-01.ibm.com/software/solutions/smartwork/virtual/


Short URL: http://sachachua.com/blog/p/6583

Garden updates

Our organic fruit, vegetable and herb garden is coming along wonderfully.

Garden

That’s about two-thirds of the garden. The other third would be the zucchinis, who have taken over the entire corner:

The most exciting news is that the tomatoes are beginning to ripen, which means that there will be plenty of salsa, bruschetta, and tomato sauce in our future. I’m particularly excited about the grape tomatoes, as the small tomatoes sell at a premium in supermarkets and are thus usually off our grocery list. The early tomatoes we planted are maturing first, and the grape tomatoes will follow in due course.

Tomatoes

Other small fruits are starting to appear. The 5-colour peppers and the green peppers are adorable!

Green
Purple

More exotic veggies are coming out, too. Here’s the edamame I planted in a pot:

and the okra:

We get enough basil for four good-sized servings of pesto each week:

Basil

(sage and parsley are in there too, too)

I’ve been snacking on beans, as we harvest so many of them:

Bush beans

The strawberries have made some runners, and I’ll figure out where to put them after we replace the tomatoes with a raised bed.

All the pictures:

Garden

Short URL: http://sachachua.com/blog/p/6518

Five hats

We picked up some lamps from Home Depot and used them to light a sheet of plexiglass. Here are the results of my experiments:

Hats

Short URL: http://sachachua.com/blog/p/6517

Weekly review: Weeks ending August 8 and 15, 2009

From the previous week’s plans:

  • Find ways to recognize the contributions people had made to the idea lab
  • Learn enough about Lotus Notes programming to create that sign-up button with referral tracking
  • Take the medical exam for my permanent residency application
  • Take another improv class (whee!)
  • Prepare another week’s meals
  • Chat with someone who’s interested in Gen Y and careers
  • Think about what I’d like to do for my 26th birthday =D

For the week ending on August 8, I also:

  • Made apricot syrup
  • Chatted with a mentor about influence
  • Got ready for a staycation

For the week ending August 15, I:

  • Reviewed my past year of blog posts
  • Reflected on relationships
  • Had a Skype party with my friends
  • Made jalapeno jelly and blueberry jam
  • Sent a care package home
  • Finished a new dress
  • Ordered some books
  • Wrote a Ruby program to extract my blog tags
  • Attended an improv class
  • Blogged a number of reflections
  • Facilitated a session on generational challenges
  • Had a facial. Still breaking out, though.
  • Organized my drawers neatly. Yay!

Next week, I plan to:

  • attend a class on presentations
  • make a Slideshare presentation on networking for introverts
  • write some more
  • bike every day
  • host a tea party
  • plant snow peas

Short URL: http://sachachua.com/blog/p/6515

Notes from the road

Providing consulting services in strategy workshops is a crash course in facilitation and presentation skills. Looking at the presentations and techniques that people have developed is awe-inspiring. The people I work with don’t do death by bullet point. They’re good at research and thought leadership, infographics and design, Post-It notes and presentations. Me, I rummage through my brain to try to as much value as I can with what I’ve read and learned about Generation Y, Web 2.0, and other topics, and I hope someday to figure out how to do things even better than the way people around me do. =)

If I think of the travel as just a really long commute, it’s not that bad. I miss W-, the cats, the garden, and so on, but I’m too busy to feel too lost. I don’t want to do this all the time because I like having a rich relationship with plenty of in-jokes, but short sprints should be fine. I’m learning tons about facilitation and presentation that I wouldn’t be able to learn on my own.

I’m nearing the end of my super-busy sprint, and I’ll have some time to get things sorted out, prepare, and make future workshops run even better.


Short URL: http://sachachua.com/blog/p/6447

Social Recruiting Summit: Awesomest Job Search Ever

UPDATE: Here’s the recording! =)

pre-session notes

This is a placeholder for “Awesomest Job Search Ever”, the talk I’m giving at the Social Recruiting Summit today at the Googleplex. It’ll eventually hold notes from the session, and if we’re lucky, a recording and a transcript as well. =)

I plan to tell the story about how I got to do what I do at IBM. The three points I want to make are:

  • Because the company learned more about me through my blog, they got a great sense of who I was, what I was good at, and what mattered to me.
  • Because I met so many interesting employees through their blogs and social networks, I really wanted to join the company. Relational onboarding was awesome, too.
  • Because we both knew more about each other than in a normal job search, we could create new opportunities.

I want to convince recruiters to take the following actions:

  • Help their companies and candidates learn how to use social media to tell stories and to connect.
  • Help people connect before, during, and after their job search process.
  • Look for ways to create opportunities that go beyond the typical job search.

Please feel free to leave comments with questions or further thoughts. You can also e-mail me at sacha@sachachua.com. Looking forward to hearing from you!


UPDATE: Susan mentioned that she found one of my presentations. That’s probably this one:

Another thing that you might like:

More presentations on Slideshare


Short URL: http://sachachua.com/blog/p/6358

Sewing, or on soldiering on

It’s amazing what a difference a hemline makes.

I hand-basted most of the hem so that I could ease it to lie flat. I ran out of thread three-fourths of the way through. I really wanted to sew it already, so I didn’t bother with the remaining quarter. After I trimmed the excess material, I hemmed it with my sewing machine, and I put it on.

And I’m happy with it!

Maybe it’s just that I’ve had more time to get used to the idea of the dress. It’s blue (not one of my usual colors) and has a somewhat dropped waist (not one of my usual silhouettes). My seams are still crooked, and I haven’t yet bothered to put the hook-and-eye above the zipper.

But it’s a dress, and it’s mine. =)

I tied the ribbon around my waist and dashed upstairs to show W- and J- before W- tucked J- into bed. Both of them cheered as I twirled around. I had told J- the pot story after dinner, and it was–well–fitting that I follow it up with an unexpectedly happy twist. I had been prepared for the possibility that this was going to be Just One Of Those Attempts (like the gray wool jumper I have to figure out how to tweak), but the dress actually makes me smile.

Must be the exceedingly cheerful glittery butterfly print. ;)

Pictures tomorrow or Sunday. I’ll ask W- to take them when there’s light out.

ANYWAY, on to the next dress, which will be my first experiment with borders…

I’ve been thinking about taking classes, but class fees can buy a lot of fabric. =) Maybe I can sit in on some classes to see what they’re like first. Anyway, I’m happy and I’m learning a lot.

On soldiering on: I’ve noticed that if I keep sewing, the project often turns out better than I thought it would be during the process. Red jacket, this dress… Lesson learned: sometimes I just need to keep soldiering on until the big picture reveals itself!


Short URL: http://sachachua.com/blog/p/6264

I am a young shock-worker

Tania Samsonova pointed me to this Russian-English language book because of its amusing stick figures and hilarious dialogue. To wit:

How do loafers live?
At work they steal pencils.
In parks they conduct themselves badly.

I laughed when I saw this dialogue:

- Who are you?
– I am a young shock-worker.
- What does that mean?
– That means that I work with enthusiasm.
- The public wants to know why you work with enthusiasm.
– I like to work with enthusiasm. I am a young shock-worker.

Thanks, Tania!


Short URL: http://sachachua.com/blog/p/6262

Refuse to Choose: or life is a many-splendoured thing

One of the things people pick up on right away, whether it’s from a five-minute conversation or a glance at my business card, is that I’m passionate about what I do.

What I do, however, may change, and that’s totally okay.

Whenever I feel guilt about things I’ve left behind, I should reread Refuse to Choose, which has lots of terrific insights into what it’s like to be one of these people with multiple passions. It’s okay to move on to other things. It’s okay to revisit things. It’s okay to explore and have fun.

Whew! That feels better already.

Refuse to Choose proposes this useful four-step system: Learn, Try, Teach, Leave. LTTL. I’ve been doing this all along the way, compressing Learn-Try-Teach into a quick cycle by blogging along the way, so that I can Leave when I feel like it.

I’ve been interested in many things over the years. Here’s a short list of interests and skills:

  1. Computer programming: Started in grade school, went on to join and win programming competitions in high school and university, and continue to do a lot of programming today
  2. Open source: Started contributing to projects in university, went on to maintain some packages, and have since then scaled back my direct open source contribution because of intellectual property guidelines at work. I currently use a lot of open source systems to build applications, though, and I continue to write about it.
  3. Wearable computing: Started looking into this in third year university, went on to do my fourth-year university research project in this area (receiving quite a bit of media attention and one research prize along the way), used many of the ideas when I was in Japan, and have since then let it lapse.
  4. Computer science education: Started coaching my classmates in university. I went on to teach. I presented ideas for improving computer science education at a national conference, and several of my exercises were picked up by other teachers at my school and in other schools. I’m not in the academe at the moment, but I still teach people in a way.
  5. Emacs: Started in university,  went on to contribute source code and maintain modules, became an op on the #emacs channel at irc.freenode.net, gave well-received presentations like Livin’ la Vida Emacs (DemoCamp10), wrote four-ish chapters of a book on Emacs, then got distracted by other cool things. I still use Emacs to write code, but I haven’t been customizing it lately.
  6. Personal information management: Started learning more about this because I was maintaining Planner, went on to help people develop all sorts of cool stuff, then turned over community and source code to a new maintainer
  7. Web 2.0 and Enterprise 2.0: Started doing this because of my interest in social bookmarking, went on to do my graduate research in this area, became a subject-matter expert and most valued ambassador within the company, continue to coach people and organizations on this
  8. Managing virtual assistants: Started a little over two months ago and have quickly gotten to the point where I’m helping other people figure this out.
  9. Drupal: Started in early 2008 because of projects at work, went on to becoming one of the subject matter experts in the company, gave well-received presentations on development processes, and am now building systems and coaching people on how to use this.
  10. Public speaking: Started in third year university at technical conferences, went on to keynote conferences. Now reaching out and helping other people improve their communication skills, and enjoying experimenting with techniques.
  11. Gen Y, multi-generational workplace: Started reading and talking about this because it kept coming up at work. Now a subject matter expert within the company.
  12. Technical writing: Occasionally write documentation. Also got four chapters into writing that book about Emacs.
  13. Copywriting: Started reading about this when I was a kid. Occasionally write marketing materials.
  14. Sewing: Started a couple of months ago and am slowly building up a wardrobe of amateurish clothes.
  15. Biking: Learned how to bike when I was a kid. Stopped biking for a while. Got my own bike a month ago. Now lovin’ it.
  16. Art: Had art lessons as a kid. Nothing fancy, just drawing. Now drawing stick figures, occasionally posting them on my blog or sneaking them into my presentations.
  17. Piano: Took piano lessons as a kid. Didn’t like them. Now teaching myself how to play the piano, and liking it. When I started picking my own music and schedule, things got much more fun. =)
  18. Theatre: Everyone did theatre in grade school. I loved it, and went on to take a theatre workshop that summer. Haven’t done anything with it since, although have toyed with the idea of trying out improv. One of my mentors seems quite happy with it.
  19. Chess: Started in grade school, went to summer camps, played on the chess varsity from grade 4 to first year university, stopped because programming competitions took more training time.
  20. Photography: Started really looking into this a year ago or so. Occasionally take pictures, set up lights, etc.
  21. Event organization: Played around with this with LifeCampToronto and tea/dinner parties. Tend to switch between liking events and going into introvert mode. Like hosting events more than organizing them.
  22. Screen printing: Briefly flirted with the idea of screenprinting, but didn’t go far with it. Bought the kit, didn’t use it for much.
  23. Calligraphy: Toyed with this idea after receiving prettily-inked letters from Quinn. Bought a nib, read some books, haven’t pursued it further.
  24. Typography: Learned about making fonts, installed the software for making fonts of Linux but haven’t gotten around to actually making one.
  25. System administration: Started in high school, when my computer teacher introduced me to Linux. Still handle little sysad-type tasks for our team.
  26. Web development: Started in high school. Primarily focused on back-end development, although I’m picking up Javascript now.
  27. Languages: Learned Japanese, passed proficiency test. Occasionally pick up snippets of other languages in preparation for trips.
  28. Poi, diabolo, and other street performances: Started when my sister taught me, then went on to learn more about the diabolo, staff, devilsticks, and other things. Helped my sister do some professional gigs with fire poi. Singed my hair once. ;) Hardly do this now (not because of the hair thing, mind you).
  29. Crochet: Started in grade school. At one point, was even crocheting in class. Haven’t done it much since then.
  30. Singing: Joined the UP Singing Ambassadors’ rehearsals, joined my dorm’s choir, had singing lessons, and joined a U of T jazz choir too. Haven’t done much with this since then, although singing in those groups was lots of fun.
  31. Gymnastics: Did this when I was a kid. Loved the uneven bars and the trampoline. Couldn’t get the hang of doing backwalks on the floor – my arms would always give. Haven’t done anything with this since then
  32. Yoga: Started doing this a year ago. Enjoyed doing this with W- after krav maga, but then the gym I was going to cut down on the frequency of their yoga classes, and we decided to spend our exercise time elsewhere.
  33. Krav maga: Doing this with W- was a lot of fun. Haven’t been to that gym lately, though.
  34. Trapeze: This was tons of fun. I tried the flying trapeze and liked it, then found a static trapeze class and went to it. I stopped when the instructor stopped teaching, and haven’t looked for another place to take it. We’ve put in a chin-up bar, though, so I can work on my core muscles until I’m ready to take this again.
  35. Cooking: Love doing this with W-. =) Baking is lots of fun, too!
  36. Ballroom dancing: Started doing this in high school (swing, boogie, cha-cha). Took this in university, enjoyed it.
  37. Tango: Joined U of T tango club when I was in graduate school, got dancing shoes, enjoyed went to milongas, stopped dancing after a while. (Got busy with other things.)
  38. Renaissance dancing: Started because U of T tango club head was also into renaissance dancing and she needed some people for her group. Enjoyed learning the steps, dressing up in costumes, learning how to work with a hoop skirt. ;) Participated in public performance, then stopped. This was fun, though!
  39. Swing dancing: Tried out the Charleston at an event organized by the U of T Swing Club, and before that, danced a bit at Isaac Ezer’s party. Love the cardio and the rhythm; may pick it up again sometime.
  40. Gardening: Started when I was kid, trying to grow mung beans and salvia on my parents’ windowsill. Lugged home tea roses in high school. Tried to start a herb garden in a planter box when I was in Graduate House, but neglected it. Grew rosemary and sage quite happily in 2008. Now working on a proper herb and vegetable garden! (Update: June 18, 2010 – garden is wonderful!)
  41. Woodworking (Spring 2010): After W- and I built a chickenwire cage to protect the garden from squirrels, we got interested in making boxes and furniture.

And the intersections between those interests are tons of fun.

I’ll have many more interests in the future, and I’ll move on from my old ones. It’s all good. =)


Short URL: http://sachachua.com/blog/p/6257

Thank you, Lotus forums!

I started panicking when Lotus Notes 8.5 wouldn’t show me my mail. Everything else worked, but when I went to my e-mail, my folder hierarchy and my inbox just wouldn’t show. I tried rebooting Lotus Notes 8.5 several times, and I even rebooted the entire computer.

No joy.

Then I noticed an error message in the terminal. It said: SEVERE CLFNM0003E: Error getting outline actions for navigator (and so on).

When I looked for that string, I found one hit – which was a perfect fit for the problem.

The recommended fix was to get rid of bookmark.nsf. I moved it from ~/lotus/nodes/data/bookmark.nsf to a temp directory and restarted Lotus Notes.

Now my mail works again. HOORAY! Thank you, Internet! =)


Short URL: http://sachachua.com/blog/p/6255

Sewing: Of sewing more dresses and making more pots

After I sewed the zipper on the Vogue 8020 dress I made using the butterfly blue fabric from Fabricland, I checked the fit in the mirror. I was beginning to think that the dropped waistline that hovered about my hip wasn’t the best place to put it. I tried smoothing my crooked seams, but they refused to behave. The more I looked at the dress, the more I noticed all the little things I needed to fix.

Then my happy-do defense mechanism kicked in, and I realized I was letting myself do negative self-talk. I focused on the positives instead. The dress was wearable, the fabric was pretty, and my friends would let me get away with amateur creations. =) It was my first time to make a dress with princess seams or a dropped waist, and I was happy about how the princess seams in the bodice turned out. And the blue ribbon was a nice touch, although other accents might be more practical in a house with two cats.

I told W-, “Sewing is good practice in celebrating the small wins.”

He said, “Everyone starts somewhere.”

I said, “It’s all about throwing more pots.” I started telling him the story. It turned out that he already knew the story. But you might not yet, so here it is:

There’s a story about a pottery teacher who divided the class into two groups. A student in one group would be graded based on the quality of one pot that they turned in at the end of the semester, while a student in the other group would be graded based on the sheer number of all the pots submitted throughout the semester. At the end of the semester, students in the second group–those measured only on quantity–had produced better pots than those who had focused on quality. In the process of creating a large number of pots, the second group had learned from their mistakes, while the first group had been paralyzed by endless theorizing about what a perfect pot would be.

Go ahead. Make mistakes and learn from them.

Here’s pot #4:

V8020 in butterfly blue

I’m going to hem this dress, and then I’m going to practice straight and curved seams on some scrap cloth, and then I’m going to work on that white embroidered-border dress. I’m going to fill my wardrobe with clothes I’ve made. Over time, the quality of those clothes will just get better and better.


Short URL: http://sachachua.com/blog/p/6253

Reflecting on public speaking and my talk management system

As I was describing my talk management process and goals in an e-mail to a potential mentor, I realized I’d come pretty far from where I started in public speaking. Here’s what I have (and therefore, what I can help people learn about). I have:

  • A talk information template I send to organizers: This helps me remember to get information about due dates, available equipment, audience size and characteristics, travel directions, and so on. It also lets me ask if there’s a budget available without feeling weird. =)
  • A spreadsheet that I use to calculate due dates for my talks, and a process for getting those deadlines into my task list
  • A process for getting that information into my calendar as well, and a way for someone else to double-check the details
  • A spreadsheet for tracking my personal ROI for public speaking, and some thoughts on how Web 2.0 helps me create even more value (diagram)
  • Several presentation styles I have fun with (http://www.slideshare.net/sachac/slideshows)
  • A process for editing the recordings, transcribing my talks, and checking my words-per-minute ;): some notes
  • A filing system and naming conventions so that I can store my presentations and related resources on my hard disk (archives/year/yyyymmdd-presentation-title)

Here’s what I’m working on now:

  • I’m experimenting with using Zotero, Evernote, and del.icio.us to find a good way of keeping track of web research.
  • I’m also looking forward to using storyboarding and illustration to improve the information organization and visual design of my presentations.
  • I’m working on slowing down to 140-160 wpm and trimming even more ums and ahs so that I need to do less postprocessing for clarity. =)
  • More templates for supporting material
  • And who knows, maybe I’ll even find a smooth workflow for synchronizing images with audio, possibly including video, and uploading the presentation.

Over time, I’ll also learn more about organizing my own speeches and events, and working with other speakers.

My goal is to be able to help inform and inspire people by consistently preparing and delivering engaging presentations, whether in person, over a teleconference, or as a recorded presentation (that’s tough!). I’ll know I’ve achieved it when I can give a presentation once a week or once every two weeks that makes lots of other people and me smile, learn something useful, and get moved to action. I would like to give 100 talks over the next 3-5 years, and I can also measure my progress based on the number of testimonials I collect.

I enjoy public speaking. Public speaking (complements the other things I do), and applying the principle of relentless improvement to it is a lot of fun as well. =)


Short URL: http://sachachua.com/blog/p/6112

Quarterly review: Q1 2009

In The Periodic Review, Part IV, Stephen P. Smith gives a handy quarterly review checklist that includes:

  1. Review 3-5 year goals
  2. Review career goals
  3. Review purpose
  4. Review lifestyle

which I will rearrange a bit, because this makes more sense to me:

  1. Review purpose
  2. Review career goals
  3. Review 3-5 year goals
  4. Review lifestyle

Purpose

I’m passionate about:

  • helping people connect and collaborate
  • experimenting and learning more about life

which is really one passion: helping others and myself be the best we can be through tools, processes, and connections.

Some key ideas that support that passion:

  • Think, do, reflect, learn, share
  • Create as much value as I can
  • Find ways to scale

No significant change in principles from last quarter. I’m getting better at experimenting and scaling, though! =)

Career

There are lots of different paths I can take so that I can eventually fully express those principles. =) No matter which path I choose, I hope to grow into a position where I can create opportunities, help lots of people grow, and continue to have the time and space to experiment with interesting tools and processes. This is basically my current situation, but on a bigger scale.

From conversations, it doesn’t seem as if I’d like the high-powered corporate executive path, although I’m open to being surprised. ;) I can probably do well as a professional, and I would probably also do well as an entrepreneur. I’d like to keep my technical skills (building tools is a lot of fun!), and I want to learn how to build processes that help others be more productive.

Personal projects that can help me advance my career goals are:

  • Help more people learn about Drupal and other tools we use to build systems. I’ll have accomplished this when I can build a body of knowledge that helps other developers get so good that working with them is a real pleasure. =) Next action: Write about my development and deployment processes.
  • Improve my remote presentation skills and help others improve theirs. I’ll have accomplished this when I can consistently prepare and deliver engaging, interactive remote presentations and engaging recorded presentations. Next action: Give a presentation that falls within the 140-160wpm range.
  • Keep experimenting with coordination and delegation through personal projects. I’ll have accomplished this when I can create complex personal projects with help.

3-5 year goals

Among my 3- to 5-year goals are:

  • Exercise every day for at least the recommended time. This is a good thing. Next action: Bike!
  • Get my permanent residency in Canada. Next actions: Print out two copies of that last form, double-check my application, print out my education history, and send my application package in.
  • Establish a good crazy idea opportunity fund. Next action: Continue to save. (I’m ahead of schedule, yay!)
  • Every day, wear at least one thing I’ve made. Just for fun. =) Next action: thread-trace the seamlines and markings for the two blouses I’m making.
  • Give 100 talks. Why not? =) Next action: Prepare for the next one, and brainstorm some other things I’d like to talk about.
  • Connect 1000 dots. Make at least 1000 introductions or referrals between people, ideas, tools, processes, and other ways to help make things happen.

Lifestyle

My lifestyle is fairly frugal, although there are some things I spend on that other people might not, because I think it’s worth it. For example, my experiments with delegation have been very interesting! =) My roles and responsibilities are in line with what I want and with the lifestyle I have, although I’m looking forward to finding ways to be more present and more thoughtful, because that’s fun too. Key positive changes I’d like to make to my lifestyle this quarter: use my bike more often, take advantage of the warmer spring/summer weather to play catch, and gradually make more and more clothes for my wardrobe. Ooh, and make time for more dot-connecting!

=)

UPDATE: You might also find these links interesting:

Monthly review: March 2009
Monthly review: February 2009
Monthly review: January 2009


Short URL: http://sachachua.com/blog/p/6108

DrupalCon 2009 Recap

Quick notes on sessions I attended

Building APIs that Rock
By: Jeff Eaton
Links: Slides, Video
Talked about the importance of making it easier for other modules to use your code (not just users through the Web interface); showed an example of using hooks for ultimate flexibility. Key takeaway: Try building your module as an API, then layer a user interface on top of it (ex: Views). Also, puppets!

Keynote: The State of Drupal
By: Dries Buytaert
Links:  Video , Text Outline
Drupal community, code growing exponentially. Next steps: Connecting data

Totally Rocking Your Development Environment
By:  Sacha Chua
Links:  Video, Installation Profile
I had a lot of fun learning from people’s tips, too!

Handling Asynchronous Data with Drupal
By: Josh Koenig
Links:  Video, PDF Presentation
Key takeaway: Use Drupal.behaviors to attach contextualized Javascript code. Also, you can write data to files in order to make polling more efficient.

Advanced Theming Techniques
By: Trevor Twining
Links: Video, Slideshow
Most of the presentation was about how to define subthemes and extend something like Zen.

Business Analytics with Views
By: Irakli Nadareishvili
Links: Video, Slideshow
Ooh, pretty charts. Key takeaway: look into charts and views_charts modules for integration with Google Charts and other charting engines

Boosting Our Raw Capacity to Provide Drupal Training
By: Sean Effel
Links: Training Models, Notes from Audience
See my notes at http://sachachua.com/wp/2009/03/05/drupalcon-day-1-notes-and-links-from-march-4-2009/ . Key takeaway: Core training has lots of common ground, but then need to customize training for skill level / needs; group clinics/workshops handy

Building Infrastructure You Can Scale, Monitor and Maintain
By: David Strauss
Links: Video
Great slide breaking down flow of traffic to rough percentages. Key point: adding more components is easy (content delivery network, reverse proxy, etc.), but adding more than one component (ex: multiple database servers) is harder. Coherency issues, replication issues, etc. Try to minimize dynamic pages.

When Efficiency and Manageability Matter, Drupal at Scale,
By: Scott Mattoon
Links: Slideshow, Video
Left this session after a short while, as it seemed to be mostly about Sun tools.

Powering Collaboration in a Distributed Enterprise

By: Dan Karran
Links: Video

Interesting demo of a featureful Drupal site used on the intranet. Check out their auto-saved drafts.

Drupal Patterns: Managing and Automating Site Configurations
By: Chris Bryant
Links: Slideshow, Video
Patterns allow you to bring in groups of functionality. Interesting: can publish and share patterns. No support for change management yet.

Staging and Deployment – A Panel Discussion
By: Greg Dunlap
Links: Video
Deploy and db_scripts look interesting. Also, I promised to upload my .install file snippets…

Why I Hate Drupal
By: James Walker
Links: Video
Good stuff. Interesting contrast to kumbaya keynote: contrast of Drupal’s growth with Sharepoint, WordPress, and Joomla.

Advanced Drupal Security
By: Neil Drumm
Links: Video
Went through key parts of Drupal security handbook. My takeaway: use session_save_session(FALSE); when changing global $user;

Selling Drupal Services
By: Neil Giarratana
Links: Video, Slideshow
Lots of tips about the business side of it. Key takeaway: RFP process is inefficient; try partnering up with agencies instead, so you can build on relationships

Project Management For Fun and Profit
By: Crystal Williams
Links: Video
Not much new here if you’ve managed or worked on projects before

How do Drupal, Joomla! and WordPress Stack Up?
By: Amy Stephen
Links: Video
Didn’t go into an in-depth technical comparison / benchmarking

Token: The Little API That Could
By: Greg Knaddison
Links: Video
Walked through how Token module works, how to implement your own tokens

Sessions I wish I also attended

JQuery, Dmitri Gaskin Links: Video
Drupal and the Geospatial Web, Jeff Miccolis Links: Video, Notes from Audience
Optimizing your LAMP stack for Drupal, Eric Mandel Links: None
Learning jQuery UI, Richard Worth Links: Video
SEO & Drupal: Search Engine Optimization Tips, Tricks and Best Practices, Gregory Heller Links: PDF Slideshow, Video
Building advanced social networks at a large US University, Kyle Mathews Links: Slideshow, Video
Building a Frankenstein monster and how to maintain it, mortendk Links: Video
Front End Performance – Make Your Website Lightning Fast, Konstantin Käfer Links: Video
Communicating Data Online: Data Visualizations and Open Data, Eric Gundersen Links: Video
Project Flow and Tracker: From business objects and user stories to test-driven Drupal based website application, Victor Kane Links: PDF within page
Scaling Drupal using Amazon Web Services (AWS), Frank Febrarro Links: Video , Slideshow
Drupal Process Management, Drew Gorton Links: Video
The Business of Open Source, Liza Kindred Links: Video
Quality Assurance and the Drupal Development Process, Fen Labalme Links: Video, Slideshow
Inside Drupal Caching: From Static Variables to Memcache, John VanDyk Links: Video

Note: Thanks to Ana Macatiag for all these handy links! =)


Short URL: http://sachachua.com/blog/p/5906

Luke looking up

Luke looking up


Short URL: http://sachachua.com/blog/p/5761

Diminishing returns on cat affection

Cat influence on happiness as a function of proximity, with maximum value at 'on lap' configuration

Click on the image to view a larger version.


Short URL: http://sachachua.com/blog/p/5620

Travel tips

Here’s a braindump of tips for making frequent travel more fun:

  • Learn a little of the language and culture. Look up interesting phrases. Check out a city’s attractions. Read some of their news. I usually check Wikitravel before I go to a different city. If a different language is spoken there, I’ll use Pimsleur or Web-based resources to learn a bit of it. It’s good mental exercise, and you’ll appreciate the place more.
  • Get to the airport early, and plan to do some offline work while waiting. Most airports will have power adapters, so you can still work on your computer. Internet connection may be spotty or expensive, though. Getting to the airport early beats worrying about traffic.
  • Pack light. Really light. Carry-on-only light. If you can avoid checking things in, you get into and out of airports so much faster. You can take advantage of the web or kiosk check-in and you don’t have to stand in line in order to drop your bags off. You can zoom out of the airport without standing around at the baggage carousel. Oh, and you don’t have to worry about lost luggage, either. It helps to have a backpack or a small rolling suitcase, and a large purse or a convertible bag (backpack / shoulder bag). Watch out for sizes. Some regional flights have under-seat spaces just a bit smaller than the standard carry-on rolling suitcase, and the overhead bins are very small. Elle sells a rolling suitcase that fits snugly under the seat on those small regional airplanes.
  • If you’re carrying two bags, try to get on the plane early. Overhead bins tend to fill up because people use those instead of putting their things under the seat in front of them. If you get in early, you can put your stuff into a bin close to your seat. If the bin next to your seat is full, put your stuff into a bin closer to the exit, so you can grab it on the way out. Do this before you reach your seat, because it’ll be difficult to go back with all the people coming into the plane.
  • Bring a jacket or a sweater on the plane. Cold flights are no fun. If you have an extra layer or some other soft thing, you can also fold it up for lumbar support. If your back tends to ache during flights, putting a folded sweater in the small of your back can help a lot.
  • Wear socks or travel slippers during your flight. You may be asked to take your shoes off during the airport security scan. Clearly, socks are a good thing. Also, your feet can get pretty cold in-flight, and socks can go a long way towards flying more comfortably. Travel slippers are great because they’re a bit sturdier and not as tight as socks, making it easier to walk around in the cabin or sleep in your chair. If you don’t have travel slippers, socks or sock slippers will do in a pinch.
  • Drink plenty of water. It’s easy to get dehydrated on long flights. Ask the flight attendants for water at least once an hour. You can ask them to pour you two glasses. You could also try bringing a wide-mouth water bottle and asking them to fill that, although I’ve never tried it myself.
  • Get some exercise. Get up and stretch your legs. Drinking plenty of water tends to help with this, as does picking an aisle seat so that you don’t feel guilty about waking people up.
  • Bring noise-isolating earphones. You can usually plug them into the airplane’s sound system. Use them to block out most of the noise from crying babies or  indicate that you don’t want to be disturbed.
  • Build in some breaks. It’s too easy to spend all your time doing business when you’re on a business trip, simply because there’s nothing else to do. Try to spend some time wandering around and enjoying the place you’re going to.
  • Meet up with friends whenever possible. Having dinner with friends makes business trips a lot more fun. Staying over with friends beats interchangeable business hotels any time. =)

More? =)


Short URL: http://sachachua.com/blog/p/5617

Happy BlueDay to me!

Today is my one-year anniversary at IBM! Yes, I know, I’ve been on the IBM network for a couple of years now, but I was a graduate student then, and before that, I taught university-level computer science. This is my first year outside the academe and my first year working with IBM, so I’m going to take this opportunity to look back, celebrate what I’ve learned, and celebrate the people who made this possible.

Over the past year, I’ve grown tremendously as a developer. I learned how to develop on the Drupal content management platform, and I’ve contributed back to some of the modules we’ve used. Applying the principle of relentless improvement, I invested time in setting up unit tests and functional tests, creating build and deployment tools, integrating the tests into the deployment script, and managing multiple branches of source code. I also acted as the system administrator for our project, developing installation scripts, setting up multiple testing and production environments, and keeping them running. I’m a much better developer now than I was one year ago. I’m looking forward to growing even more. Thanks go to Robert Terpstra and Ted Tritchew, who arranged my first Drupal project; Jennifer Nolan, who worked with me on my first and second Drupal projects, and from whom I learned a lot; Daniel Kumm and Kamran Khan, who gave me that second Drupal project where I learned how to really rock it; Stefan Nusser and the other Drupal-using folks in IBM; Waclaw Ferens, whose CSS skills helped me avoid the frustration of cross-browser coding and just focus on the code I really liked to do; and the tons of open source developers out there who shared not only their code but also their insights on how coding can be done better. Yay!

I also grew a lot as a speaker. This year, most of my presentations were about Web 2.0, Gen Y, or social networking. While helping another IBMer, I stumbled across a distinctive personal style of hand-drawn illustrations that resonated with people. Applying that style, I won a category prize in Slideshare.net’s worldwide Best Presentation Contest, delighted senior-level clients, and helped many people think of IBM as just a little bit cooler and more creative. I’ve spoken at numerous conferences and delivered part of two keynote speech, one of which was in front of 700 people. I’ve delivered remote presentations that informed and energized people. I’ve participated on panels, facilitated workshops and brainstorming sessions, and even helped organize conferences. I’ve presented to fellow new hires and to IBM’s technical leaders, to internal teams and to our clients. Presenting teaches me a lot about a topic, and I enjoy making things easier to understand. I’m looking forward to even more presentations, particularly when that intersects with my consulting. Thanks go to all the people who gave me opportunities to speak and to learn from other people, to my manager for being fairly liberal when it came to travelling to speak at conferences, and to the wonderful people who listened to what I had to share (and especially to those who gave me a high rating afterwards ;) ). Particular thanks go to Laurie Friedman, who nudged me to figure out a way to explain to Gen Yers coming out of college that Web 2.0 _does_ work at work.

I haven’t been doing as much Web 2.0 consulting and coaching as I’d like, but I’ve been able to help a few clients learn more about Web 2.0, incorporate the concepts into their strategy, and learn how to use these tools more effectively. My youth and my lack of industry experience means that many clients and account teams feel more comfortable with the more senior consultants on my team. However, I occasionally get to offer a Gen Y perspective, pitch in for others, or help with background work such as doing industry scans, brainstorming ideas, or capturing the discussion. I’m good at that work, though, and I can see how it adds value. I also help connect the dots, bringing opportunities into my team and helping my team members find resources throughout the company. I can get even better at this by exposing myself to more ideas, by exploring clients’ interest in Gen Y and collaboration, and by developing marketing materials for my team. Thanks go to Aaron Kim for getting me into this terrific opportunity and for encouraging me at every step of the way; Robert Terpstra, for giving it a try and bringing together this team; Bernie Michalik and Jennifer Nolan, for guidance and good examples; Jenny Chang and Tom Plaskon, for helping our team grow; Jennifer Okimoto, Pauline Ores, Kathryn Everest and all the others who sent insights and opportunities our way; the account teams we’ve worked with; and the clients who figured we had something good to share. (And we do!)

I’ve helped a number of IBM communities, teams, and individuals. Again, I’ve not been able to do as much as I’d like (still no New Bee’s Cartoon Guide to Web 2.0 at Work), but I’ve tried to make sure that people could reuse as much as possible. Next year, I’d like to not only help put together that guide for new hires, but also make it part of the new employee orientation process, link it up with all the new hire groups and campus hire groups, and set up mentoring and reverse mentoring relationships among many people. Thanks go to the totally awesome Web 2.0 evangelists; people all over IBM who are interested in learning about these new tools and who keep us busy; to the new hire network AS Foundations which made IBM feel even more welcoming; to the new hire networks and the other people around the world that I’ve had the pleasure to reach; and to everyone who, through blogs, other social computing tools, e-mail, or instant messaging, shared their insights with me and mentored me.

I’ve been really lucky to learn from and share what I’m learning with lots of people. I’ve not only been able to post chunks of what I know, but also learn from other people’s contributions and get a sense of the value I’ve created and passed on to others. I’m thrilled that I’m one of the top contributors, and I’d love to help more people contribute there and on our other tools.

It hasn’t been a perfect year. I’ve seen a number of my mentors and role models leave for other companies, and that frustrates me. I’ve heard some of the difficulties encountered by fellow new hires and experienced IBMers, and that frustrates me, too. On the plus side, I’ve been glad to share my energy and enthusiasm with lots of people, and I’m glad I’ve helped some of the people I look up to remember why they enjoy their work. Many people have returned the favor, including David Singer, who shared a great perspective on the bigger picture.

When things get really bad, there’s always getting a hug from my partner. He’s awesome. And we have a cat who loves giving massages. My parents and I have worked out the distance thing, I think. People in IBM are amazing, too, and there are even more people and things outside IBM helping me find energy and happiness when I have one of those maybe-I-should-start-my-own-company days. ;)

And of course, there’s so much more I won’t be able to fit into this already-long blog post… but thanks. =)

What an amazing year. I’m looking forward to the next one. I would love to keep myself booked doing things I love: developing quick community sites using Drupal and other open-source platforms, helping people learn more about Web 2.0, brainstorming ideas, developing strategy, designing and implementing systems, and coaching people and groups.

There are also a number of things I’d like to help do in order to help make IBM a better place. I want to see the campus hire and new hire networks around the world linked up (maybe even recognized as a formal diversity group?) so that we can share resources, get representation, and make it easy for people to bounce ideas off us. I want to help put together different guides to Web 2.0 at Work that can be incorporated into the new employee orientation process or into the community-building cookbook. I want to put together a set of conference social networking tools that’ll help people make the most of those face-to-face or virtual get-togethers. I want to teach everything I’ve learned (or at least capture it somehow) so that I can understand it better, so that I can share it with others, and so that I can go and learn even more. There are a lot of things I want to do, but there’s plenty of time, and there are plenty of people who are passionate about similar things who can help make it happen.

At the end of it all, I want to be someone who’s contagiously happy: someone who loves her life _and_ her work, someone who helps other people be happy with their life and their work, and someone who’s making a difference in people’s lives. I’m already like that, on a small scale, and I look forward to growing.

So that’s what my year’s been like (fantastic!), and that’s what my next year will probably look like. Why am I sharing all of this with you? Not just because I’m patting myself on the back – although I literally do that even for small victories, as it’s fun to celebrate the small things… Here’s why:

  • There’s so much to share and not enough time to share everything, so if you’ve come across something I know that you’d like to know as well – ping me or leave a comment!
  • I’d love it if you spent some time reflecting on your year, too. What did you learn? What did you get better at? What do you want to do next? Who do you want to become?
  • I want to help other people have this kind of an amazing year. What would it take? How wonderful can it be?
  • And hey, if you know what I’m good at and what I’m interested in, maybe you’ll think of me next time an interesting opportunity comes your way. =) Share what you’re interested in too, and I’ll keep my eyes and ears open for you!

Thanks for an amazing year. Let’s see what the next one can be like. I’ll keep you posted!

(UPDATE: Fixed HTML tags. Teeheehee!)


Short URL: http://sachachua.com/blog/p/5303

Drupal: Making our build system better

Hooray! We have running code, and we’re about to make another release after our code exits quality assurance. This means, of course, that we’ll need some way to differentiate the inevitable bugfixes that the next production release will require, and development of new features.

What’s the best way to do this? Making a release branch seems like a good idea. Here’s how I did it:

svn copy http://subversion.example.com/myproject/trunk http://subversion.example.com/myproject/branches/release-1

Bugfixes for release-1 will be committed to the release-1 branch, while new development continues on trunk. Bugfixes will be periodically merged into trunk to make it easier to roll the next release, which will be the release-2 branch.

Next, I need to configure my local system so that it’s easy to switch back and forth. I could work with a single source tree for local.example.com, but that means switching back and forth. The best thing to do would be to have two separate source code directories: one for trunk, and one for production releases.

svn co http://subversion.example.com/myproject/branches/release-1 /var/www/example.com-prod

For each site, I’ll need

  • a source code directory
  • a database
  • entries in /etc/hosts
  • entries in my Apache configuration
  • a local site directory (ex: sites/dev.local.example.com) with settings.php
  • a QA site directory (ex: sites/dev.qa.example.com) with settings.php

I’ll also need to update my Makefile to make it easier to work. For example, the Makefile should connect me to the right database depending on which branch I’m on. How do I determine this? One way is to have an unversioned file that overrides some of the Makefile variables, and to include that file in my Makefile. I can do this by adding the following to my Makefile:

-include *.mk

and then creating a dev-local.mk file that changes the values of my variables.

I’ll need copies of the production database translated for the different domains, which means I need to update my deploy script and format it a little to make it easier to deal with all these options. Hmm…

This will be fun.

UPDATE: Fixed HTML tags. Thanks for pointing it out!


Short URL: http://sachachua.com/blog/p/5144

Drupal: Programmatically installing and enabling modules in the .install file

To make configuration management easier, we decided to make sure that all behavior-related changes are in the source code repository. So when I needed to add the reCAPTCHA module to the project, I needed to figure out how to programmatically install and enable the module with update code in another module’s .install file.

Here is some sample code to do so:

/**
 * Install and enable the captcha module.
 */
function yourmodule_update_1() {
  $ret = array();
  include_once('includes/install.inc');
  module_rebuild_cache();
  drupal_install_modules(array('recaptcha'));
  variable_set('recaptcha_public_key', 'PUBLIC KEY GOES HERE');
  variable_set('recaptcha_private_key', 'SECRET KEY GOES HERE');
  $ret[] = array(
    'success' => true,
    'query' => 'Installed recaptcha module and enabled it',
  );
  return $ret;
}

Short URL: http://sachachua.com/blog/p/5143

Weekly review

This week at work was mostly characterized by Drupal. I finally figured out how to use CCK and Views in Drupal 5, and I’ve even figured out how to programmatically create them (after much wailing and gnashing of teeth because of interactions with Domain Access and Path!). I’m looking forward to using this knowledge for awesome.

I also attended a local Drupal meetup. I ended up giving a 7-minute impromptu braindump on how to set up a great coding environment for Drupal. This won Best Talk and an extra-large T-shirt with the label "node monkey" (a clever reference to "code monkey" and Drupal’s node-based architecture). I haven’t figured out exactly what to do with that extra-large shirt yet, but it will involve T-shirt surgery so that I can wear it to the Drupal meetups without drowning in it. I may even have a series of hacks, if I plan it carefully. =)

I enjoyed giving presentations about social networking and Millennials during a virtual IBM conference and during a meeting of the IBM University Relations group. Next week, I’m going to give a talk on networking for new hires for the GBS Foundations new hire group.

Krav maga and yoga continue to be fun. I didn’t go last Tuesday because of the Drupal event, but I made up for that by skinning a knuckle during our Thursday session on combinations. Yesterday, we practiced quick offenses–slaps and headbutts from a neutral position. I have no illusions about my abilities–I’m definitely not going to pick a fight!–but it was fun exploring these things with such helpful and encouraging people in the class.

I had a lot of fun at the Ontario Science Centre this weekend, too.=)

Tonight, I hope to write most of an article that I’ve promised a colleague. Next week, I plan to wrap up most of the work for my Drupal-related project and resume working on an internationalization-related project. I’d also like to do more writing, which means resisting the siren call of Lego Indiana Jones… (But it’s so pretty on the PSP!)


Short URL: http://sachachua.com/blog/p/4926

Exploring the senses at the Ontario Science Centre

A friend from university was in Toronto for the week, so that was a good excuse to go to the Ontario Science Centre. The current special exhibition is about Mars exploration and worth a visit, but the highlight of my trip was a challenge posed in the Weston Family Innovation Centre.

The science centre assistant explained that we were going to be blindfolded, and we had to find our way from a random point in the room back to the stairs where we began. Before the blindfolds were put on, we had five minutes to familiarize ourselves with the layout of the room and the different sounds and textures. (No smells to work with, and I certainly wasn’t going to taste anything!)

J- and I went first. We were blindfolded and taken somewhere, led around a few times, and sent on our way. Gino accompanied me and W- accompanied J- – not to help, but just to make sure that we didn’t bonk our heads on something. When it came to finding our way back, we had to work by ourselves.

I heard the faint tones of a piano keyboard to front-left, and I knew that was the oil-bubble exhibit. (I’d played with it a number of times.) I also knew that the exhibit was close to the center of the room, so walking away from it would get me to some kind of wall. On the way to the wall, I felt the tall plastic poles of the craft center in which I’d once spent an hour or two creating random things using felt and fuzzy pipe cleaners. I knew where I was. Finding the wall was then easy, and I knew which way to go. After that, it was just a matter of tracing the wall (which took me into a little-used maintenance area, apparently) and getting back to the stairs.

As I stepped on the red floor that marked the goal area, the science centre assistant noted my time and said he was blown away. It turned out that the science centre had been running the challenge for five months, and at 4 minutes and 29 seconds, I was just a few seconds behind the first-place record established by a guy who was actually blind and who had done the challenge twice. I laughed and told him that my background in computer science meant that I’d written my share of maze-solving problems. Also, I’d been into assistive technologies in my senior year, so navigating blind didn’t scare me–I knew totally awesome people who could do it. =)

I didn’t mind navigating without sight, building the map in my head. In fact, I enjoyed listening to the different sounds and figuring out where they were, guessing my location and confirming or adjusting my mental model with each thing I ran across. The experience reminded me of the Tactile Dome in San Francisco’s Exploratorium (another wonderful science center!), where I had a lot of fun figuring out what objects were embedded into the walls.

If I were to do it again (which is unlikely as this was the last day of the challenge), I would use just one long cardboard tube instead of trying to navigate with two, as I liked having a free hand to feel the textures and make sure I was on the right track. I would sweep the tube in front of me like the way that blind people use their cane to quickly check their path, and I would walk faster because I could trust it to tell me where the wall was.

That’s what it felt like, and I encourage you to give it a try if you encounter this challenge yourself. =) (Maybe your local science centre might find it interesting!)


Short URL: http://sachachua.com/blog/p/4925

Sketches from the Web 2.0 Summit

colors_slot34.png

colors_slot35.png

colors_slot36.png

Short URL: http://sachachua.com/blog/p/4838

Planning a talk! =) “”Networking 2.0: Blogging Your Way Out of a Job… and into a Career”

So it looks like I might be talking at the next Concordia University alumni event. Wouldn’t that be cool? Thanks to Ian Garmaise and Cheryl Morris for the referrals! Here’s the short description of my talk:

You know that networking is important to success. Now learn how to use blogs to connect with other people for both personal and business benefits, in both extrovert- and introvert-friendly ways. In this highly interactive two-hour workshop, you will learn how blogs can help you keep track of your accomplishments, discover and express your passion, connect with other people, demonstrate your character and competence, build your reputation, grow your network, and advance your career. You’ll learn about the challenges that come with having a public image, but also the rewards that may follow. You’ll develop a plan for getting started and connections that will get richer over time.

and a quick bio (eh, writing in third person):

Sacha Chua is an intranet social computing consultant with IBM Global Business Services. She earned her M.A.Sc. in human-computer interaction at the University of Toronto in November 2007, and her research was about using Web 2.0 to locate expertise in a large organization. She also has a B.S. Computer Science degree from the Ateneo de Manila University in the Philippines. And yes, her blog helped convince her (current) manager to create the perfect position for her. In her spare time, she works on a technical book about Emacs, devours stacks of books from the library, and writes on her personal blog at http://sachachua.com.

I love speaking in public. I get a chance to learn so much in the process. =) I love writing, too. It’s funny how those things feed on each other: writing helps me learn and think, speaking gets the message out there and helps me make it more conversational, and that in turn gives me more to write about…

Anyway: February 27, 6:00 – 8:00, actual talk 6:30-7:30 or so. It’s going to be mainly for alumni (even though I’m not one! =) ), but stay tuned – I’ll post more notes and maybe even a recording. (And I have to eventually get around to posting my Livin’ la Vida Emacs presentation from DemoCamp. That was absurd amounts of fun.)

Looking forward to it! I’ve been collecting notes for a presentation like that for a while now, and I’m looking forward to telling stories and helping people imagine, plan, and act. =)


Short URL: http://sachachua.com/blog/p/4681

… And the MacBook Air, while interesting, doesn’t meet any immediate need (though I look forward to playing with one sometime). I already have a very lightweight laptop, anyway.

says David Singer (Read This Blog).
Yeah, I’m not too impressed either. Then again, I already have an ultraportable. It hasn’t moved much in the last few days, though… Light as it is, bringing it AND a Lenovo T60 would not be fun.
In other news, I’m trying out Newzcrawler as a way to read and blog quickly. I’m not too impressed. You know, if I could just spend some time getting nnrss to work under Emacs…


Short URL: http://sachachua.com/blog/p/4680

Not much writing today…

… but I’m glad to report that my mind is calming down a bit. At the very least, I’m getting the hang of just getting something out there.

Oh, wait…

Looks like I managed to write a little over a thousand words anyway. They’re not really all stuck together in an article yet, but they’re snippets and they’re going to come together later on. =)

Getting the hang of this writing thing. =D


Short URL: http://sachachua.com/blog/p/4678

My head is buzzing

My head is buzzing. Well no, not like a mosquito. Bouncing around, like a sugar-high rabbit in a cage. My brain is itching to be distracted. Writing feels slow.

I hate this feeling. I want to be in flow. Flow is what happens when you’re in the zone, when you’re concentrating, when things just fit together. I love that feeling, and it frustrates me that I can’t slide into it as easily as I did before. In the meantime, I’ll keep writing, because I’ll eventually get back on track. Whatever I write now can then be edited into something better.

Games threw me off balance. A gameplaying binge last weekend led into games taking over my subway ride, and I have had enough. I had never realized how important my commute was for decompression , or how stretched my brain can feel when it’s trying to go all over the place. Video games are particularly evil because part of their business is to get into your head. Pretty pictures. Random reinforcement. A sense of control, agency. Just like Sesame Street was focus-group-tested within an inch of its life, some games have been refined over years to be surprisingly appealing.

But it all comes down to this: who do I want to be, a Pokemon Master or an author? I want the heightened feelings of flow more than I want the short-term stimulation of games, so even if my thoughts are getting pulled every which way, I’m going to keep dragging them back. In the long run, I’m going to get more satisfaction from that kind of focus than from any game.

In the meantime… Boingboingboingbzzz….


Short URL: http://sachachua.com/blog/p/4677

That took more hacking than expected

071216-00.49.30.png


Short URL: http://sachachua.com/blog/p/4505

Hello world

071216-00.33.22.png


Short URL: http://sachachua.com/blog/p/4504

A good reason to check out the WordPress version of my blog

If you’re reading this from the Planner version of my blog, you might want to check out the WordPress version for stuff like this:

and

Ingredients for the sketchblog:

  • Nintendo DS Lite (day 2!)
  • R4DS kit
  • 2GB MicroSD card
  • DS Colors
  • WordPress
  • Postie
  • a POP3 mail account on Dreamhost
  • And a fair bit of hacking…

You could see the sketches inline with the rest of my blog, view just the sketches, or subscribe to just the sketches RSS feed.

I’m looking forward to sketchblogging a lot. It’s so much fun playing with color… =)

On Technorati: ,

Random Emacs symbol: window-live-p – Function: Returns t if OBJECT is a window which is currently visible.


Short URL: http://sachachua.com/blog/p/4510

First day of work

Like most (sane) graduates, I’m a little anxious about this real life
thing, but I’m confident that it will work out well.

I woke up five minutes before my alarm clock went off, which was good
because I still haven’t figured out how to make my alarm clock less
obnoxious. A trip to Ikea may be in order here. Still, waking up at
5:55 is a pretty cool thing for me. =) Looks like the week I put into
developing the habit of waking up early is starting to pay off.

I met with my manager and a team member today. My manager answered all
my questions, even the tougher ones. Now that I have an idea of how
I’m going to be measured (and equally important: how _he’s_ going to
be measured), I can keep an eye out for useful ideas and opportunities.

I’ll stay up a little late today to do some work on my book, even just
10 minutes of sketching. It’s important to me to be able to spend a
little time on that every day, or I’m going to forget. <laugh>

Everyone finds his or her own balance…

Random Emacs symbol: mark-calendar-month – Function: Mark dates in the MONTH/YEAR that conform to pattern P-MONTH/P_DAY/P-YEAR.


Short URL: http://sachachua.com/blog/p/4410

Thinking about September

If everything goes as planned, then I’ll have a whole month of slack
this September. I’ll be waiting for the papers for my work permit, so
I can’t actually work for any Canadian companies during that time. I
have several options, including:

  • Volunteer at a non-profit
  • Pick an open source project and immerse myself in it
  • Work for a non-Canadian company (would this be allowed, or does my visa prohibit me from any work-related activities in Canada?)
  • Pick up all sorts of useful skills
  • Make my Emacs configuration horrendously baroque
  • Go mad, which I will if I don’t do anything or help anyone or learn anything…

I’m leaning towards things that will get me out and about and with
interacting with people. Hmmm… Got any ideas?

Random Emacs symbol: c-clear-char-property-fun – Function: (alias for undefined function)


Short URL: http://sachachua.com/blog/p/4329

Emacs tidbit: DVI and LaTeX interaction

Skimming the help.gnu.emacs newsgroup can turn up all sorts of amazing
tidbits. For example, I occasionally write papers using the LaTeX
markup language for scientific documents. This allows me to produce
professional-quality typeset papers, particularly when equations are
involved. (I used that *so* many times in university!)

I just found out that you can click on the typeset document (the DVI)
and jump to the source code. Here’s what David wrote on help.gnu.emacs:

That’s easy. This feature is called forward and inverse search. It’s
explained in the AucTeX manual. If you use auctex just hit C-c C-t C-s
(I don’t know if this also works within the build-in tex mode). This
enables the TeX-source-specials. With the source-specials on, Emacs
will start xdvi with further options. xdvi will start displaying the
page where the point is set in Emacs (forward search). When you click
any line in xdvi simultaneously pressing Ctrl you return to Emacs with
the point on the corresponding paragraph. This works also with other
dvi viewers, but you have to configure them to use emacs server for
inverse search.

Wow.

On Technorati: ,

Random Emacs symbol: default-fringes-outside-margins – Variable: Default value of `fringes-outside-margins’ for buffers that don’t override it.


Short URL: http://sachachua.com/blog/p/4292

Parry Sound

One of my friends had recommended the 30,000 island cruise around
Georgia Bay, so we made a side trip to Parry—a tourist town halfway
between Sudbury and Toronto. We managed to pull into the parking lot
*just* as the boat was filling up with people. Good thing, too – ten
minutes later and we would’ve missed it completely!

The Island Queen was a stately three-decked ship with gleaming white
sides. As I stepped onto the deck, a crew member smiled a hello. He
told me that since I had such a nice camera, I should make sure not to
miss the Hole in the Wall and the crooks and crannies of the islands
we would pass by. A Toronto Star reporter had been there just a few
days ago, he continued. I nodded and cradled my camera close, thinking
how much better my dad’s pictures would have been had he been there!

The scenery was just as spectacular as the brochures promised. The
Hole in the Wall was a narrow, twisting corridor through granite
cliffs almost close enough to touch. As the passage widened into
harbors and passages, it seemed that every bend revealed a solitary
house couched in windswept pine. Some of the larger islands had
clusters of cabins and even beaches with park benches.

Seeing all the lush greenery, W remarked that he was no longer quite
as concerned with his carbon footprint.

These remote hideaways reminded me of one of the points made by *both*
of the books I was reading: it doesn’t actually take obscene amounts
of money to enjoy the luxuries commonly associated with the lifestyles
of the super-rich. I’m sure that a determined vacationer could find a
short-term rental here. Reflecting on the amazing scenery passing by
us, though, I felt a twinge of dissonance.

This isn’t my dream. Many people aspire to going off and having their
own private island, but not me. I like a bit of green, yes. I happen
to be fond of good postal service and public transit, and I wouldn’t
want to rely on airlifts in order to get to the hospital. Besides, I
like the bustle of the city, with endless things to do and so many
people to meet. So that’s probably who I am: a city kitty, at least
for now.

Still, as I snapped picture after picture from the white rails of the
ship, I wondered—what this place must look like in the fall, with all
the maple trees aflame!

I’ll upload pictures soon. I have around a thousand photos to sort
through. Experience has taught me that my little laptop is nowhere
near up to the task. Fortunately, W.’s desktop is more than twice as
fast as my computer, and the program I found (kphotoalbum) allows me
to quickly go through pictures. A friend had recommended keeping even
the bad pictures so that we could learn from our mistakes, but who has
the disk space and attention span for that? No—I’m going to
ruthlessly discard anything that’s blurry or can’t be salvaged with a
little photo manipulation in the Gimp.

My photographs can’t do justice to the place, though. It was
beautiful. And you know what? I *know* we have beautiful places like
that in the Philippines. I know because I’ve seen the pictures taken
by my dad and my sister on their adventures throughout the country.
Sure, most of our forests have been stripped by logging and other
uses, going as far back as the slash-and-burn tactics used by
pre-Hispanic Filipinos—but there’s hope. If Sudbury could plant over
three million trees in order to reclaim a barren moonscape wrecked by
nickel mining and huge ore roasting beds, then the Philippines can
too.

Random Emacs symbol: gnus-empty-thread-mark – Variable: *There is no thread under the article.


Short URL: http://sachachua.com/blog/p/4291

Week in review

This week, I realized that I’m working on something pretty cool. I had
previously focused on how my prototype fell short of what I really
wanted to build, and I forgot to keep checking against what was
currently being used. I’m excited about the opportunity to try it out
and maybe get a few of the ideas from it into IBM’s culture (and then
the world)!

This week, I set up a wiki for my research lab. I’m going to be the
guinea pig. I’ll write my thesis online. Password-protected, though!

This week, I wrote about falling in love with reading and thinking
about how to help J learn how to appreciate it too. (Quick, while
she’s young and impressionable! Repeat after me:
Science/art/math/crafts/everything is wonderful. Reading rocks. Life
is good.) I got so many insights and tips from my mom and other
readers, which I should write up and post here soon. =) Thanks!

This week, I filed my taxes. I hope this is the last year I’m getting
a refund! I do actually believe in taxes, and I probably will still
keep believing in them even after they take away a third of my pay or
something like that.

This week, I met with a usability expert at IBM who might be able to
help me conduct my summative study. Yay!

This week, I talked to someone from IBM HR who helped me take a look
at my job and immigration paperwork requirements.

This week, W decided to try out GTD. This has also incidentally
resulted in a rise in my productivity. <grin>

This week’s tea party was also lots of fun. Good conversation,
particularly with Mike Tsang’s questions. =)

Next week, I’ll take the plunge and do a pilot usability test. I’m
running a little behind schedule, I think, but we’ll make it all work.
I may have to be anti-social and focus almost entirely on writing if
I’m going to write a hundred-page thesis in a month and a half, but I
really want to finish the darn thing already.

Life is great! I’m glad to get back to my weekly reviews…

Random Emacs symbol: lm – Command: Start or resume an Lm game.


Short URL: http://sachachua.com/blog/p/4604

Expensive running shoes considered harmful

Check out Mark A. Hershberger‘s blog post about shoes and other non-intuitive things, which links to an essay about the health hazards of fancy running shoes. Food for critical thought.

Random Emacs symbol: insert-monthly-islamic-diary-entry – Command: Insert a monthly diary entry for the day of the Islamic month corresponding


Short URL: http://sachachua.com/blog/p/4603

Laundry

I think I enjoy doing the laundry too much. There’s something to be
said about choosing one’s favorite clothes out of the hamper,
attracted to color or texture or purpose, anticipating the pleasure of
wearing things again. As I swish each piece through the sudsy water, I
get a chance to reflect on the stories my clothes have, from what
happened the last time I wore them to the first time I saw them. The
rhythmic motions are calming as I stretch and relax. It pleases me to
hang the clothes neatly and know that they will drip-dry straight,
with hardly any need for ironing… A dwindling pile of laundry makes
me feel as if I’m making real progress.

And one wonders why I keep laundry as one of my personal pleasures,
forgoing a night out in order to meditate in this dance of water!

Machine laundry just isn’t the same. Oh, I love taking
freshly-laundered linen out of the dryer and folding them while
they’re still warm, but my sheets and towels don’t have the stories
that my clothes do. I wouldn’t trust most of my clothes to the
machine, either. I’m afraid of running dyes and the ruin of delicate
touches. I’ve lost a few of my favorite pieces to these things despite
my precautions! Besides, hand-washing my favorite things helps me
appreciate them more…

My new drying rack is metal with plastic feet, and I now have my very
own bathtub for leaving it in. I’ve been doing laundry every other day
- just enough time for each batch to dry – and I’m making steady
progress through the laundry that had accumulated while I was living
out of suitcases.

It gives me pleasure to take the pieces off the drying rack and
fold them neatly, placing them in my drawers. I have a table-top
ironing board, but I want a stand-up ironing board. If it’s the right
height, it may even double as a bedside desk. I’m looking forward to
ironing my clothes and hanging them up. I’ve already assembled and
hung up my outfits for the next few days. Again, the joy of
anticipation!

Having my own place is turning me thoroughly domestic.

Random Emacs symbol: decipher-mode – Command: Major mode for decrypting monoalphabetic substitution ciphers.


Short URL: http://sachachua.com/blog/p/4256

Tough decisions

I’m not sad. But I’m not thrilled, either. With all the challenges
ahead of me, I need to have net positive energy; I can’t even afford
neutrality. So as tough as it may be, I’m going to have to force the
issue.

Random Emacs symbol: nntp-with-open-group – Macro: Protect against servers that don’t like clients that keep idle connections opens.


Short URL: http://sachachua.com/blog/p/4204

Time to be selfish

I can make a difference in people’s lives, yes, but if I direct that
energy towards improving my own, I can make more of a difference in
people’s lives later on. Everything has to be worth it…

Random Emacs symbol: muse-wiki-publish-pretty-interwiki – Function: Replace instances of `muse-wiki-interwiki-delimiter’ with


Short URL: http://sachachua.com/blog/p/4205

What people don’t know about me

Toronto uber-girl-friend Quinn has just tagged me with the “5 things people don’t know about you” meme. Ordinarily I’d stick that into my blogging backlog and get around to it eventually (hi Rob! I promise I’ll post about favorite movies someday…), but… well… =)

So. Five things people probably don’t know about me, or often forget:

  1. My name isn’t Sacha Chua. Sacha’s my nickname. My formal name is Sandra Jean Valentino Chua. I might legally change my name to Sacha Chua or Sacha V. Chua someday.
  2. I don’t blog everything. It may be hard to remember this sometimes when you read about all sorts of crazy things going on in my life. Sometimes I’m too busy to blog, but not blogging because of lack of time makes me feel guilty (unexamined life and all of that). Sometimes it’s because the moment has passed. Sometimes it’s because it’s about other people’s lives. Sometimes it’s because, well, I haven’t figured out how to write about it yet. But yeah, I don’t blog everything, and I often forget the unblogged stuff too…
  3. I’ve had and still have hangups about relationships. First there was the “Don’t have a boyfriend until you have a PhD because that will just distract you” thing that I let myself grow up with before I realized that love can be a Good Thing. Then there was *also* dealing with the fact that I attracted a fair bit of attention as a cute, cheerful girl into technology and darned good at it. Best friend and co-conspirator Diane puts the official count at more than 50 people shot down before I graduated from college. I thought I was done with that already, but have lately realized that I’ve been avoiding making lots of new friends closer to my age because I was worried about possibly having to reject people, which is a silly reason not to be friends with people.
  4. I don’t really eat a lot of chocolate. At least not by myself. Or at least I try not to. Chocolate is my treat of choice for all of life’s occasions, particularly the sad ones, but I prefer to have it in company because eating by myself is kinda sad and having chocolate with others will probably get me good conversation and/or a hug. I keep emergency chocolate around, but I tend to have a chocolate surplus because people who give me chocolate rarely stay around to enjoy all of it. Next time, stay.
  5. Hobbies you might not have thought I had: Acting (attended children’s theater workshop), writing (had a poem published), drawing (pastel published in book with poem, art classes as a kid, and still the occasional rough sketch these days), chess, ballroom dancing (swing, chacha, boogie, tango), firespinning (I have poi videos somewhere), T-shirt surgery and other ways to hacking clothes, beaded jewelry-making (or at least I’m trying to get into this), crocheting (couldn’t stop me from crocheting during class in grade school), sculpting clay or sand (totally informally; think Playdoh, think the beach), walking around with strange objects on my head (product of an all-girls grade school education), piano, badminton, skateboarding (or at least getting from point A to point B without killing myself), baking (cookies) and *trying* to cook (operative word *trying*), balancing my accounts (seriously), playing samba, playing the recorder (everyone goes through that phase), knitting, origami, taking care of stray cats…
  6. <stretch> There. Happy? ;)

    Random Emacs symbol: overlay-buffer – Function: Return the buffer OVERLAY belongs to.


Short URL: http://sachachua.com/blog/p/4138

Returning to chess

I’ve missed playing chess. The chess books I’ve had since grade school
are still on the bookshelves, waiting to be dusted off and re-read.
I’m a little embarrassed about taking chess up again. I used to be on
the varsity team (not a difficult thing if you’re female) until
training for programming competitions left me with no time to train
for chess competitions. I’m rusty now, though, and embarrassed about
it.

But maybe I should get back into chess. Not the memorize-playbooks
kind of chess that people often play, but chess for the sheer heck of
it. Chess for the joy of anticipating another person’s moves.

Ah. Hmm. But I didn’t like the confrontational nature of it before…

I don’t know. Maybe I’ll take up Scrabble instead. =)

Random Emacs symbol: bbdb/gnus-pop-up-bbdb-buffer – Function: Make the *BBDB* buffer be displayed along with the Gnus windows,


Short URL: http://sachachua.com/blog/p/4139

My sister’s in love!

Synchronized movie dates, daily webcam chats, endless retellings of
favorite moments—my sister’s in love, and distance is not a problem!
They’re really so sweet, which should come as a bit of a surprise to
anyone who knows my sister. I don’t know if I could let myself have
something that intense right now (or if our parents could put up with
*two* lovesick girls without going into diabetic shock). Still, it’s
wonderful… =)

Random Emacs symbol: visible-mode – Command: Toggle Visible mode. – Variable: Non-nil if Visible mode is enabled.


Short URL: http://sachachua.com/blog/p/4140

On the road to growing up

I’ve signed up for 10 hours of driving lessons, starting at 8 AM
tomorrow. It’ll be a refresher course—almost a complete beginner’s
course, as I really hadn’t driven at all since I got my license. I’m
looking forward to getting the hang of driving. I think it’ll be a
very useful skill.

I figured that I’d get as much practice as I can in the Philippines.
When I go back, I’ll take the written test and apply for a Canadian
driver’s license. I’ll also need to set aside money to rent cars maybe
every weekend? every other? so that I can gain experience and
confidence.

Now, must find out which of my friends will trust me with their
life… ;)

Random Emacs symbol: nntp-server-opened – Function: Say whether a connection to SERVER has been opened.


Short URL: http://sachachua.com/blog/p/4141

BBDB: Print birthdates

This snippet goes through all the records in my Big Brother Database,
prints out birthdate and a link to the record, and then sorts the
results.

(defun sacha/bbdb-insert-birthdates ()
  "Insert a list of birthdates, sorted by month.
For best effect, dates should be of the form yyyy.mm.dd."
  (insert
   (with-temp-buffer
     (mapcar
      (lambda (rec)
        (when (bbdb-record-getprop rec 'birthdate)
          (insert
           (if (string-match "..\\...$" (bbdb-record-getprop rec 'birthdate))
               (match-string 0 (bbdb-record-getprop rec 'birthdate))
             (bbdb-record-getprop rec 'birthdate))
           " | "
           (planner-make-link
            (concat "bbdb://"
                    (planner-replace-regexp-in-string
                     " " "." (bbdb-record-name rec)))
            (bbdb-record-name rec))
           "\n")))
      (bbdb-records))
     (sort-lines nil (point-min) (point-max))
     (buffer-string)))
  nil)

On Technorati: , , ,

Random Emacs symbol: find-tag-noselect – Command: Find tag (in current tags table) whose name contains TAGNAME.


Short URL: http://sachachua.com/blog/p/4142

Salesdogs: I’m a Chihuahua!

Are you turned off sales because you think everyone has to be a pit
bull? When most people think of sales, they think of in-your-face
salespeople who just won’t take no for an answer. I have to confess
that even *I* have a hard time remembering that I don’t have to be
like that in order to enjoy and do well at sales.

I’ve read a lot about sales, but books tend to be generic sales tips
that try to apply to everyone. How to start. How to ask questions. How
to close. How to build relationships.
Salesdogs
was the first book I read that talked about personalities. Salesdogs describes five “breeds”.

  • Pit Bulls: will always go for the jugular
  • Golden Retrievers: love customer service and will do anything for clients
  • Poodles: intellectual, classy, appearance-oriented, but a little high-strung
  • Chihuahuas: combine passion with product knowledge; tends to yip if overexcited
  • Basset hounds: loyal to the end, great at building relationships

I’m a Chihuahua through and through. (No, not just because I’m small!)
I *love* absorbing vast quantities of information, and ferreting it
out myself if I must. Learning the product inside and out? Combing the
Web for testimonials in order to find differentiating points? Getting
inside people’s heads? That sounds exciting! I’m always reading,
always trying things out, because I love knowing that one obscure
little thing that’ll get someone hooked. My weakness is that when I
get really excited, I tend to overwhelm people… <laugh>

Pick up the book and find out what kind of salesdog you are. Better
yet, find out how you can improve your performance and that of other
people around you. Don’t have time or can’t stand cheesy metaphors?
Coral.net.au has a great summary of the
different Salesdogs breeds,
including tips for managing them.

You don’t have to be a pit bull. Figure out your personality, play
to your strengths, and cross-train.

On Technorati: ,

Random Emacs symbol: custom-save-faces – Function: Save all customized faces in `custom-file’.


Short URL: http://sachachua.com/blog/p/4143

The Plan

Okay, here’s what I need to do.

  • Tonight, I need to e-mail friends about my travel plans and any party plans.
  • Saturday morning, I’ll cram the last requirement for KMD2004. No word yet from groupmates; v. odd.
  • Saturday afternoon: I will set aside time to write thoughtful postcards and letters
  • Saturday evening: touch base with Simon, who’ll be back from Florida
  • Sunday morning: have a relaxed morning
  • Sunday afternoon: clean out fridge, then head over to the Gorey to donate extra food like eggs. Cookies and chocolate – spend time with great friends? Borrow boxes from the Gorey folks just in case I have stuff in suitcases that doesn’t neatly shelve somewhere.
  • Sunday evening: Christmas dinner? Final chance for pictures with people.
  • Monday: print e-ticket, pack, pack, pack, KMD2004 revision
  • Tuesday: last-minute cramming, pack, fly

I really want to spend some quality time with my closest friends here,
but it might be difficult to do that and still keep the sense of
abundance of time. I would *love* to meet all of them, give them an
extra extra extra big hug, tell them my favorite story of them from
the past year, and find out what they want to do with the next year. I
don’t think I’ll have the time to visit everyone personally (I’d like
to!), but I could call on Sunday (after dinner) or Monday (after packing).

Priority packing list:

  1. Carry-on laptop bag: travel documents
  2. Carry-on backpack: correspondence, journal
  3. Salmon flakes for Papa
  4. Electronics
  5. Clothes I don’t need any more
  6. Clothes I plan to wear while there
  7. Shoes
  8. Books: may as well bring all of my books home. I can always keep my notes or reaccumulate my library

Sounds like a Plan…

Random Emacs symbol: gnus-article-strip-all-blank-lines – Command: Strip all blank lines.


Short URL: http://sachachua.com/blog/p/4071

Too busy living to blog

That shouldn’t be the case. <laugh> I’m starting to think that
it wouldn’t be a bad idea to leave a party early (well, at least not
very very late) in order to go home and blog about it and other stuff…

Random Emacs symbol: gnus-button-handle-library – Function: Call `locate-library’ when pushing the corresponding URL button.


Short URL: http://sachachua.com/blog/p/4022

Domain name

At some point in time, I think I should go for figuring out how to do
my mail properly so that I can have sacha@sachachua.com on my outgoing
mail. Jijo currently generously hosts my mail, but I should look into
properly paying for it like the rest of the civilized world.
<laugh>


Short URL: http://sachachua.com/blog/p/3857

Emacs clinic at the Linux Caffe

Quinn Fung needed some help with Muse and RDF so that she could easily generate RSS feeds from Emacs, so we declared today to be Emacs Clinic day at the Linux Caffe.

We started by getting publishing to work. We then figured out how to get RDF to publish, and that was pretty okay too.

Quinn needed multiple authors, and muse-journal didn’t support it yet,
so we hacked it in. I told her to pick a syntax, and I added code to
make it happen. It took us a while to track things down, but it turned
out to be a reasonably easy addition. (I need to refactor that code
sometime… that’s a really long function!)

Along the way, we found a bug in muse-journal. Muse-journal summarizes entries by taking the first two sentences, but dies when the post doesn’t contain at least two periods. I spent a fair bit of time tracing through the different changes we made before realizing that it wasn’t my bug. I probably would’ve found it earlier, but debug-on-error wasn’t getting honored. Odd. Anyway, here’s the patch, which I’ll submit to GNA when I get back into the swing of things:

--- orig/lisp/muse-journal.el
+++ mod/lisp/muse-journal.el
@@ -570,7 +570,9 @@
           (let ((beg (point)))
             (if (muse-style-element :summarize)
                 (progn
-                  (forward-sentence 2)
+                  (condition-case err
+                      (forward-sentence 2)
+                    (error (goto-char (point-min))))
                   (setq desc (concat (buffer-substring beg (point)) "...")))
               (save-restriction
                 (muse-publish-markup-buffer "rss-entry" "html")

Now Quinn’s jumping feet-first into Lisp development by doing the Atom
implementation. muse-atom does single-entry Atom files, but she can
model it on muse-journal’s RSS implementation.

I also helped Ian set up a very very basic Planner. It reminded me
that I *really* need to package planner-bundle again, and either
retire or update plannerlove. In fact, I need to set up scripts so
that it’s ridiculously easy to keep up to date…

I miss hacking on Emacs! This is fun. I’ll reconfigure my kernel and
get VPN working. Then I’ll set up my Emacs development environment
again…

On Technorati: ,


Short URL: http://sachachua.com/blog/p/3858

Emacs: Changing the font size on the fly

I have a tiny laptop: 8.9″ diagonally. With a 1024×768 pixels screen
resolution, things can get *pretty* small. The following functions use
the gnome-terminal-style shortcuts (Ctrl-plus, Ctrl-minus) to change
the font size without the mouse:

(defun sacha/increase-font-size ()
  (interactive)
  (set-face-attribute 'default
                      nil
                      :height
                      (ceiling (* 1.10
                                  (face-attribute 'default :height)))))
(defun sacha/decrease-font-size ()
  (interactive)
  (set-face-attribute 'default
                      nil
                      :height
                      (floor (* 0.9
                                  (face-attribute 'default :height)))))
(global-set-key (kbd "C-+") 'sacha/increase-font-size)
(global-set-key (kbd "C--") 'sacha/decrease-font-size)

On Technorati: ,


Short URL: http://sachachua.com/blog/p/3859

Getting sound to work again

Things to remember when setting up sound in Ubuntu Linux on a Sony Vaio U1:

  • modprobe trident
  • modprobe snd_trident
  • Be very very thorough with alsamixer settings. For some brain-dead reason, all the important stuff is muted.

On Technorati: , ,


Short URL: http://sachachua.com/blog/p/3860

Rock-climbing

Simon Rowland and Roger Yang invited me to go rock-climbing at Rock Oasis (Front and Bathurst) last Friday (2006.08.11). Richi Plana and I headed there after he dropped his backpack off at the hostel, and I texted Jedediah Smith and Quinn Fung to see if they’d be interested in joining us. It turned out to be such a terrific experience!

While we learned the ropes, Simon and Roger took turns climbing
challenging walls. By the time we finished, they were also done!

Fortunately they were not too tired to help us. I asked Simon to belay
for me as I tried climbing. The 5.7-level wall turned out to be a bit
too challenging, so I went for the 50′ 5.6 wall instead. I had
completed a 5.6 wall during the beginner class, so I figured I could
handle it.

50 feet, apparently, is quite a distance, particularly for someone new
to climbing, with a weak grip and little endurance. When my fingers
gave up, I used anything else I could: the side of my palm, my
forearm, even my elbow. I frequently shook my hands to get rid of the
fatigue and often sat back to figure out a strategy for making my way
up. Whenever an approach failed, I’d try another, and another, and
another. Hold by painful hold, I made my slow way up.

Every time I lost my grip, my friends learned more about the limits of
my vocabulary. They knew I was getting serious when I graduated from
“Ay, CRAP!” to “DARN!” They were rather amused when I tried out
“Fish!” and “Fudge!” for size. (I like “Fudge!” It makes me think of
chocolate.)

And hey, yeah, that’s true. If I think something’s worth it, I’ll keep
going for it—and that’s just so much more fun with encouragement. =)

On Technorati: ,


Short URL: http://sachachua.com/blog/p/3754

Running low

One of my warning signals that alerts me to the fact that I’m not
getting enough sleep or quiet time is when I have a backlog of things
I want to blog about but I can’t figure out when to take the time to
blog them. =)

There’s hanging out with Simon, chatting with Stephen, talking about
cooking and open source with Wayne, skating with Cathryn, and
following my inner social butterfly at the party Dan took us to.

It’s all good. =) I just have to remember to schedule in me-time, too!
Hmm. Time to be proactive about my calendar again…

Random Japanese sentence: 猫は捕らえたネズミを引き裂き始めた。 The cat began to tear at the mouse it caught.


Short URL: http://sachachua.com/blog/p/3670

Mashing the Vote: Web 2.0 for Social Change

Phillip Smith, Mark Greenspan.

Introductions:

  • Sacha Chua. Social computing in the enterprise, U of Toronto and IBM. Also interested in grassroots because of the Philippines
  • Julian Scarfe. Free Agent Communications. News oriented for parents and children. Because that sort of demographic has high ideal aspirations in that mental space, something here might apply. Technical director, communications strategist.
  • Robb Creary, Bell Canada. CRM. Pull everything together and kinda see how everything fits in. Better to be prepared.
  • Patrick Gilbert. Word of mouth marketing company called Matchstick. Heading up online marketing and fundraising for Mayor David Miller campaign.
  • Andrew Berthoff. Environics Communications, a PR agency in Toronto and three other cities. Primarily interested in not-for-profit organizations.
  • Madelaine Hamilton. Taking IT Global. Connects people internationally so that they can get involved in the community. 110k members, most based in developing countries.
  • Lars Hansen. C2E Consulting. Learning and thinking about the application of these things, work on a community basis.
  • Rhonda Burke. Organizer. Fundraising. 150+ events that are volunteer-driven.
  • Alexei White. Vancouver company, eBusiness Applications. AJAX components for developers. Very much on the technical side, also very interested in dotversity and the kind of conversation that’s happening.
  • Andrew Heaton. Creative strategist for Trilogy. I’m inthe preliminary stages of starting a non-profit company to raise money for charities.
  • Ryan Ginsberg. Fuel Industries?, marketing, advergaming. Lately, grassroots adverts has been a huge, huge component of it. Fox. There are so many cool things you can do to tap into blogs and message boards etc. At the end of the day, it’s all about the ROI.
  • Patrick Dinnen. Hogtown Consulting, Web2.0. Wireless Toronto.
  • Jen Nolan. IBM. The big newspapers have such a power over our society, our culture. I really love the power of the people.
  • Mark Greenspan. Canadian Film Center’s Habitat New Media Lab. Training new media content producers.
  • Phillip Smith. Not-for-much profit company, Community Bandwidth. Help non-profits to push their missions forward, advocate on the behalf of others, etc. Social Tech Brewing.

What are the principles and tools of Web 2.0?

  • Two-way communication. Read/write Web.
  • User-generated content
  • Wisdom of crowds
  • Participation. Everyone has a voice
  • Collaborative content, harnessing collective intelligence
  • Mashup
  • Web as Platform
  • Long tail, etc.
  • Data is the next Intel Inside
  • Users add value
  • Network effect by default
  • Some rights reserved
  • The perpetual beta
  • Cooperate, don’t control
  • Above the level of a single device

What are the tools?

  • Blogs
  • Social networks
  • Open source
  • Browser
  • Wiki
  • Folksonomy, tagging
  • Blogging, participation
  • Google Maps, AJAX
  • Identity, trust, personal brands
  • Standards/services: APIs, RSs, etc.
  • Group-editable pages, wikis, comments
  • Exposing user data, emergence
  • Creative Commons, GPL, F/LOSS

If we were to think about how to take some of this and put it into action… I thought I’d do a really quick tour of some of the applications I’ve seen over the years. How we can leverage the 2.0 to change the world.

WWF example: “Donate now and put your name in our sky.” The general idea is that if someone donates, they can put their name in the sky. How is it the long tail? There are hundreds and thousands of people who care about issues like arctic wildlife refuge, but it’s difficult to aggregate all of these people into one solid voice. Just to bring these voices together.

This is something that Chris Nolan made for the 2006 elections.

TheyWorkForYou.com. Data is the next Intel Inside. The traditional explanation of this is ISBN and Amazon’s extension, the Amazon book number, which has more information about it. This group in the UK has done the same thing for public data, what’s being said in the House of Commons. They’ve really extended it and included voting history, etc. They’ve even made it free.

Peter Tabuns. Provincial election. People in this person’s riding expressing support and plotting that on the map.

Mark: One thing about the last example (theyworkforyou) is that it’s open source, so if you want, you can set it up.

They also do hearfromyourmp and pledgebank. All of these tools are
open source and can be adapted for Canada’s system easily.

sinceslicedbread.com. The best ideas bubble up to the top. One of the ideas that got bubbled up has been taken by Hillary Clinton and she’s going to introduce a bill that ties Congressional pay increases to federal minimum wage.

Network effects by default. Tom Mauser is one of those people who lost a child in Columbine. Forward Track. 6 degrees of separation. Tracking six degrees of separation on a map. When Mark signs up to send the petition, the map centers around him. The network effect by default.!

pledgebank. “I’ll do it, but only if you’ll help me do it.” Some of these pledges are tiny, but others are pretty big. Powerful tools. There’s RSS. You can get pledges in your town. Inexpensive way for NGOs to provide their communities with a way to organize.

Some rights reserved.

Crown copyright. Most documents are released under that, so the Queen owns the data. This makes it very difficult to get what you think should be public data. For example, geocoding data. So some people built their own. Free service, free data. geocoder.ca.

civicaccess.ca. Just launched last month. To hel make sure public data stays public. Taxpayer-funded data, we should have access to it.

So the perpetual beta is one of the neatest ideas applied to grassroots advocacy. There can be an iterative, experimental, evolutionary process around campaigns. The three things I’m going to show here are not Web campaigns, but I believe they embody the spirit.

publicspace committee. Lightning rod for many communities. In Toronto, we have a really strong group. Fantastic experimental projects trying to win back public space. Billboard battalion. Once a week I get e-mail from the “general”. Billboards are illegal in Toronto, and companies have to apply for variances. So what the battalion does is keep track of people who are applying, etc. Guerilla gardening, etc. This is not a large NGO, but just a bunch of people having lots of interesting ideas.

Dave Meslin. How can you bring this idea to city council. whorunsthistown.ca. What can you do if you’re interested in making Toronto a better place to live?

City Idol. We all know and love Canadian Idol. There are a lot of people in Toronto, and important decisions are made by the 45 people on the slide before. We had a contest where people signed up to participate in City Idol. Over 200 people signed up for the first event. Second round of finals. For every ward in the city, they have people competing to help out.

Mark: American Idol. 60 million text messages.

Jen: Wikipedia has history for all the municipalities in Toronto. Phillip: And it’s really good information too.

bbc.co.uk – Action Network. !! This is cool! Change the world around you. What are the issues that are important to you, and how can you connect with your neighbors?

backfence.com? Mark: Again, local organization.

Moport.org. Software above the level of the single device. As much as Canada is behind in the mobile space, we’re certainly seeing more interesting work to be done. Mobile phone reporting. Large mobilizations from their phones. Used around the Republican National Convention.

Murmur. Out of the Canadian Film Center. Using Asterix and a lot of ingenuity, two students (Shaun and Gabe) created this audio tourist experience for Toronto. You can find these little signposts where all these red dots are that have a phone number that you can call to get a spoken history for that location. Local participants. Fantastic. They’ve expanded this idea around Canada, and now they have an Airstream bus. Mark: One of the things that really worked for Murmur was keeping it very very simple. Accessible. All you need is a cellphone and the ability to make a local call on your cellphone. Appeal to the lowest common denominator. One thing very important about that project.

Phillip: It’s stunning how many people are not from Toronto and they get a murmur postcard and they walk around. “I want to hear from the woman who’s an expert on this on her blog.” … People are really starting to understand that that kind of integral, honest communication is important. Right now, they pick people. Mark: Interview techniques, narrative-based project. Airstream bus.

Another local specific above the level of the single device is Wireless Toronto. It sounds like another municipal wireless network thing until you get into the idea of location-specific content. If you log on to the network like at St. Lawrence Market, you’ll come to a local portal that aggregates a number of feeds to give you the context for that place. You can see who else is online and you can communicate with them or meet their blogs. Flickr images are being pulled from the tags. The classified ads section is taken from craigslist. Craigslist – continuous live search. If you’re an NGO working on employment, aggregating jobs that are specific to youth, for example… RSS to voice through RSS. (!! Hey, that’s a cool idea and we can do that at home, because phone is free!) (Kagigi – volunteers wanted!! oooh.)

Apartment rental mashup, etc.

One Free Minute. Mobile sculpture for anonymous public speech. Sao
Pauo, Brazil. Warsaw, Poland. London, UK. Canada and USA.

We have a municipal election coming up within the next six months, and we’re not seeing a lot happening in terms of civic participation. What does civic participation look like with Web 2.0?

Two-way street. If you don’t get the eyeballs there and the interest there in the first place… It’s easy to capture the converted. What about the people who couldn’t care less? How do you start the engagemet process? If you can find out how they’re connected online…

In this case, there’s a particular issue: municipal election. How do you connect people to the municipal election?

It’s the candidates and the municipal election itself. People wring their hands and ask why people aren’t interested, but you have a bunch of stuffed shirts and… So how do you get new people?

What kind of offline event drives people to something, and how do you leverage that with Web 2.0?

For example, smart mobs. Street car tours and the pillow fight in Dundas Square. Database of people. Pillow fight announcement, publicity, etc.

How do you market to or engage this population and how do you bring them into the online world and what do you do? Once you’ve got them in the online world, then you’ve got all sorts of tools.

Odd-ball activist. How do we get normal folks in?

When I think of real events around a political campaign… listen to a politician give pre-packaged, overly-analyzed speech… or town meeting kind of thing, where you end up with the same issue, where you get verbose people who end up hijacking the thing… Speed at which you can scan and filter on Web 2.0. Somewhere I can go and find discussions about my local councilor. These issues I don’t care about, these issues I do, etc. A customizable search tool which allows you to scan through the issues… The other thing that would be interesting would be at the municipal election, we don’t have strong political affiliations. Niche interest (Sam Bulte), but other people can affect a really local thing. If there was a site that made it easy for us to keep track of whatever they were saying about different issues… that would help me. And I want to specify my interests. Customizable search thing. All decisions and all issues that stand, etc. Report card. How they voted, absolute transparency and accessibility. Hard data plus softer stuff. Might get filtered too much, though, too compartmentalized. Digg-style popularity.

SUMMARY:

  • Not a topical wiki, but a scenario wiki, where we can extrapolate from a bill or if this candidate is elected, this is probably what’s going to happen, etc. Putting things in a language that people can understand. Approach in engangig people.
  • Issues that are important to you, access to all the data around it. Absolute transparency. Asterisk to get into people’s homes.
  • Comments on a public blog. An online petition that you could translate into… make candidates for public office understand that to stand in favor of this would mean death, etc.

On Technorati: , , ,

Update: Phillip’s posted slides at http://communitybandwidth.ca/phillipadsmith/mashing-the-vote-at-mesh


Short URL: http://sachachua.com/blog/p/3470

At mesh conference; Om Malik keynote

I survived the morning rush of registrants at mesh conference in Toronto, and
I’m now listening to the keynote conversation between Mark Evans and Om Malik. I missed the main part, but fortunately Scott Karp liveblogged it.

Here are fragments of what I’ve heard:

85% market share. That demographic hasn’t figured out how to block
ads. This is a highly skewed argument. Mainstream users don’t bother
with these things. They can download software to block ads, but nobody
does that. People actually click on ads. I’m surprised by the number
of people who click on my Google ads.

What do you write for the National Post audience? What do you write about for the Net?
Newspapers – facts. Blogs does spin, opinion. That’s where the value is added.
We can’t just look at blogs or podcasts as just a digital version of news. We need to build loyalty.
build a different voice online.

When you write a story for a magazine, in reality, once it’s inside a
magazine, the story is over. But the story never ends. The story never
dies. You have to follow it. … Whenever we write a story inside a
magazine, we can’t use follow-up information in a month’s time. If they don’t care from me, then maybe I haven’t engaged their mind. That’s very critical. This community aspect.

Three years from now, I see something like the Wall Street Journal
saying, “These bloggers are pretty good.” … give them the
credibility. ZDnet is already doing that. They’re bringing in a lot of
bloggers, figuring out a game plan. You will see all the big media, or
at least the bigger media, actually experimenting and creating their
own blog.

Every user comes with their finger poised on the Back button. As long as you’re worried about that, you have to do great stuff. Bloggers – contextual reading. You will never capture the big story in 800 words. Don’t think of it as traditional reading. It’s almost like a

Mark: What do you see yourself doing three years from now? Om: As long
as they keep paying me well… It’s fairly simple. (more discussion)

Boris Mann: I probably wouldn’t know about either of you if you didn’t
have blogs. I don’t ever go to these websites. I don’t click through.
Everyone who has fulltext RSS feeds, I read directly in my reader.
Blogs are conversations. I can’t have a discussion with the National
Post. Om: Good to finally meet you in person, and thank you for
sending all those comments. You are as important to me as any other
person. … It creats patrons, and patrons are good for advertising,
but we don’t have a good advertising model. All these questions are in
front of us. That’s a challenge, and that’s an opportunity for anyone
who can figure this out. Anyone who can think of a good advertising
model right now can make a lot of money.

Putting my e-mail address at the bottom of the story isn’t having a
conversation. Whether you’re a newspaper online or .., you need to
create a conversation. You need to use the Web and different tools to
draw people in. It’s a nice little phrase: “Let’s have a
conversation”, but the truth is that’s going to drive your business.

Web 2.0. It’s not a technology. It’s not some cool Javascript. It’s a new way of thinking.
Robert Scoble – he helped humanize Microsoft, for goodness’ sake. Just one guy, and he did such an effective job.

Argh. Where’s the mesh conference backchannel? IRC?

On Technorati: , , ,


Short URL: http://sachachua.com/blog/p/3469

RoR: “What’s in My Fridge” now has a shopping list

I know, I know, it’s silly, but it’s also so much fun programming little toys like this!

I’m also sketching out a life tracker that does something like Erik Benson’s Morale-o-Meter.

On Technorati: ,


Short URL: http://sachachua.com/blog/p/3407

Alejandro

I love studying in the common room. I like the floor-to-ceiling
windows facing the courtyard. I like the sun-drenched white walls and
the gently rippling water. I love the opportunity to encounter all
these interesting people in Graduate House.

Alejandro is one of the maintenance staff here. I first encountered
him and his co-worker when I was practicing billiards. They joked
about not wanting to play against me because I looked so serious, and
thereafter I smiled at them whenever I ran into them.

Today we chatted a bit more. He asked me what I was taking and where I
was from. Upon learning that I’m from the Philippines, he said a few
words in Tagalog. (Aww!) He also asked if I was planning to return or
stay in Canada, and I told him that I wasn’t sure yet. A PhD is
tempting, and so is work, but I miss my country.

He asked me what I was doing, and I told him about the reading paper
that I’m working on. “You should be outside,” he said. “It’s a
beautiful day. You can study until fwop,” and he mimed a clock’s
hands, “and then you can go dancing.” He proceeded to demo salsa,
merengue, and other Latin dances. And he knew how to dance really
well!

A Spanish teacher in his native Chile, he found upon arriving in
Canada that few of his university credits would be honored and that
he’d have to start all over again. He said, “Forget it,” and started a
pizzeria. He worked hard for six years, but it folded and he was left
with a huge debt. Now he works at Graduate House to pay the bills.

I told him how even PhDs from developing coutries are often forced to
give up what they had trained to do, and how many people from the
Philippines go to other countries to find better opportunities but
don’t get further than being a domestic helper or a construction
worker, much less open a pizzeria. I said, “Well, at least you have
salsa…” He laughed.

Canada has its own little sorrows.

Random Japanese sentence: このようにして、おじいさんは、あたりをみまわすたびに、きれいなねこがみつかっておいていくことができなくなりました。そして知らない間に、そこにいるねこをみんな拾い上げてつれていくことになってしまいました。 So it happened that every time the very old man looked up, he saw another cat which was so pretty he could not bear to leave it, and before he knew it, he had chosen them all.

On Technorati:


Short URL: http://sachachua.com/blog/p/3406

Meep! Comments lost!

I’m so, so, so sorry. I’ve just realized that my comments form was
silently dropping comments. To anyone who’s used it to post a comment
for… well… a good while – ever since the antispam answer changed
to “one” – please repost, if it’s still relevant…

… and if it was about my recent crisis, don’t worry, I know you care… =)

Random Japanese sentence: 猫は背中を丸める。 A cat arches its back.


Short URL: http://sachachua.com/blog/p/3405

Deskbar applet – GNOME coolness!

If you’re on the GNOME windowing environment, check out nafai77′s blog entry about Deskbar. Totally cool. It’s almost like Quicksilver for non-Macs.

On Technorati: ,

Random Japanese sentence: 猫はテーブルの上で眠った。 The cat slept on the table.


Short URL: http://sachachua.com/blog/p/3404

More Rails twiddling

My “What’s in My Fridge” app is now a little bit smarter. It can keep track of what’s still in my fridge, what I’ve used, and what I’ve thrown away. I wonder if this will let me come up with statistics on how quickly I go through certain ingredients…

Random Japanese sentence: ねこはひなたで遊ぶのが好きだ。 Cats like playing in the sun.


Short URL: http://sachachua.com/blog/p/3403

Uh oh…

My power supply isn’t happy. The cord near the end is now a bit
sensitive to changes in angles, so there might be a slight break near
there. And it’s the part near the computer, not the easily-replaced
mains cord! Aiyah…

Must figure out where to find Fujitsu AC adapters here… Output: 16V 2.5A.

Random Japanese sentence: 彼はとても満足そうに見える。 He looks like a cat that ate the canary.


Short URL: http://sachachua.com/blog/p/3402

Thank you, Lazy Web! – Feedrinse

Aha! Someone’s finally gotten around to making an RSS feed filter.
It’s about time! http://www.feedrinse.com/

Now, someone just needs to think about how to make this work for
free…

Random Japanese sentence: うちの猫は大変海苔が好きである。 Our cat is very fond of sea weeds.


Short URL: http://sachachua.com/blog/p/3401

GTALug; best practices for socials

I remembered just in time to run down to the monthly GTA Linux Users
Group socials at the Graduate Student Union Pub. Tons of fun chatting
with Bill, Seneca and the others. Happy to also report that Drew
(previously-mentioned booth-babe-comment person) was well-behaved. =)

I had recovered my good mood and was chatting with the others about
strange things about Barbie dolls, laughing and smiling in my usual
animated manner. (Animated as in anime, indeed!) Someone from another
table approached me and said that his friend had been wanting to meet
me. On cue, the poor guy at the other table was roundly teased by his
friends. I smiled and told the friend thank you. I blushed a bit – it
was quite flattering, after all. I then flashed a friendly/polite
smile and returned to conversing with the other people at my table.

I think that worked out quite well, as I didn’t lead him on but at the
same time didn’t make him feel terrible. In retrospect, my response
could have been a bit more helpful – telling his friend I’m taken
would make sure his friends don’t tease him too much about it – but so
far, so good. =)

What are the best practices for situations like these?

Random Japanese sentence: メグはペットに猫を飼っている。 Meg has a cat as a pet.


Short URL: http://sachachua.com/blog/p/3316

Research-happy!

I went up to IBM today. I can’t tell you the details as I’ve signed my
life away, BUT suffice to say that I felt very happy after the
conference call, as the person we were talking to listed all the stuff
I’m interested in. As a fledgling researcher, I find it totally
awesome when I have the same ideas that other people do. =) That tells
me I’m on the right track. This kind of synchronicity is just perfect
for a master’s student. I can save the ground-breaking, mind-boggling
stuff for my PhD.

Happy girl!


Short URL: http://sachachua.com/blog/p/3269

Scrabble game results

Name (running total) Name (running total) Name (running total) Name (running total)
Rob Steve James Calum
10 9 16 7
13 (23) 24 (33) 20 (36) 13 (20)
34 (57) 13 (46) 28 (64) 29 (15)
30 (87) 24 (70) 18 (82) 15 (44) – then Calum had to leave, so I replaced him
11 (98) 20 (90) 18 (100) 11 (55)
18 (116) 21 (111) 8 (108) 92 (147)
9 (125) 20 (131) 10 (118) 4 (151) – I finished first

By official Scrabble tournament rules, this would’ve been

-7 (118) -8 (123) -1 (117) +16 (167)

but Rob, Steve and James decided to play on (ah, well, house rules -
but that messes up end-game strategy! mrph).

David was appropriately impressed by the 92-point move. So was I.
Steve was annoyed with James for leaving me with that opportunity. I wasn’t. =)

On Technorati:


Short URL: http://sachachua.com/blog/p/3268

Darn you, SELinux!

I’m very annoyed with SELinux today. I’ve just figured out that the reason I was getting very mysterious access denied errors was that I hadn’t done the magical incantation:

chcon -R -t httpd_user_content_t the_dir_to_show_in_apache

which allows the use of those directories in the HTTP context.

Hey, it’s my first brush with SELinux… Anyway, I’m glad I got that
sorted out, although it took me slightly over half an hour to figure
that out and get Twiki up and running. Mrph.

Next step: Kerberos authentication.


Short URL: http://sachachua.com/blog/p/3267

Valentine’s

Yesterday was fantastic! I woke up extra early and chatted with
Dominique, who Googled up a few wonderful poems and read me a few.
Then my mom called me up with news that some of my friends were over
there for a small party! =) Whee!

I did well in my two speeches today, despite mishaps. I survived my
metadata presentation despite having to go with Plan B (blackboard)
when the USB disk wasn’t recognized by the faculty computer, and I had
fun doing the Evaluate to Motivate talk despite leaving the prepared
overheads in the department.

In the evening, I declared a Chocolate Night. Steve, Rob, David, Mike
(Math), James, and Calum were there to play Scrabble and munch on nice
chocolate.

Happy. =)


Short URL: http://sachachua.com/blog/p/3266

ARGH! I hate forms

So the application form for the Delta Kappa Gamma scholarship was a
password-protected Microsoft Word document that included precise
instructions to type everything using 10pt font. Which would have been
nice, if the bloody password-protected file allowed you to actually
_do_ any of that instead of limiting you to size 8 all-caps. The thing
missed a couple of fields, too.

An hour after I submitted it, I decided to try the somewhat shady DOC
- RTF – DOC-and-unprotect trick. That worked, and I finally got to
edit the document.

Of course, I didn’t have a copy of my application data any more.
Didn’t get saved in the bloody Microsoft Word document. ARGH. And I
didn’t think of printing off another copy for my records. Lesson
learned: always print applications twice.

I’m planning to wander over to the admissions office early tomorrow
morning and ask if I could photocopy my application for my records.
I’ll mention the problem I had with the font size on the document. If
they think it might be a big thing, then I can spend the rest of the
morning feverishly retyping the form, getting rid of all the fields and
making sure the font size is just right.

I should also go and ask my supervisor to fax a copy of his reference
letter.

Right, that sounds like a Plan.

Today: lots of checking.

On Technorati: , ,


Short URL: http://sachachua.com/blog/p/3203

Feedburner rocks

Feedburner just added interactivity to
RSS feeds. People reading my RSS feed
through Feedburner can now easily e-mail things or add them to
del.icio.us. I should add similar links to my regular blog.

On Technorati: ,


Short URL: http://sachachua.com/blog/p/3204

I’ve figured out why I’m here! =)

I love application essays. They make me think about what I’m doing
with my life. Sure, I could probably just make something up or use my
StatementOfPurpose from last time, but I actually like having to stop
and think.

And I’ve figured out a little bit more about how my project with Mark
Chignell fits into the grand scheme of things!

You see, I’d like to make it easy for people to collect and share
Internet resources that they’ve found useful. For example, consultants
in large software companies should be able to find out which documents
other consultants in their group found useful. They should be able to
find experts on a given topic, and they should be able to explore
other people’s interests too.

Although several web-based services allow social search and discovery,
they haven’t yet been widely adopted. My thesis will give me time to
think about what we can to do make these systems easier to use. My
human-computer interaction coursework will teach me how to measure the
effects of the changes we make to the interface. My background in
programming and computer science will allow me to quickly prototype
new interface designs.

And the grand scheme of things?

I think it would be fantastic if teachers could have that kind of
network. Imagine if I could filter my search for programming exercise
ideas according to what other introductory computer science teachers
found useful, or if I could explore what other people found useful.

Imagine if teachers could choose a set of useful webpages and make it
easy for students to prioritize those pages when searching. Imagine if
students could contribute their own hyperlinks. I think that would be
really cool.

But the interface needs to be much simpler, and it needs to be robust
and accessible. We can’t rely on constant high-speed Internet
connections. Consultants use laptops and teachers in the provinces
might connect only once in a while. Both sets of people are Really
Busy and don’t have the time or patience to muck about with
complicated interfaces. It needs to be simple and distributed, and it
needs to pack a lot of value.

Right.

That sounds like a great challenge. That’s what I want to do, and I
can see how it might be useful. If only because I would _love_ to know
what other teachers bookmark, and I want to have a quick and easy way
to tell people about interesting websites without flooding their
mailbox…

Mmkay. I’ll formalize this after I wake up, but I think I’m onto
something here.

On Technorati: , , ,


Short URL: http://sachachua.com/blog/p/3202

Flash fiction: Damsel in Distress

- In response to flashxer prompt: “He was a real cliche. Top of the
heap. Strong as steel, a go getter who let no grass grow under his
feet, an overachiever who kept his nose to the grindstone and never
looked a gift horse in the mouth.”


DAMSEL IN DISTRESS (263 words)

He fought his way past the thorny briars and slew the ferocious
dragon—all without getting a spot on his gleaming armor. He climbed
to the highest room in the highest tower, took off his helmet, and
woke the sleeping princess with a gentle (but manly) kiss.

She snapped awake. “ARRRRRRRRRRRGH! Can’t anyone get any rest around
here?!”

“But… but… Weren’t you a damsel in distress?”

“A damsel in _STRESS._ Which is why I was resting, until you very
rudely came along and woke me up.”

“I’m sorry! It’s just that I saw a dragon, and dragons usually guard
beautiful princesses and…”

“What did you do to my dragon?!” She ran to the window and saw the
bloody carcass. “Pookie! You killed Pookie! Don’t you know how hard it
is to raise dragons? Every time I manage to train one to sit and beg,
some dumb oaf comes along and kills it!”

“I’m sorry—I really am—forgive my—”

“And you chopped down my rose garden!”

“I’m really sorry about that, but I had to rescue—”

“I have HAD it with people who ASSUME that princesses need RESCUING
more than they need their BEAUTY SLEEP! OUT!” She bashed him with a
pillow. “OUT! I don’t want to see you ever again!”

“Okay! I’m sorry!” He backed down the flight of stairs, cowering
behind his shield as the princess pillow-whacked him all the way to
the ground floor.

“AND STAY OUT!” she yelled as he galloped off into the sunset. She
bolted the door, trudged upstairs, and started writing a letter.

Dear Dragons-R-Us…

E-Mail to FlashXer@yahoogroups.com


Short URL: http://sachachua.com/blog/p/3141

Speech #7: One in a Million

Today I gave my Toastmasters speech #7 (Research Your Topic): “One in
a Million.” I talked about what made Olympic athletes and prima
ballerinas and chess champions one in a million: luck, work, and love.
Luck—being in the right place at the right time, having the right
opportunities and the right teachers—is something, but it’s not
everything. I shared the results of research that show it takes around
10 years to become an expert in something: 10,000 hours of work, which
is just three hours a day. That’s the work part. And love—love is
what gets you through that. Love is what makes you push yourself past
the comfort zone. Love is what makes those three hours a day just fly
by. So if you want to be exceptional, just remember: 10 years, 10,000
hours, is just 3 hours a day—and your ten years can start today.

Throughout the explanation of luck, work, and love, I wove in stories
about my childhood: gymnastics lessons, piano practice, chess… and
computers, of course. =) (They laughed when I told them my only
souvenirs from gymnastics were posture, poise, and a flat head from
falling on the floor too many times.)

I wanted to talk about my parents, but even after I dropped a lot of
material from the speech, I still clocked in at nine minutes—well
over the 5-7 minute goal. Then again, even our timer didn’t realize
how much time had already passed. <grin> I guess it was a good
speech, then.

The audience liked how I used simple statistics, research, and
personal experience to support a story. =) I got plenty of wonderful
feedback from the Toastmasters! It’s always fun to perform in front of
such a supportive and helpful audience.

Not bad for a speech I’d _just_ finished sketching in class that
afternoon… I had most of it in my speech ideas notebook, but I
hadn’t settled on the specific examples until today.

Much fun. I’m looking forward to doing speech #8, which will help me
get comfortable with visual aids. I’ve already got something planned
for that one! I don’t think I’ll be able to finish my CTM by the end
of the year—not with the end of term coming up!—but it should be
pretty smooth sailing, thanks to my well-stocked idea book.

Whee!


Short URL: http://sachachua.com/blog/p/3140

Bought winter boots!

After a _lot_ of comparison shopping (all along Yonge Street, from
Bloor to Queen), I finally settled on two pairs of winter-ready boots.
Nice, sensible black boots lined with something to keep my feet warm.
They’re supposed to be good until -20′C, so I should be all set. I
also picked up a white polyester muffler from Sears because the
texture’s similar to my cashmere one.

That just about completes my winter clothing kit. I could use a few
more hats, I suppose, but it’s all good.

Projected expenses CAD 650
Total spent CAD 462.76 (and that’s with 4 coats, a number of pairs of gloves, and a couple of unnecessary items…)

Tips for other international students in Toronto:

- Buy coats at Goodwill, Salvation Army, and other thrift shops for

awesome savings. You might be able to find good styles, and the
quality’s pretty okay. Check out the Goodwill at Gerrard. I found
petite coats there. Also, it’s close to the Salvation Army shop
(Parliament, I think?).

- Buy shoes new. Payless Shoe Source is a good place to get decent

boots. Finding your size and style in liquidation sales or
second-hand shops is too much work. You might also want to buy jeans
new for the same reason.

- Invest in a few quality pieces. My wind-resistant fleece (Mountain

Equipment Co-op) is expensive at CAD 99, but it’s very good at
keeping me warm, it’s easy to layer and it looks pretty decent. I
think it’s a good deal. And it feels good to wear, too. =)


Short URL: http://sachachua.com/blog/p/3076

Discovering exercise

Today I not only discovered my inner nerd, but I also started down the long and slippery path of cultivating my inner jock. ;)

Well, no, not really. But I _did_ step inside the athletic center just
across the street. After all, my funding’s already paying for it.
Might as well use it at least _once_ in the semester, right?

After wandering through twisty little passages (all alike), I
eventually found a drop-in class that promised a good workout. The
Steps workout is an aerobic thing that uses, well, a step in front of
you. I floundered like the uncoordinated geek that I am, but I managed
to enjoy myself. Forty minutes of workout flew by really quickly!

So that was fun. Stretching was fun, too, but I still have a terrible
time doing crunches. I had to stop several times just to catch my
breath and untangle my not-quite-there-yet abs.

Good workout. I think I’ll go again next week.

I tried the exercise bikes, too. There were really cool ones that
measure your heart rate and adjust the resistance automatically. I
didn’t have the time or energy to stick it out through the whole
30-minute thing, though, so that’s something I’m going to try again
next week. =) Something to look forward to!

No 30-day pledges, no promises to stick to a thrice-weekly schedule.
I’m just going to see if I can make it back next week.


Short URL: http://sachachua.com/blog/p/2979

Charity

Philippine photographers show their mercenary side, and Charo is incensed.
I think those people missed the point. (Except for Charo, who’s right on. =) )

Yes, it would be nice if the Ayala Foundation offered some
compensation. But hey, it’s not just about money. An opportunity to
meet four other photographers who care enough about the country to
donate their time, _and_ an opportunity to establish or improve
relations with the Ayala Foundation… Not bad! _Plus_ you get the
warm and fuzzy feeling of having helped out. Good stuff.

I’m in Toronto right now, and I’m still making room in my budget for
charity. I’m definitely looking for something I can donate time to.
Hmm, maybe I can check if the Hospital for Sick Kids will let me
volunteer to tell stories or something like that…

On Technorati:


Short URL: http://sachachua.com/blog/p/2903

Teaching assistantship

I wasn’t sure whether I should go for a teaching assistantship. New
campus. New university culture. New subjects I’d never taken before.
Heck, if teaching CS123: Introduction to Software Engineering was
enough of a harrowing experience (I profusely apologize to the
students who had to suffer through that!), how would I handle teaching
here? I felt that I needed a year to immerse myself in the environment
and learn more about the subjects before even considering a teaching
assistantship.

By the time one of my friends told me to just Go Ahead and Apply for
It, the deadline had long passed. I e-mailed Brenda Fung telling her
that I was interested, anyway.

Good thing I did. I just got e-mail from her asking me to get in touch
with one of the professors in order to discuss my teaching
qualifications. And good thing my previous classes gave me plenty of
comments on my TeachingEvaluations, too (although most of them were
about candy)…

Teaching. I miss asking and answering questions. I miss racking my
brain for examples and analogies. I miss seeing that aha! moment. I
miss teaching. I miss waiting for people who never come during
consultation hours. Sheesh, I even miss checking papers. I’ve got this
awesome collection of gel pens now, which is good because I prefer to
check in green, purple or some other non-red color.

I think teaching will certainly make the year fun.

I should read phdcomics again…

On Technorati:


Short URL: http://sachachua.com/blog/p/2902

Met with Aristotle Isais

I hate commuting. I spent an hour in a bus that crawled through Makati
and eventually broke down before the Makati Stock Exchange. Instead of
hiking all the way to the MRT destination or hopping onto another
agonizingly slow bus, I decided to take a taxi. Expensive, but more
comfortable. I don’t really trust taxis, though. Good thing this one
was honest.

Because of that transportation mishap (I really thought I could take
the bus), I ended up being slightly late. Good thing I called their
landline, as Aris left his phone at home.

Might help him. Would rather his company found a way to keep the
schedule or work with the constraints, but if push comes to shove,
I’ll help him out because he’s my friend. =)

テーブルの下には黒猫がいた。 Under the table was a black cat.

On Technorati:


Short URL: http://sachachua.com/blog/p/2719

Had tons of fun!

I learned so much from the conference—proof that the best way to
receive knowledge is to give it away! I met a lot of people that I
should definitely keep in touch with because they’re doing really cool
things, like Dr. Maja, Justin, Pauline, Lawrence…

Here are some more conference notes:

Justin was a great speaker. He structured his talk to have some
interactivity, breaking the students up into groups so that they could
try out project planning. Slightly marred by students’ inertia, but a
good idea anyway. He then put forward a humorous scenario that neatly
highlighted the challenges of project management and explained the
basics of PM through jokes and stories. Excellent speaker, probably
the best presenter in the conference.

They asked me to repeat my Knoppix talk for the benefit of the
students, so I did my whizbang look-how-much-you-can-get-on-one-CD
presentation. That was fun, too.

Met Dominique’s landlady. She was really nice.

Had to buy a swimsuit. I came to Cebu without packing a swimsuit—what
was I thinking? Grabbed a pair of slippers, too.

Had dinner with the camera club. Dominique came as well. That was fun.

He’s teaching me Bisaya. If I can learn enough Japanese to make myself
understood, I should be able to learn enough Bisaya to charm people.
Here’s what I took up today:

Maayong hapon. Good afternoon
Lingaw ka-ayo. It’s lots of fun.
Nindot ka-ayo. It’s very nice.
Maski studyante, kaya ka-ayo. Even a student can do it.
Daghan ko natun-an gikan sa … I learned so much from … (hmm, I think I got the Bisaya part wrong. Maayon?)
Daghang salamat. Thank you.

(Thanks to James Lloyd Atwil for the corrections!)

I didn’t get to use the phrases during my talk, though. Got nervous. =)

More thoughts on software patents. In short, I think they really suck,
and that our government should focus on fixing copyright.

On Technorati: , , ,


Short URL: http://sachachua.com/blog/p/2663

Image processing

You know, we really can teach image processing as part of an
introductory CS course. It opens avenues for creativity and makes
mathematics less intimidating. The BlueJ book talked about it; it
really does make sense. Histograms, gamma correction, posterization,
etc… fun!

On Technorati:


Short URL: http://sachachua.com/blog/p/2662

Squeak talk

- Luca, from Italy. Been in Japan for 1 year. 4 months in Tokyo. Lived in Sendai. Working as a private researcher on computational electromagnetic fields. Solve big system of equations using Linux. Not a system administrator, but he likes it.
- Dave. I also just moved here from Sendai. Looking for work as a sysad in Tokyo. Moved here on Wednesday. Lived in Sendai for a few months. Moved from Vancouver.
- George. Six months in Japan. Came at the December meeting at the pub and had a specific Linux question; thrill to be there, so came back this time and next time will come early so that he won’t get lost. Moved from South Carolina last June.
- Keith. Met some of you at the pub. Have been here for the last 4 months. Come from Australia.
- Kevin. Three months. Moved from New York. Wife Miki. Working at Nokia.
- Jim. Usually wakes up late. Been in Japan for around 14 years. Works for Puma. Use Linux there—one machine, starting to play with it.

Squeak! Squeak!

Datacomm guy, college student—Keio University. Wife teaches English and computer technology.

- Alan Kay Project — teaching children with Squeak

Squeakland, Play with Squeak, squeak.or.kr, small land, croquet (3d
environment for Squeak), Tweak (nextgen of Morphic), but stick with
the versions available today.

I want. =)

On Technorati: ,


Short URL: http://sachachua.com/blog/p/2569

TLUG meeting: Knoppix

Today we have two presenters talking. Before we do that, we usually have new faces give a short introduction.

- Craig. In and out of Japan, 1996 to 1999. In Tokyo since November.
- Laslow. I heard that this is the place you go to get your old Lotus 123 programs fixed. UNIX user since 1996 or so.
- Phil. First time here. Been in Japan for two months. Probably stay here for a couple of months more. Managed VPN services from Japan to China.
- Zev. Somehow TLUG president for this year. Linux user since 1995, but wasn’t very serious. Personal use, on and off, since 2000.

Edmund Edgar is going to talk about making live CDs.

- Ooooh, apt-get works after you chroot Knoppix’s source/.
- Making the compressed filesystem takes around an hour on an average computer of today.
- Need a lot of disk space and memory. HD: 700 MB for iso, space for the uncompressed filesystem (3-4 GB), lots of virtual memory (at least 700 MB of available virtual memory).
- GRUB can boot ISOs directly? That’d be handy.
- Knoppix Japanese distribution

On Technorati: ,


Short URL: http://sachachua.com/blog/p/2568

Planner poetry

I’m up to here with things to do
  And buried under data
The notes I keep all filed away,
  The tasks—I’ll do them later.

>

+1 to put things off a day,
  Tomorrow: work ’til all is done,
Today I can relax—but then
  Tomorrow’ll never come.

>

My webpage looks impressive, sure,
  But check a few days later.
The same tasks appear. I know,
  I’m such a procrastinator.

On Technorati: , , ,


Short URL: http://sachachua.com/blog/p/2567

Personal blog

Personal stuff will now be posted on
http://www.livejournal.com/~sachachua/ . There be dragons. Here,
however, will be lots of Emacs hackery and technical goodness.


Short URL: http://sachachua.com/blog/p/2496

Kanji for the day

このセミナーは事前登録にて会費無料となっておりますのでお気軽にご参加ください。| This seminar’s registration is free of charge, so please join!


Short URL: http://sachachua.com/blog/p/2495

Oh, blast. MIT application incomplete.

They need a paper copy of my transcript. Also, recommendation letters
from my teachers haven’t reached them yet.

I’ve probably deep-sixed my chances of going to MIT next year, as I
think I come across as an irresponsible person who can’t keep track of
deadlines and who will thus be perpetually late for other
requirements. And to think I maintain a personal information manager!
;)

It’s true, though. I didn’t give this application as much care as I
should’ve. Something to learn from, I guess.


Short URL: http://sachachua.com/blog/p/2494

Waaah, embarrassed

I was trying to call my mom using my cellphone’s redial feature. I
heard the phone ring. Yay! But a male voice answered; definitely not
my mom. Oh no! I must’ve hit another key somewhere… I couldn’t
figure out who it was by voice alone, and my phone wouldn’t show me
the number. Panicking, I stuttered my name and something about just
calling to say hi. Unfortunately, I had to go and admit that I didn’t
know who was on the line, and he didn’t want to tell me, so he just
hung up. After the call, I checked the phone. Uh oh… I’d just called
Eric. I called him right after that to, err, congratulate him on the
ICPC and, ah, show that I did actually remember who he was. Still, it
was very embarrassing.

Then I went back to the redial feature to try to figure out once again
how to call my mom. I hit the green button again…

… and got another male voice. WAAAAH! I got really flustered. I
blurted out the story about the previous call and asked who was on the
line. He laughed, amused, and identified himself. How embarrassing. I
really should talk to him more. I should have many opportunities to do
that someday…

I deserve at least one unflustered conversation today, but my mom’s
probably still in Banaue… <sniffle>


Short URL: http://sachachua.com/blog/p/2395

“Teammates Train for Code-Crunching Match”

A three-person team of computer science majors at Siena College
solved word search problems last Friday while the rest of the
campus enjoyed the weekend. The students were practicing for this
Saturday’s preliminary competition of the Association for
Computing Machinery (ACM) International …
http://www.acm.org/technews/articles/2004-6/1101m.html#item5

E-Mail%20from%20technews@hq.acm.org


Short URL: http://sachachua.com/blog/p/2394

“Milking Knowledge Anywhere at Any Time”

The IST program’s Multimedia Interaction for Learning and Knowing
(MILK) project is designed to break knowledge workers out of the
office-based desktop PC environment with a suite of tools providing
anytime/anywhere knowledge management (KM). Such a scheme takes
into account the fact that …
http://www.acm.org/technews/articles/2004-6/1110w.html#item4

E-Mail%20from%20technews@hq.acm.org


Short URL: http://sachachua.com/blog/p/2393

Eclipse plugin: Emacs Environment to Eclipse

http://eclipse-plugins.2y.net/eclipse/plugin_details.jsp?id=287

- Use tab to indent the current line. http://park.ruru.ne.jp/ando/work/who/ee2e/index.html

A TLUGger mentioned this as a barrier to use recently, so may be
interested in this plugin.

Not sure how Emacsy things become, though.


Short URL: http://sachachua.com/blog/p/2392

Thanks to Tala for quick update re: ACM!

Thanks to Tala for quick update re: ACM!
http://icpc.baylor.edu/icpc/regionals/ViewRegionalStandings.asp?ContestID=707

Hah. See that? That is, like, way, way cool. Only 31 minutes behind
the champion!

1 University of Tokyo Gokuri-Squeeze Manila Site Champion 7 1013
2 Ateneo de Manila University Res cogitans Philippine Champion 7 1044
3 ZhongShan(Sun Yat-sen) University ZSU-Draco Third Place 5 700
4 Hong Kong University of Science and Technology HKUST1 Fourth Place 5 790
5 University of Indonesia Fasilkom UI Fifth Place 5 846
6 Bina Nusantara University Binus Lenix 3.1 Sixth Place 5 958
7 Donghua University EverGhost Seventh Place 5 964
8 Ateneo de Manila University Ateneo3 Eighth Place
8 De La Salle University Balloons R Us Eighth Place
10 University of the Philippines, Los Banos UPLB Peak-One Tenth Place
11 National Tsing Hua University Super (wo)man! Eleventh Place
12 Ateneo de Manila University Ateneo2 Twelfth Place
12 Ateneo de Manila University Ateneo4 Twelfth Place
12 Fudan University Powdery Snow II Twelfth Place
15 Hong Kong University of Science and Technology HKUST2 Fifteenth Place
15 National Tsing Hua University The White Fifteenth Place
15 University of the Philippines Diliman Kwek-kwek Fifteenth Place
18 University of Asia and the Pacific White Castle Eighteenth Place
19 Ateneo de Davao University Mocha Java Nineteenth Place
20 MSU-Iligan Institute of Technology D3AdL0cK Twentieth Place
20 The Chinese University of Hong Kong Twilight of the Gods Twentieth Place
20 University of Asia and the Pacific Ali Java Twentieth Place
23 Ateneo de Davao University Espresso Twenty-third Place
23 MSU-Iligan Institute of Technology boyz II funky Twenty-third Place
23 The Chinese University of Hong Kong Newbies Twenty-third Place
26 Ateneo de Davao University Cappucino Twenty-sixth Place
26 De La Salle University x3m Team Twenty-sixth Place
26 Hong Kong University of Science and Technology HKUST3 Twenty-sixth Place
26 Mapua Institute of Technology Mapua Team1 Twenty-sixth Place
26 Saint Louis University SLU CICS T1 Twenty-sixth Place
26 University of Saint Louis Tuguegarao exepxons Twenty-sixth Place
26 University of the Philippines, Diliman Fishballs Twenty-sixth Place
26 University of the Philippines, Diliman Taho Twenty-sixth Place
26 University of the Philippines, Los Banos UPLB Fertility Tree Twenty-sixth Place
Ateneo de Manila University Ateneo5 Honorable Mention

… lots of other universities. Check out the list at
http://icpc.baylor.edu/icpc/regionals/ViewRegionalStandings.asp?ContestID=707

Thanks to Tala for quick update re: ACM!

E-Mail%20from%20Richi’s%20server


Short URL: http://sachachua.com/blog/p/2391

Strange problem with Linux networking

For some reason, I sporadically have problems with Linux networking,
although Windows works without any obvious problems. DHCP works. I
acquire a sane-looking address and the same connection details (DNS
server, default gateway, netmask). DNS lookups work, as the DNS is
within the subnet. However, routing packages through the gateway
doesn’t work on Linux. Ethereal shows me that my computer keeps
sending ARP requests for the gateway, which doesn’t answer. When I set
the MAC address for the gateway using arp —set, I get delays when I
try to access it, and no successful transmissions.

The strange thing is that it sometimes works, it sometimes doesn’t.
This morning and early this afternoon, I connected without problems.
Sometimes I manage to connect during the night. Possibly a
misconfigured computer joining the network? (I hope it’s not mine.
Then again, I successfully connect some of the time.)

Now, I know the gateway exists, because I can see traffic from it from
time to time—usually, very delayed ARP responses to _other_ people,
not to me. Could my MAC address be getting filtered on the server
side? I’m not sure. That requires some setup (unless they have an
automated firewall doing weird stuff) and doesn’t explain why I can
occasionally access the Net.

Very strange.

I don’t think it’s my computer’s fault, but I’m still annoyed.

Other packets are going through the gateway fine. Why don’t mine?

Wild speculation: perhaps the server has a Windows-biased virus that
won’t let uninfected hosts access the Internet… ;) So much for
Occam’s Razor, eh?

I miss the Internet.


Short URL: http://sachachua.com/blog/p/2289

Nomikai

The nomikai was tons of fun! I’m looking forward to the next one. I
met lots of interesting people. Michael Moyle is into Linux
administration and programming, and is looking for a part-time job
while he studies Japanese. Michael Reinsch is into component systems research, a higher-level version
of aspect-oriented programming. He likes strongly-typed languages.
Jeffrey Keays is a Java non-fan and likes PHP and Perl, and is fairly
interested in aspect-oriented programming but hasn’t really gotten
into it beyond reading a few papers, as the main implementations use
Java. He likes loosely-typed languages and thinks Ruby is delicious.
Thomas Giuffré is his boss.
Ken’ichi-san thinks Planner is a bit difficult to use, and is of the
opinion that no Emacs-based PIM has quite hit the mark yet. He laughed
when he saw his website on my task list. Uekawa-san
(dancer,dancerj(IRC)) is a DD who’s also going to Kansai Open Source 2004. We swapped GPG fingerprints, so all I have to do now is study
for the interview. Moon Ki Cho is Ernest’s friend and is interested in
Linux, but hasn’t really tried it out yet. There was one other girl. I
think I was the youngest there.

I particularly enjoyed practicing my Japanese, although I’m still bad
at it. =)

I made it back barely in time. I managed to catch a train going all
the way to Sangyo Shinko Center, and I even made it before curfew.
Whee! I will certainly attend the next one.


Short URL: http://sachachua.com/blog/p/2288

CHOPSTICKS

“Help me do my hair.” Palsied hands guided mine to the pair of
chopsticks Mama always used to bind her hair in a tight bun. I
gathered the limp gray strands gently, conscious of Mama’s fragility.
No matter what I did, though, the chopsticks kept slipping out of the
knots I made.

“Harder.” She reached up and gave the chopsticks a sharp twist. I
winced as I heard hair snap, but her face showed no pain. “I want to
look my best when I die.”

“Mama, don’t say such things.”

“I’m dying and you know it. No sense pretending. When I’m gone, you
have to keep the family together. Someone has to keep your brothers
from killing each other.” She nodded toward the other room. Through
the thin wooden walls, we could hear them already arguing about
inheritance.

“How can I? They won’t even give me the time of day.”

“I know you can do it. You have to be strong.” She patted my hand.

I felt her slip away. “Mama!”

“I love you all.” As the light left her eyes, her head bent forward.
The motion jarred the bun loose and the chopsticks clattered to the
floor. I reached for them and tried to do her hair again, but there
was no strength left in my shaking fingers. A door slammed shut,
and my family was no more.

(Written on the train.)


Short URL: http://sachachua.com/blog/p/2287

Foo

E-Mail%20from%20Jose%20Quesada


Short URL: http://sachachua.com/blog/p/2286

OUT OF THE RAIN — 25 words, 158 chars

The drenched pair eyed the unrelenting storm.

Resigned, he asked, “Coffee?”

A smile. “Don’t you just hate rain?”

The puddles dried. They were still there.


Short URL: http://sachachua.com/blog/p/2189

Smooth lasagna workflow

My workflow for preparing lasagna is pretty smooth now. No changes to
the recipe, just minor tweaks to the process. I didn’t waste too much
time.

1. Put the ground beef in the microwave and start defrosting it in

the large container you’ll use for the sauce.

2. While the beef is defrosting, use the water heater and a saucepan

to boil water for the lasagna.

3. While the water heats, peel and chop the onion.

4. By the time you finish chopping the onion, the meat should be done

defrosting. Throw the onions in and set the timer for 3 minutes.

5. The water should be boiling at this point. Pour a little salt and

(butter? oil?) into the water. Break the lasagna noodles in half
and dump them into the water. You can reduce the heat to medium.

6. Give the meat a quick stir.

7. While the meat is browning and the lasagna is boiling, open the can

of sliced mushrooms. Cut open the foil packs of spaghetti sauce.
Every so often, check if the lasagna is done.

8. Drain the lasagna. Dump it onto a plate.

9. Drain the meat. Put it back into the container with the sliced

mushrooms and spaghetti sauce. Add lots of Italian seasoning and a
bit of salt. Microwave for 5 minutes.

10. Separate the lasagna into individual pieces. If the pieces stick

together, you can use water to ease them apart. If you can’t, put
the pretty sheets aside for the top layer.

11. While the sauce is being microwaved, prepare the cheese mix by

dumping everything into a large bowl and mixing it with a spatula
or spoon. Make sure the serving dishes are handy. You should be
done with the cheese at about the same time the sauce finishes.

12. Prepare one dish. Pop it into the microwave. While that’s

cooking, prepare the next, etc. Pipelining!

The sauce was just the right volume, too. Using 400g spaghetti sauce
instead of 200g gave me more flexibility. I have a little extra sauce,
but that’s okay.


Short URL: http://sachachua.com/blog/p/2188

Carne Norte and scrambled egg for lunch

Woke up too late (or lazy) to make pancakes this morning, so I
prepared lunch instead. There were strange insects in the rice. I
think I’ll have to throw it out. I decided to buy rice at the canteen
instead, so I packed viands. I fried the contents of a small can of
carne norte and one scrambled egg this morning. Brought it to school
in one of those handy airtight containers. Pretty good lunch. My first
foray into canned meat. Not bad for someone who’d never eaten corned
beef.

Forgot the container in school. Should remember to pick it up.

Cooked pasta for dinner. Funghi, aglio et olio. Fancy name for
mushrooms, garlic and olive oil. Should probably try button instead of
oyster, as oyster’s still a little slimy even when cooked.

Minced two extra heads of garlic and stored them in olive oil. The
next pasta dish will be easy to throw together as I have all the
ingredients necessary—even pre-sliced mushrooms.

Rustans sells microwave egg containers. I think I’ll get one on
Thursday. Must come up with a plan to finish the eggs. I think I’ll
have mushroom and cheese omelet for breakfast tomorrow, as I still
have half a can of oyster mushrooms.

Must remember to make significant inroads on eggs and potatoes.

Menu plan:

Wed breakfast Mushroom and cheese omelet
Wed lunch Rest of pasta and olive oil sauce, left-over mushroom and cheese omelet (if any)
Wed dinner At home
Thu breakfast At home
Thu lunch Luncheon meat and canteen rice
Thu dinner Potato soup and sausages (whoops, should probably cancel meeting if I’m trying a new dish. Can probably do lasagna rolls instead, as that was very nice last time)
Fri breakfast Twice-baked cheesy potato
Fri lunch Potato omelet (two birds with one stone!)
Fri dinner At home

Short URL: http://sachachua.com/blog/p/2113

A difference in slide philosophy

-----BEGIN PGP MESSAGE-----
Version: GnuPG v1.2.4 (GNU/Linux)

hQEOAzQ6c9jHW5SMEAP9E8mLKTchZ3qKAqs335o/mMFYwVr7cZKKA9zmfNcVuTNJ
+g6/OA9eo5UHiD/QNfPMJ7q+fGf3aTq+fbMjihUlvUgd0iwyTUVIlwg3BKG/fK7J
JIvDYDzhb4cnOYVo/tQJ1CGJ0GwQL/sWHD46BS2jlbR2w9CD3UzuDASVtJ9upfEE
ALHLwgTGY0pZYqYoqyeFu9NNF23dJx1J5rplpDelpQxG9vF1QG2iJtK0NljjkOWV
TNe52D1kg/Q8KAt2rOD3T0agZPI+qY5jIkOjBHKxpMPyLl0Xp6F2T1/U2J1COQg5
ehWodSu6WAMXu8gyu0F44BNXnSNWGrAU1T18P3KYe4Pd0sDIAfaNjmp9trOh3bKW
rCr/vK/4jAT3jYWikLUuRlmFP6glqPbCAtcVQdbiDSPF8hsGWmZo7LudRi+a3ga0
/8GAd1gnmI/cm9Rcz2PvvpmLHTc2lhvsiWrBoGw9qqQf2gluhG5DHV+y8wqzYkkx
ZxHZT50PmdEjfNyp6PK5mt2WIzEtN6LNqebjCzWjNdzvKS96PF8tviaZETtbRN+o
bU4TPG4j/aJPUueeNcu22V9XQTHWe3xo4/I2nGQyi5EbZC7dpbIrwamUCkiIWS5o
slHco12h5QGCkeoRrE2ivT33oAhrk19qqcl6651QJq0zhLR+Ls0Dr5Mj5ZBvpLe0
7G9h1mq75BXwI8BFrlCEOXR0qZxdJepTFG131Eh+ACt8e179Il3FiExh5WS9DLbX
XYwgk2d4elLT3K6TPcxS449+rWywuo1QLcq64N+FS2iJ+6XY7nJwDMQCBSIRV4Ma
aNJVtHaF0ngGvhpDgBqH4cicttJmy4VXfUxlqdcu1Ic1a8mcD7zaq9S4sQk=
=s0aP
-----END PGP MESSAGE-----

Short URL: http://sachachua.com/blog/p/2112

Useful macro commands

- apply-macro-to-region-lines
- name-last-kbd-macro
- insert-kbd-macro

EmacsWiki: KeyboardMacros


Short URL: http://sachachua.com/blog/p/2111

“Digital Pen Takes on Mouse”

A team led by Dr. Jun Rekimoto at the Sony Interaction Laboratory has
devised a “pick and drop” method for transferring notes and files between
computers by selecting the information with a special pen and dropping it
onto the display of another machine simply by touching the screen. The pen …
http://www.acm.org/technews/articles/2004-6/0614m.html#item7

That would be pretty cool, if pointing devices were computer-sensitive…

E-Mail from technews@hq.acm.org


Short URL: http://sachachua.com/blog/p/2110

EClass

I can’t quite get EClass to work. It looks rather promising, though.
Do you know of anything similar? I’d like to be able to write and
publish my courseware with a neat interface for browsers – collapsible
tables of contents, that sort of thing.


Short URL: http://sachachua.com/blog/p/1973

Using puzzles in teaching algorithms

http://www.csc.vill.edu/~map/sigcse02/

These ideas are perfect for CS110! I can’t wait to discuss the general
algorithm strategies in terms of real-life puzzles.


Short URL: http://sachachua.com/blog/p/1972

Guiding students through programming puzzles: value and examples of Java game assignments

http://doi.acm.org/10.1145/820127.820175

The paper describes three puzzles. Students are expected to code
programs that try to find solutions to these puzzles. Hmmm… I think
that’s a bit too advanced for CS21, but I should be able to structure
some exercises like higher/lower, rock-paper-scissors and tic-tac-toe
for simple AI.


Short URL: http://sachachua.com/blog/p/1971

Fancy striped tables

Ephrem wrote:

Here’s a bit of magic to make fancy striped tables. The javascript is from
http://alistapart.com/articles/zebratables/. 4 steps. One caveat, if you have
multiple tables on a page (not including headers and footers) this
could result in multiple instances of id=”tabular”. If anyone knows how to adapt the
javascript to identify class instead of id, that would be an improvement.

  1. Edit emacs-wiki-publishing-header and add this javascript somewhere within
    the head tag:

    
    
  2. Edit emacs-wiki-publishing-header so that the body tag has an onload attribute as follows:
        
    
  3. Edit emacs-wiki-table-attributes so that it includes id=”tabular”:
        (setq emacs-wiki-table-attributes "id=\"tabular\" border=\"0\"
    cellpadding=\"2\" cellspacing=0")
    
  4. Add something like the following to your stylesheet:
        /*
        // Only tables with the "tabular" id, thereby avoiding header
        // and footer tables.
       */
    
        table#tabular {
            border: 3px solid #555;
        }
    
        /*
        // Apply border to all td elements which are not in the first row.
        */
    
        table#tabular tr + tr>td {
            border-top: 1px solid #aaa;
        }
    
        table#tabular td {
            padding: .5ex .5em;
        }
    
        /*
        // Apply left border to all columns except the first.
        */
    
        table#tabular td + td {
            border-left: 1px dotted #aaa;
        }
    

E-Mail from ephrem@tuirgin.com


Short URL: http://sachachua.com/blog/p/1970

Reflections from 2nd sem 2003-2004

CS21A: Introduction to Computing I. Experimented with BlueJ and an objects-first approach. Students liked the interactive environment and had fun with the graphical and game-based exercises. Reading exercises helped build confidence and the students inferred the use of control structures from them. The programming exercises also helped them appreciate methods. However, I need to give them more opportunities for practice and I should challenge them more.

CS21B: Introduction to Computing II. Students continued working on their projects from last semester, with a twist: they did _other_ people’s projects. Some groups had a hard time working with
old code, but it looked like a pretty good learning experience for everyone. Making reviewers for the final exam was also a fun activity. They also picked up data structures easily, and their advanced studies in threads and files last semester paid off. Downside: Networking still difficult to test.

CS161: Operating Systems. I was initially worried about teaching a traditionally book-centered course, but managed to survive a semester of Powerpoint slides and departmental tests. Weird analogies helped out. Made the CS finals more computation-based, but students lacked practice. If I ever teach
CS161 again, I’d like to emphasize that aspect over the memorization currently required.

Plans for next semester:

Heterogenity. Students come with different backgrounds and proceed at different paces. I want to take advantage of that by providing many exercises and examples for students to learn from so that they can go at their own pace.

Progress. I want to be able to monitor student progress in a spreadsheet or a website. I’d like to keep track of their self-evaluation as well as my own evaluation.

Exercises. Students responded well to the fun and creative exercises I came up with for CS21A and CS21B. I think I’ve collected enough games and puzzles to demonstrate most of the major points in CS21. Over the summer, I plan to write up these exercises in a lab manual. The exercises will vary in difficulty so that beginners can still find fun and exciting projects to work on.

Drills. I would like to spend 5-10 minutes on speed drills to accustom students to solving written problems quickly. This will help them prepare for the midterms and the final examinations. Practicing for these drills will also keep them busy just in case they have nothing else scheduled.


Short URL: http://sachachua.com/blog/p/1969

Kathy Chua’s photo galleries

http://www.pbase.com/kathychua

Drop by my sister’s photo album and leave her a note! =)


Short URL: http://sachachua.com/blog/p/1968

CSS rocks (AdphotoScheduler#1)

In a fit of filial piety, I decided to sit down and start working on a
job scheduler for my mom. After briefly considering Java and the
attendant hassles of a client-server application, I decided to go with
PHP. I wanted it to be more graphical than my students’ submissions,
though. Browsed through projects on Freshmeat but didn’t really see
anything worth changing.

Listed a few user stories and decided to spike the graphical display.
Started out with a PNG produced by libgd. That went pretty well.
Translating time to world coordinates was easy. I wanted to limit the
view by start-time and end-time, but it turned out to be too much of a
hassle.

Wondered if I could pull it off in HTML and CSS. Picked up a few
tutorials on absolute positioning and managed to pull it off quite
elegantly. Like new design.

Progress:

- Schedule overview of resources
- Day view of resources

Next steps:

- Resource view
- Job view
- Unfake the data


Short URL: http://sachachua.com/blog/p/1967

Ignoring orkut addresses in BBDB (EmacsHacks#21)

(defun sacha/bbdb-canonicalize-net-hook (addr)
  "Do not notice member@orkut.com addresses."
  (cond ((null addr) addr)
        ((string-match "member@orkut\\.com" addr) nil)
        (t addr)))
(setq bbdb-canonicalize-net-hook 'sacha/bbdb-canonicalize-net-hook)

../../notebook/emacs/bbdb-config.el


Short URL: http://sachachua.com/blog/p/1966

bbdb: prefix for sacha/try-expand-factoid-from-bbdb

To control expansion further, I’ve made a bbdb: prefix required. This
will allow me to still properly use dabbrev expansion.

;; Particularly fun with ERC. I am now a bot!
(defun sacha/try-expand-factoid-from-bbdb (old)
  "Try to expand from BBDB. If OLD is non-nil, cycle through other possibilites."
  (unless old
      ;; First time, so search through the BBDB records for the factoid.
    (progn
      (he-init-string (he-dabbrev-beg) (point))
      (setq he-expand-list nil)
      (when (string-match "bbdb:\\(.+\\)" he-search-string)
        (setq he-search-string (match-string 1 he-search-string))
        (mapc
         (lambda (item)
           (setq he-expand-list (append he-expand-list (list (bbdb-record-getprop item 'blog))))
           (setq he-expand-list (append he-expand-list (list (bbdb-record-getprop item 'web))))
           (setq he-expand-list (append he-expand-list (list (car (bbdb-record-net item)))))
           (setq he-expand-list (append he-expand-list (list (bbdb-record-getprop item 'notes)))))
         (let ((notes (cons '* he-search-string)))
           (bbdb-search (bbdb-records)
                        he-search-string he-search-string he-search-string
                        notes nil)))
        (setq he-expand-list (delq nil he-expand-list)))))
  (while (and he-expand-list
              (or (not (car he-expand-list))
                  (he-string-member (car he-expand-list) he-tried-table t)))
    (setq he-expand-list (cdr he-expand-list)))
  (if (null he-expand-list)
      (progn
        (if old (he-reset-string))
        nil)
    (progn
      (he-substitute-string (car he-expand-list) t)
      (setq he-expand-list (cdr he-expand-list))
      t)))

../../notebook/emacs/hippie-config.el


Short URL: http://sachachua.com/blog/p/1965

Searching for all entries related to a person

How would I search for all entries related to a particular person? A
BBDB search that resolved URLs would get the explicit bbdb links
perfectly, but what about the links automatically derived from
annotations? I could search for all links and then parse out the name
derived from the BBDB if the link is of the form _____ from/to ____ .

The more general question is:

How do you extract entities (persons / resources) from semi-structured
text? I’m working with hyperlinked entries, so I can assume that:

- any e-mail is associated with a person (I hope)
- websites will frequently be rooted off another person’s namespace
- the contact database is populated by people
- names will tend to be non-dictionary, capitalized words

I’ll start out by getting explicit, consistent links recognized. Then
explicit, inconsistent links. Then unlinked names (woohoo).

- http://www.stanford.edu/class/cs276a/syllabus.html


Short URL: http://sachachua.com/blog/p/1896

Information retrieval research

Implicit query

Personal information management

- UC Berkeley: School of Information Management and Systems
- Canterbury, NZ: http://www.cosc.canterbury.ac.nz/research/RG/HCI/InfoRetrieval/
- http://www.cs.yale.edu/people/faculty/gelernter.html: lifestreams
- http://www.ics.uci.edu/~jpd/research/temporal.html: temporal and social structures
- http://haystack.lcs.mit.edu/ : (Oh wow… pretty… Cluttered, but pretty…)
- http://kftf.ischool.washington.edu/projKFTF.asp
- http://osafoundation.org/OSAF_Our_Vision.htm: Chandler
- http://blog.mathemagenic.com/2004/02/01.html


Short URL: http://sachachua.com/blog/p/1895

Chess site

Just created accounts on http://itsyourturn.com (sachachua) and
http://www.stansco.com/cgi-bin/nc_ppp.cgi?16686 . Feel free to
challenge me to a chess game there – good practice! =)


Short URL: http://sachachua.com/blog/p/1712

Cleaned up planner-rss.el

planner-rss.el should now be ready for (almost) general use. You can
get it from
http://sacha.free.net.ph/notebook/emacs/emacs-wiki/planner-rss.el . To use it, add

(require 'planner-rss)
(add-to-list 'remember-append-to-planner-hook 'planner-rss-add-note t)

to your .emacs, and use M-x remember-to-planner.

../../notebook/emacs/planner-config.el


Short URL: http://sachachua.com/blog/p/1711

ff-find-other-file

ff-find-other-file lets you switch from, say, a .cpp file to an
associated .h file.

E-Mail from Felix


Short URL: http://sachachua.com/blog/p/1710

Status report

Kathy and I had a lot of fun with the videoke thing this evening. We
tried Tragedy among other old songs. It was kinda funny seeing how we
knew a lot of the old songs but few of the new ones. I felt slightly
guilty about not taking Jerome’s call but reason that I rarely get to
bond with my sister like that.

By the way, I’m typing this in dasher. I think Eric will be very glad
to see it tomorrow. He was absent today because of a headache and
missed all his classes. I think I rather missed chatting with him. In
terms of funky research, that is.

I received coke’s card and quickly wrote him two limericks. It was
nice hearing from him. I’ve been remiss in terms of friendship — I
haven’t met Martin in ages!

Status report: Research

Gesture-based input on Linux is still haphazard, and I haven’t found
anything particularly taking advantage of FingerWorks or allowing easy
cross-application scripting. Fake per-application keypresses seem to
be the best bet, but I can’t quite get Xgesture to compile yet – let
me just grab the libXtst-dev package. I think that might be the best
way to approach it. I’ve gotten quite used to rotate-CW to close a
browser window and foursfingers to scroll; now all I need is a
next-tab without closing, and I’ll be all set for funky gesture
navigation. I really just want to blog with a gesture, though. I
wonder how that can be done.

Bringing candies for the midterms was a big hit, with one student
explicitly mentioning this as a Very Good idea. I think some people
think better when they’re eating; I know I like munching on something
while I program. That said, I’m seeing a disturbing number of careless
mistakes. Fortunately this is an irregular course, so at this point I
can help people decide whether they really want to get into computer
science – knowing the exactness and discipline that will be required
of them – but still… I think I should’ve started with the reading
exercises earlier.

Some way or another, we’ll manage.


Short URL: http://sachachua.com/blog/p/1605

Chess

Move W (M) B (S)
1 e4 e5
2 Nf3 Nc6
3 Nc3 Bb4
4 Nd5 Ba5
5 c3 Nf6
6 b4 Nxd5
7 exd5 e4
8 dxc6 exf3
9 bxa5 Qe7+
10 Be2 fxe2
11 Qxe2 Qxe7+
12 Kxe2 dxe6
13 Ba3 Be6
14 d4 b6
15 Bb4 Kd7
16 Rhb1 Bc4+
17 Ke3 Rhe8+
18 Kf4 Re2
19 Rd1 Rxf2
20 Kg3 Rxa2
21 Kf4 Rxg2
22 Ke5 Rxh2
23 d5 Re8+
24 Kf4 c5
25 axb6 axb6
26 Kg3 Ree2
27 Kf3 Rd2
28 Ke4 Bxd5+
29 Ke5 cxb4
30 cxb4 f6+
31 Kf5 Be6+
32 Ke4 |Kc6
33 Rab1 Rxd1
34 Rxd1 Rh4+
35 Kd3 Rxb4
36 Rc1+ Kd6
37 Kc3 |Rc4+
38 resign

Short URL: http://sachachua.com/blog/p/1495

Chess with M.

Move W(M) B(S)
1 e4 e5
2 d4 exd4
3 Qxd4 Nc6
4 Qc4 Nf6
5 Bd3 d5
6 Qc3 dxe4
7 Bxe4 Bb4
8 Bd2 Bxc3
9 Nxc3 Nxe4
10 Nxe4 Nd4
11 o-o-o| Bf4
12 Re1 o-o
13 Nf3 Re8
14 Bd3 Re4
15 Nd4 Rxd4
16 Bxd4 Qxd4
17 Rd1 Qxf2
18 Rd2 Qxd2 to make the game interesting
19 Kxd2 g5
20 h4 g5
21 g3 h8
22 Rf1 Bg6
23 Ke3 Kf8
24 Rf4 c6
25 c4 Ke7
26 Rd4 Re8
27 Kf4 Rd8
28 Rxd8 Kxd8
29 Ke5 Kc7
30 b4 Kb6
31 c5 Kb5
32 a3 a5
33 Kd4 axb4
34 axb4 Kxb4
35 resign

Short URL: http://sachachua.com/blog/p/1503

Group reviews

Watching the students help each other review gives me a warm and fuzzy
feeling. I know they’ll probably think it’s a way for me to get out of
teaching – and who knows, that’ll probably affect my evaluations – but
I think that in their communal meaning-making, they’re learning a lot
more than from my lectures.

What about the primarily visual learners? I’ve had a number of people
ask me for handouts. I should think about doing something in the line
of man perlintro…


Short URL: http://sachachua.com/blog/p/1502

Kids’ software for Linux

http://www.lugod.org/presentations/kidslinux/

E-Mail from Martin WHEELER


Short URL: http://sachachua.com/blog/p/1501

“Transforming Non-Geeks Into Computer Whizzes”

Ellen Spertus, who runs an interdisciplinary computer science
graduate program at Mills College in Oakland, Calif., is
attempting to break myths about computer geeks in the hopes of
bringing more women—and other persons with non-technical …
http://www.acm.org/technews/articles/2003-5/1210w.html#item12
/
Oooh. Ellen Spertus was geek of the year or something like that. =)
Hmmm…

E-Mail from technews@hq.acm.org


Short URL: http://sachachua.com/blog/p/1500

Contemplating trip

Mom brought up ideas for trip abroad. Find am looking forward to
travelling the world and exchanging ideas. Am thinking of going to
Australia and New Zealand this summer to check out universities, as
many of the universities that do ComputerScienceEducationResearch are
there. Besides, remember AU as more fun than US, and have many friends
to visit. Wonder where Andrew Clausen is
now? Homepage says Victoria; should put
University of Melbourne on tour
map, as would very much like to thank Andrew for helping introduce me
to Linux. (Wonder if he still remembers how to play Speed?)


Short URL: http://sachachua.com/blog/p/1499

Rice

Parents very supportive of CookOrDie project. Suspect they find it
funny as youngest daughter makes far-out attempts to become
“independent girl” while still remaining v. close to parents. To wit:
have told them about double-entry accounting (but have been slipping
these days due to rush-rush CookOrDie grocery shopping), CookOrDie
project, and even contemplated SewOrDie project as cannot easily find
clothes to wear – teacher clothes somewhat boring, but most clothes my
size too casual. (That said, find The Black Shop a nice place to
window shop.)

As result of parental support, have now acquired full complement of
pots, pans, and knives. Parents have thankfully kept space and cooking
limitations of CookOrDie project in mind – no huge woks or
for-several-thousand-people pans.

Parents unbelievably keen on youngest daughter learning how to cook.
Parents enlisted help of company cook in teaching how to make rice,
although as had been very busy this weekend, had not actually had
time. However, performed rice experiment earlier with mom with great
success.

Cooked 1/2 cup rice traditional way and 1/2 cup rice microwave way.
Did not actually know correct microwave procedure, so guessed.
Microwave finished first, but had problems with boiling over – suspect
must use deeper casserole. Traditional way documented on rice package
resulted in good rice after 20 minutes, although also resulted in
crunchy part which most Filipinos like but personally am not
particularly fond of.

Also, prepared very first cup of tsokolate. May need strainer, but is
v. nice – although a bit rich. Perhaps water instead of milk is
advisable.


Short URL: http://sachachua.com/blog/p/1498

Backlog: Potatoes, beef, bacon – real this time – and cheese – 2003.12.12

- Microwave second pink potato for 5 minutes.
- Cook half of second slice of bacon. (Still unable to figure out how to get nice, crispy bacon, and am about to give up and always chuck it into the microwave.)
- Brown ground beef. Add plenty of salt and pepper. (This is starting to sound very familiar.)
- Flip potato and microwave for another 2 minutes.
- Mash potato, beef, and bacon together.
- Add diced cheese to amalgam and mix thoroughly.
- Pop into microwave and set for a few minutes under “Grill” in attempt to brown potato mixture nicely..


Short URL: http://sachachua.com/blog/p/1497

Backlog: Mashed potatoes, beef, and bacon bits – 2003.12.11

Another quickie meal as had class in less than 30 minutes.

- Grab large pink potatoes from supermarket, as convenience justifies expense.
- Also buy 1/8 kg. ground beef.
- Ensure that salt, pepper, and bacon bits containers were firmly closed. Throw them into school bag for very quick lunch in school.
- Hastily wash large plastic container in school.
- Pop washed, pricked, pink potato into container and microwave for 5 minutes.
- Flip pink potato.
- Pack ground beef into small plastic container and place it into microwave along with flipped potato.
- Microwave potato and beef for 2 minutes.
- Pour some bacon bits onto plastic lid. Microwave for 20 seconds to make bacon bits crunchy.
- Pick up ground beef with fork, as fat had rendered in the plastic container. Place ground beef in large container with well-cooked potato.
- Dump bacon bits into large container.
- Tear potato apart with fork and spoon, effectively mashing potato with beef and bacon bits. Sprinkle with lots of pepper and mix thoroughly.
- Look at the clock and start panicking.


Short URL: http://sachachua.com/blog/p/1496

Backlog: Beef, beans, and bacon in buns – 2003.12.10

Whoops, hadn’t been writing. Have, however, faithfully adhered to
constraints of CookOrDie. Last Wednesday, threw together quickie lunch
of ground beef, pork and beans, and bacon (real bacon!) in hamburger
buns. Decent meal – reminded me a bit of some meal I’d eaten before
but forgotten.

Preparation was fairly simple.

- Attempted to cook bacon.
- Became disturbed as bacon does not brown after a few minutes of cooking.
- Suspected that constant flipping to check doneness did not contribute to quick cooking of bacon.
- Consoled self by browning 1/8 kg. of ground beef in same pan.
- Opened can of pork and beans impulsively bought day before and dumped contents in aforementioned pan.
- Stirred for a few minutes and poured results into hastily cleaned plastic container.
- Stuffed extra hamburger buns into storage bags and into ref.
- Grabbed remaining hamburger buns and container with meat and beans mixture and headed off to school.


Short URL: http://sachachua.com/blog/p/1494

D-Link 650

http://www.linuxhardware.org/features/01/05/14/1121248.shtml


Short URL: http://sachachua.com/blog/p/1247

Meeting with Dr. Sarmenta re CS21B

start: 3:30

- Good design
- Object-oriented principles
- Files
- Networking
- Threads
- Patterns: abstracting and applying to a different situation
- Tokenizing strings

UML
J2ME

official patterns for doing things
- so most people by default will follow our official pattern
- be very consistent about doing things
- know when the pattern applies

- driver

game exercise – modify a game framework; teach them how to analyze code, create objects, etc.

generic game server


Short URL: http://sachachua.com/blog/p/1246

An insight on project defenses

I find that I approach project defenses as my opportunity to learn
from the group the insights they had while working on the project. =)
I’m looking forward to the CS123 project defenses!


Short URL: http://sachachua.com/blog/p/1245

Notes on the CS123 designs

Filed.


Short URL: http://sachachua.com/blog/p/1244

Chocolate jewelry

From Martin:

http://www.jcreport.com/archive/issue23/index.html
check out the first article. The pic of the ring enlarges.
Question is, would you wear it or eat it? *teasing*


Short URL: http://sachachua.com/blog/p/1243

Teaching quote

Teaching quote: “The teacher is the needle and the disciple is the thread.” (Miyamoto Musashi)


Short URL: http://sachachua.com/blog/p/1242

Hyper in Emacs

Apparently, hyper in Emacs is C-x @ h if you haven’t bound a key to it.
To wit, C-h c C-x @ h a will tell you what’s bound to H-a.


Short URL: http://sachachua.com/blog/p/1115

SSH for DOS

Apparently, there _is_ SSH for DOS: http://sourceforge.net/projects/sshdos/


Short URL: http://sachachua.com/blog/p/1114

Debian pre-installed laptops

Doh! Debian.org already has a page that lists vendors that will
pre-install Debian here:

http://www.debian.org/distrib/pre-installed


Short URL: http://sachachua.com/blog/p/1113

canna-chasendic — a Japanese dictionary for ChaSen derived from Canna dictionary

 * Package name    : canna-chasendic
   Version         : 0.94h
   Upstream Author : NOKUBI Takatsugu 
 * URL             : http://cvs.namazu.org/mecab-cannadic/
 * License         : GPL
   Description     : a Japanese dictionary for ChaSen derived from Canna dictionary

ChaSen is a Japanese morphological analysys system. It usually use
with ipadic dictionary. But it is DFSG-nonfree, so the package provides
yet another dictionary on DFSG-free environment.
The dictionary is based on cannadic.

Short URL: http://sachachua.com/blog/p/1112

Filipino speech corpus

From Ramil Sagum:

the link for http://www.upd.edu.ph/~dsp/speech.html is wrong. =)
whoever updated the site preffered .htm’s rather than .html’s.

The Filipino speech corpus has been given funding na nga pala. In
fact, I’m using one of the new computers they bought for the
project. However, it’ll still take 2-3 years for a usable system.


Short URL: http://sachachua.com/blog/p/1111

Engels and Magie

Engels: From time to time, I return to my first love—electronics. I
sometimes long for the excitement of competitive swimming and always
enjoy GIMP lessons from my seven-year old daughter, Psylocke.

Magie: Aside from managing the operations of the Bluepoint Foundation,
I work on my Judo when time permits. I also look forward to weekend
sound trips with my unica hija.

Engels: Maj and I were blockmates at the College of Engineering in UP
Diliman. We were together since our freshman year.


Short URL: http://sachachua.com/blog/p/986

fsedu

Content is also important for the parts of the project, such as the
Consumables database,and we are planning on having certain courses
ourselves.
http://fsedu.org/fsedu.pl?Consumables

Peter minten has also proposed a set of courses that he wants to
provide
http://fsedu.org/fsedu.pl?FreeSoftwareAcademy


Short URL: http://sachachua.com/blog/p/985

Cat story

My mom dropped by school today. =) As I got into the car, I mentioned
that there was a cat underneath the car. My mom asked me if I could do
anything about it so that we wouldn’t run over the cat. I nonchalantly
opened my envelope, took out a packet of cat food, and quipped, “Girl
Scout.”


Short URL: http://sachachua.com/blog/p/933

Pffft

Naturally, I forget that I saved the files in /tmp, which means they
vanish after a reboot… I’ll just have to give feedback on Friday.


Short URL: http://sachachua.com/blog/p/932

Personal stuff

This is, after all, my journal. Not a strictly utilitarian and
informative blog, but rather a site where the usual M-x remember’d
stuff might find itself interrupted by a cat story or, in this case, a
lot of mumbling…

Sleep. I should probably sleep.


Short URL: http://sachachua.com/blog/p/697

Employment stress

My mom and I had a somewhat stressful discussion about the vagueness
of my employment. To wit: I know that I am going to teach, but I
don’t know under what terms or even how much I’ll earn. (Whoever goes
into teaching for the money is nuts, but it would help to know how
much rent I can afford!)

I guess what stresses me out is the fact that at 10:37 PM in the
evening, I can’t do anything to improve the situation, and all these
questions are making my department seem so bad. The CS department is
really nice (although a bit disorganized), although yes, I’m somewhat
peeved that they can’t really bend the rules for me. <wry grin>
Case in point: after bugging the finance department for a little over
a month, I’ve just recently been told that faculty housing is going to
be nearly impossible for me to get because I already have housing in
Manila. Makes sense. In fact, I felt somewhat guilty about having
stayed in the dorm for so long, taking up a slot that may have let
someone from the provinces study in Ateneo instead. The main thing
that stresses me out, however, is the possibly firm stance my parents
might have on the necessity of on-campus housing.

My mom seems to be softening a bit – she was offering to help me
search for an apartment or a ‘bedspacing’ arrangement. However, this
didn’t prevent her from checking with another school that was looking
for teachers (an IT school – I want to teach computer science, not
information technology!), which of course completely freaked me out.
I spent the next half hour having a nice good cry with my kitten. I
really, really want to teach in Ateneo because I’m more used to the
school culture and I’ll have a better chance of being allowed enough
latitude to experiment and possibly make a difference. I _hope_ my
parents won’t make me choose another school, but if they express
strong disapproval…

Another source of stress is the vagueness of the terms of my
employment – aforementioned lack of information about such basic
things as salary and job expectations. From the way things have been
going around the department, I’d probably do more than your typical
fresh-grad teacher. Me? Typical? But how does one consider these
atypical things, then? I already do the work gratis, but it would
be… somewhat nice to be appreciated, or… at least meet someone
else who is as into these things as I am.

Maybe I should just set my sights on the Most Outstanding Junior
Teacher award. I’ll need a lot of luck and practice to get that.

My mom basically thinks that they’re taking me for granted. I’m
supposed to be the best in the Philippines, but there’s a very, very
fine line between asserting that I deserve more than this… and being
completely annoying and arrogant.

All I really want to do is teach. And learn. And have fun. And help
other people learn and have fun. Not necessarily in that order.

Mental note: Be much more assertive.

How assertive can I get, anyway? <wry grin> I can’t very well
threaten not to teach in Ateneo, because everyone knows I really want
to do so. I guess the better approach would be, “Wouldn’t that be the
professional thing to do?”

Or something like that.

<sigh>

Update: Okay, now that I’ve gotten my employment jitters out of
the way, I can concentrate on preparing for class. =) I really, really
love our school.


Short URL: http://sachachua.com/blog/p/696

Wearable computing position in Ateneo! =D

On the Compsat2003 Yahoogroups, Cha Gascon has this extremely wonderful post:

A Call for Applicants

The department chair of DISCS, Dr. Mercedes “Didith” T. Rodrigo,
is seeking for an undergraduate student, preferably not a senior, who
is willing to dedicate his/her time and effort to undertake a
designated task. That is, to search for wearable computing gadgets,
paraphernalia and related technologies here in the Philippines and
abroad (something like the wearable computer gadgets that Sacha Chua
has, featured in the poster of “Reboot” Compsat Launch Party),
which may have relevance in computer science, technologies that may be
of use with the department and the students and has potential for
further research and development. This is an official position in the
department.

Must have the following:

- internet access (to research wearable technologies online)

- know-how in online ordering / purchasing of computer gadgets

- compare prices, recommend products and technologies

- willing to compile reports, price comparisons and summaries

- willing to do extensive canvassing of wearable gadgets and

technologies, where and how they could be bought here in the
Philippines and abroad

- willing to go shopping!!

The chosen one will receive a salary from the department however the
exact price wasn’t disclosed to us.

Interested applicants may email me at cha_gascon @ yahoo.com. Please
include your name, contacts, how you could be an asset with the
department in relation to the task stated above. Apply ASAP. Email to
me, not to the egroup so as to avoid inbox clutter.

Wonderful wonderful wonderful wonderful wonderful wonderful wonderful! =)
I am sooooo excited. =D


Short URL: http://sachachua.com/blog/p/695

Voice-only apps without speech recognition

On the wear-hard mailing list, uberborg Doug Sutherland mentions

Developing Voice-only Applications in the Absence of Speech Recognition Technology
http://www.cc.gatech.edu/fce/savoir/pubs/savoir.html

and

Caiviar is an Interactive Voice Response (IVR) System based on CAPI.
It runs on Linux and Windows systems, and supports Text-To-Speech
(most notably Realspeak and Festival), multithreading, Barge In,
3 Party Conference, G3 Fax etc. It has a very simple interface,
allowing fast creation of Telephony applications, like e.g. Voiceboxes,
Authentication systems, automatic Callcenters etc. Languages supported
include Java, C++ and Perl. The source code for Caiviar is freely
available.

http://www.quiss.org/caiviar/

TTS+Caiviar HOWTO
http://www.quiss.org/caiviar/TTS-Caiviar-HOWTO


Short URL: http://sachachua.com/blog/p/694

More files

Cross-reference: CurriculumReview#2


Short URL: http://sachachua.com/blog/p/693

The S-Files

If it wasn’t obvious by now, the SFiles mailing
list is pretty dead. I’ll be merging those into my planner archive
Really Soon. =)

So, Dominique Cimafranca, rest assured that the messages in the
SFiles archives – and this website – are meant for public
consumption. If you’re into browsing through other people’s mail,
might I recommend Griffin and Sabine by Nick Bantock? ;)


Short URL: http://sachachua.com/blog/p/692

Curriculum Review

Make schedule from syllabus – a rough estimate of what we did last time.

Two spreadsheets – week day topic subtopics labs, homework, projects

Note to self: We really need to keep better notes about teaching. I’ll
have an expected schedule, actual schedule and comments.


Short URL: http://sachachua.com/blog/p/691

funny python site

I came across http://uselesspython.com/hostilehackers.html while
searching for more information on Guido van Rossum’s mythical time
machine. Funny read, and worth sending to the python freenet list. =)


Short URL: http://sachachua.com/blog/p/510