July 2, 2014

Bulk view

Learning to design Help and Support communities: Adobe deep dive

Design seems like magic, but it’s probably a skill that I can develop. If I just focus on coding, the things I build can end up looking like an accumulation of little ideas designed by committee. If I learn more about design and develop my own opinions, I can make recommendations that simplify the experience and make it more coherent. For example, on one of my consulting engagements, I could probably take the initiative in redesigning the help and support community for a better user experience. I have to work with the technical limitations of the platform, but as a coder, I have a little more latitude than most people do. By looking at how other people have structured their support experiences, maybe I can pick up ideas that I can try.

It’s interesting to see how much variety there is even within one company. Adobe uses the Jive platform for its support communities, and the different products have slightly different configurations. Here’s the overall product page that leads to the community page:

Adobe

Adobe

http://helpx.adobe.com/photoshop.html

Adobe starts with graphical icons for tutorials that have time estimates clearly indicated.

2014-07-02 13_37_08-Community_ Photoshop General Discussion _ Adobe Community

https://forums.adobe.com/community/photoshop

The “Ask the Community” page leads to a page with a lot of things going on, but there’s an “Ask a Question” widget in the top left with a quick way for people to ask questions. With the emphasis on points and the leaderboard of top participants, it seems that this community focuses on user-to-user support. That’s probably why the Unanswered Questions and Trending Questions widgets are so prominent. Still, the page feels a little cluttered to me. I’d probably prefer to set it up with fewer calls to action. Ask a Question would still be in the top left, but I would probably organize the resources by skill level. I like the way some of the frequently asked questions are highlighted, but they feel somewhat random and not well-formatted.

Different products have different community pages. The Illustrator one is slightly more neatly organized:

2014-07-02 13_43_51-Community_ Illustrator _ Adobe Community

https://forums.adobe.com/community/illustrator

I like the announcement box for Illustrator CC 2014 and the Getting Started box in a prominent place. This page feels more oriented towards new users. It still has trending and unanswered questions, but they’re below the fold.

2014-07-02 13_46_28-Community_ Premiere Pro _ Adobe Community

https://forums.adobe.com/community/premiere

The Premier Pro community focuses on sub-forums. Based on the forum activity, it looks like the Forums widget does a decent job of directing people to the appropriate place to ask, although the main community still gets many questions. This community is less newbie-focused (no tutorial link). The Recent Discussions widget seems to be a better choice than having both Unanswered Questions and Trending Questions, since the other widgets are visually similar and often have duplicate content.

2014-07-02 13_50_10-Community_ After Effects _ Adobe Community

https://forums.adobe.com/community/aftereffects_general_discussion

The After Effects community has a welcome message and a Getting Started box, which I think are good ideas. They’ve decided to highlight some discussions as Sticky Threads, too. Unlike the other communities, this community doesn’t include messages about translating pages or earning points. I wonder how de-emphasizing points affects user-to-user support…

2014-07-02 13_54_57-Community_ Lightroom for Beginners _ Adobe Community

https://forums.adobe.com/community/lightroom/lightroom_for_beginners

The Lightroom for Beginners community uses graphics (that responsively resize, even!) to make frequently-asked questions more visually interesting.

2014-07-02 13_57_21-Community_ Acrobat _ Adobe Community

https://forums.adobe.com/community/acrobat

The Acrobat community directs people to the appropriate sub-forum.

2014-07-02 13_59_54-Welcome _ Adobe Community

https://forums.adobe.com/welcome

The overall welcome page for the site is static and graphical.

I think the key points I’ll pick up from Adobe’s support communities are:

  • A Welcome box makes a support community less intimidating.
  • Although having separate widgets for unanswered questions or trending content makes it easier for community managers and volunteers to find questions to respond to, that can lead to visual clutter. Recent discussions or recent content will do the job well enough.
  • Consistent formatting helps resource lists look more professional. Some of the resource lists had different font sizes or bullet types within the same box.
  • Images go a long way towards making a site look more polished.

Know any well-designed community support sites that offer both tutorials and Q&A? I’d love to take a closer look at them! Up next: Probably Apple, who use Jive as well.

 

 

 

What am I learning about and what can I write about more?

I’ve been feeling a little distracted, a little stretched these past weeks. I tell people that if they have a hard time blogging, they can look at what they’re learning and write about that, since they’re probably learning at least one new thing every day. Time to take my own advice. =)

Clojure: I’ve been slowly working through the exercises at 4clojure.com, solving two or three a day (56 done now!). I’m slowly getting the hang of loop, for, partition-by, and all these functions that I’m not used to playing with in Emacs Lisp. My solutions are nowhere near elegant, but they get me to the point of being able to read other people’s solutions. That’s how I’ve been learning about interesting functions. I’m also reading through the Clojure core documentation. Hard to remember everything, but I’m getting better at thinking “Hmm, I remember coming across something that might be useful.”

I’m learning this out of curiosity at the moment, since I haven’t thought of any personal projects that are better suited to Clojure than, say, Rails or Emacs Lisp. Maybe I’ll finally get around to coding that script to check the library for the locations of newly-released DVDs, or building something to help me analyze my Quantified Self data. In order to get to that point, I’ll need to learn core Clojure functions, popular frameworks and libraries, and workflow/debugging tools. It seems a little daunting, but it’s a good kind of daunting. I’m chipping away at it steadily. This also helps me empathize with programming newbies, which is great because I’m working on that course to help people learn Emacs Lisp. =)

Gardening: The sorrel I bought from the farmer’s market turned out to have leaf miners. I’ve been removing the rows of eggs under the leaves by hand, and I cut off a few of the affected leaves and trashed them (far, far away from the garden). It’s a pity about the bugs, but at least I’m learning how to identify and control pests.

The blueberries we planted in 2010 have more flowers than I’d ever seen on them before, and some of those flowers are beginning to set fruit. I cut some twigs off the backyard trees to replace the bamboo hoops that were acting as tomato stakes, and I moved the hoops to the front so that I could drape the net over them. I’m beginning to get the hang of this – no more buying stakes for me!

Some of the bok choy plants are starting to bolt, and the Thai basil is flowering. I pinched the tips, hoping that will extend their growth a little further. I’ve been erring on the side of watering almost every day, since our soil is sandy. The soil often feels dry to a few inches’ depth, even if I’d watered just the day before. We’ve been mixing lots of compost into it and laying even more on top as mulch, but it still has a long way to go.

Emacs: This week I’ll polish the fourth segment in the beginner e-mail course for learning Emacs Lisp. It’s wonderful to have reached this point! I’m glad I started this experiment. Writing tutorials is much easier with other people’s feedback, and e-mail seems to be a less intimidating way for people to interact. I’ll probably roll it out as a blog series as well, so that people can find it while searching my blog. After I finish that, maybe I’ll take a short break before doing the intermediate course. That way, I have some time to experiment with the nifty things I’ve been coming across.

So yeah, I’m learning about stuff. Ah! Maybe it’s because I haven’t been writing in the process of doing so. For Clojure, I can write about my solutions to problems and wha I’m learning by looking at people’s solutions. For gardening, I can post pictures. For Emacs, well, I’m used to writing about that already! =) I think the bottleneck there is that I’ve been working on stuff that’s posted on Github and at http://emacslife.com , but I haven’t been posting those notes (or meta-notes about the process) on my personal blog. Since my personal blog is likely to outlive both of those other resources, I should copy things over anyway. Also, I can give myself permission to spend time exploring Emacs instead of answering mail or working on the course, since it’s fun to write about cool features I’m experimenting with.

If I think of writer’s block as learner’s block, it’s easy to chip away at it. Onward!

Getting R and ggplot2 to work in Emacs Org Mode Babel blocks; also, tracking the number of TODOs

I started tracking the number of tasks I had in Org Mode so that I could find out if my TODO list tended to shrink or grow. It was easy to write a function in Emacs Lisp to count the number of tasks in different states and summarize them in a table.

(defun sacha/org-count-tasks-by-status ()
  (interactive)
  (let ((counts (make-hash-table :test 'equal))
        (today (format-time-string "%Y-%m-%d" (current-time)))
        values output)
    (org-map-entries
     (lambda ()
       (let* ((status (elt (org-heading-components) 2)))
         (when status
           (puthash status (1+ (or (gethash status counts) 0)) counts))))
     nil
     'agenda)
    (setq values (mapcar (lambda (x)
                           (or (gethash x counts) 0))
                         '("DONE" "STARTED" "TODO" "WAITING" "DELEGATED" "CANCELLED" "SOMEDAY")))
    (setq output
          (concat "| " today " | "
                  (mapconcat 'number-to-string values " | ")
                  " | "
                  (number-to-string (apply '+ values))
                  " | "
                  (number-to-string
                   (round (/ (* 100.0 (car values)) (apply '+ values))))
                  "% |"))
    (if (called-interactively-p 'any)
        (insert output)
      output)))
(sacha/org-count-tasks-by-status)

I ran this code over several days. Here are my results as of 2014-05-01:

Date DONE START. TODO WAIT. DELEG. CANC. SOMEDAY Total % done + done +canc. + total + t – d – c Note
2014-04-16 1104 1 403 3 1 104 35 1651 67%
2014-04-17 1257 0 114 4 1 171 107 1654 76% 153 67 3 -217 Lots of trimming
2014-04-18 1292 0 74 4 5 183 100 1658 78% 35 12 4 -43 A little bit more trimming
2014-04-20 1305 0 80 4 5 183 100 1677 78% 13 0 19 6
2014-04-21 1311 1 78 4 4 184 99 1681 78% 6 1 4 -3
2014-04-22 1313 2 75 4 4 184 99 1681 78% 2 0 0 -2
2014-04-23 1369 4 66 4 5 186 101 1735 79% 56 2 54 -4 Added sharing/index.org
2014-04-24 1371 3 69 4 5 186 101 1739 79% 2 0 4 2
2014-04-25 1379 3 60 3 5 189 103 1742 79% 8 3 3 -8
2014-04-26 1384 3 65 3 5 192 103 1755 79% 5 3 13 5
2014-04-27 1389 2 66 3 5 192 103 1760 79% 5 0 5 0
2014-04-28 1396 3 67 3 5 192 103 1769 79% 7 0 9 2
2014-04-29 1396 3 67 3 5 192 103 1769 79% 0 0 0 0
2014-04-30 1404 4 70 4 5 192 103 1782 79% 8 0 13 5
2014-05-01 1413 4 80 3 4 193 103 1800 79% 9 1 18 8

Here’s the source for that table:

#+NAME: burndown
#+RESULTS:
|       Date | DONE | START. | TODO | WAIT. | DELEG. | CANC. | SOMEDAY | Total | % done | + done | +canc. | + total | + t - d - c | Note                       |
|------------+------+--------+------+-------+--------+-------+---------+-------+--------+--------+--------+---------+-------------+----------------------------|
| 2014-04-16 | 1104 |      1 |  403 |     3 |      1 |   104 |      35 |  1651 |    67% |        |        |         |             |                            |
| 2014-04-17 | 1257 |      0 |  114 |     4 |      1 |   171 |     107 |  1654 |    76% |    153 |     67 |       3 |        -217 | Lots of trimming           |
| 2014-04-18 | 1292 |      0 |   74 |     4 |      5 |   183 |     100 |  1658 |    78% |     35 |     12 |       4 |         -43 | A little bit more trimming |
| 2014-04-20 | 1305 |      0 |   80 |     4 |      5 |   183 |     100 |  1677 |    78% |     13 |      0 |      19 |           6 |                            |
| 2014-04-21 | 1311 |      1 |   78 |     4 |      4 |   184 |      99 |  1681 |    78% |      6 |      1 |       4 |          -3 |                            |
| 2014-04-22 | 1313 |      2 |   75 |     4 |      4 |   184 |      99 |  1681 |    78% |      2 |      0 |       0 |          -2 |                            |
| 2014-04-23 | 1369 |      4 |   66 |     4 |      5 |   186 |     101 |  1735 |    79% |     56 |      2 |      54 |          -4 | Added sharing/index.org    |
| 2014-04-24 | 1371 |      3 |   69 |     4 |      5 |   186 |     101 |  1739 |    79% |      2 |      0 |       4 |           2 |                            |
| 2014-04-25 | 1379 |      3 |   60 |     3 |      5 |   189 |     103 |  1742 |    79% |      8 |      3 |       3 |          -8 |                            |
| 2014-04-26 | 1384 |      3 |   65 |     3 |      5 |   192 |     103 |  1755 |    79% |      5 |      3 |      13 |           5 |                            |
| 2014-04-27 | 1389 |      2 |   66 |     3 |      5 |   192 |     103 |  1760 |    79% |      5 |      0 |       5 |           0 |                            |
| 2014-04-28 | 1396 |      3 |   67 |     3 |      5 |   192 |     103 |  1769 |    79% |      7 |      0 |       9 |           2 |                            |
| 2014-04-29 | 1396 |      3 |   67 |     3 |      5 |   192 |     103 |  1769 |    79% |      0 |      0 |       0 |           0 |                            |
| 2014-04-30 | 1404 |      4 |   70 |     4 |      5 |   192 |     103 |  1782 |    79% |      8 |      0 |      13 |           5 |                            |
| 2014-05-01 | 1413 |      4 |   80 |     3 |      4 |   193 |     103 |  1800 |    79% |      9 |      1 |      18 |           8 |                            |
#+TBLFM: @3$11..@>$11=$2-@-1$2::@3$13..@>$13=$9-@-1$9::@3$14..@>$14=$13-$11-($7-@-1$7)::@3$12..@>$12=$7-@-1$7

I wanted to graph this with Gnuplot, but it turns out that Gnuplot is difficult to integrate with Emacs on Microsoft Windows. I gave up after a half an hour of poking at it, since search results indicated there were long-standing problems with how Gnuplot got input from Emacs. Besides, I’d been meaning to learn more R anyway, and R is more powerful when it comes to statistics and data visualization.

Getting R to work with Org Mode babel blocks in Emacs on Windows was a challenge. Here are some of the things I ran into.

The first step was easy: Add R to the list of languages I could evaluate in a source block (I already had dot and ditaa from previous experiments).

(org-babel-do-load-languages
 'org-babel-load-languages
 '((dot . t)
   (ditaa . t) 
   (R . t)))

But my code didn’t execute at all, even when I was trying something that printed out results instead of drawing images. I got a little lost trying to dig into org-babel-execute:R with edebug, eventually ending up in comint.el. The real solution was even easier. I had incorrectly set inferior-R-program-name to the path of R in my configuration, which made M-x R work but which meant that Emacs was looking in the wrong place for the options to pass to R (which Org Babel relied on). The correct way to do this is to leave inferior-R-program-name with the default value (Rterm) and make sure that my system path included both the bin directory and the bin\x64 directory.

Then I had to pick up the basics of R again. It took me a little time to figure out that I needed to parse the columns I pulled in from Org, using strptime to convert the date column and as.numeric to convert the numbers. Eventually, I got it to plot some results with the regular plot command.

dates <- strptime(as.character(data$Date), "%Y-%m-%d")
tasks_done <- as.numeric(data$DONE)
tasks_uncancelled <- as.numeric(data$Total) - as.numeric(data$CANC.)
df <- data.frame(dates, tasks_done, tasks_uncancelled)
plot(x=dates, y=tasks_uncancelled, ylim=c(0,max(tasks_uncancelled)))
lines(x=dates, y=tasks_uncancelled, col="blue", type="o")
lines(x=dates, y=tasks_done, col="green", type="o")

r-plot

I wanted prettier graphs, though. I installed the ggplot2 package and started figuring it out. No matter what I did, though, I ended up with a blank white image instead of my graph. If I used M-x R instead of evaluating the src block, the code worked. Weird! Eventually I found out that adding print(...) around my ggplot made it display the image correctly. Yay! Now I had what I wanted.

library(ggplot2)
dates <- strptime(as.character(data$Date), "%Y-%m-%d")
tasks_done <- as.numeric(data$DONE)
tasks_uncancelled <- as.numeric(data$Total) - as.numeric(data$CANC.)
df <- data.frame(dates, tasks_done, tasks_uncancelled)
plot = ggplot(data=df, aes(x=dates, y=tasks_done, ymin=0)) + geom_line(color="#009900") + geom_point() + geom_line(aes(y=tasks_uncancelled), color="blue") + geom_point(aes(y=tasks_uncancelled))
print(plot)

 r-graph

The blue line represents the total number of tasks (except for the cancelled ones), and the green line represents tasks that are done.

Here’s something that looks a little more like a burn down chart, since it shows just the number of things to be done:

library(ggplot2)
dates <- strptime(as.character(data$Date), "%Y-%m-%d")
tasks_remaining <- as.numeric(data$Total) - as.numeric(data$CANC.) - as.numeric(data$DONE)
df <- data.frame(dates, tasks_remaining)
plot = ggplot(data=df, aes(x=dates, y=tasks_remaining, ymin=0)) + geom_line(color="#009900") + geom_point()
print(plot)

r-graph-2

The drastic decline there is me realizing that I had lots of tasks that were no longer relevant, not me being super-productive. =)

As it turns out, I tend to add new tasks at about the rate that I finish them (or slightly more). I think this is okay. It means I’m working on things that have next steps, and next steps, and steps beyond that. If I add more tasks, that gives me more variety to choose from. Besides, I have a lot of repetitive tasks, so those never get marked as DONE over here.

Anyway, cool! Now that I’ve gotten R to work on my system, you’ll probably see it in even more of these blog posts. =D Hooray for Org Babel and R!

Update 2014-05-09: Stephen suggested http://blogs.neuwirth.priv.at/software/2012/03/28/r-and-emacs-with-org-mode/ for more tips on setting up Org Mode with R and Emacs Speaks Statistics (ESS).

Figuring out a fair price for outsourcing work

How can you figure out a fair budget for delegating work? If you set your budget too low, you might get frustrated by lack of response or by the kinds of results you get. If you set your budget too high, you might waste effort and talent. I can’t give you a price sheet. Besides, your needs will evolve over time. However, I can share some of the things I’ve been learning about budgeting for outsourcing or checking if people’s times are reasonable.

If you’re working with hourly assistance, you can ask people to track their times for specific tasks so that you can get a sense of how much something costs. You can also give a time limit and ask them to send you what they have at the end of that time. This will help you get a sense of their speed and the cost of the task. If you’re working with fixed-cost services, you can translate things back into hourly estimates and compare that with your own experience. Pick one system of measurement so that you can compare your chioces.

2014-03-24 Determining a fair price for outsourced work #delegation #outsourcing

2014-03-24 Determining a fair price for outsourced work #delegation #outsourcing

Instead of trying to nail down a single price, try to figure out a range that you’re comfortable with. You can start by looking for flat-rate fees from companies or people who post fixed prices online. For example, Transcript Diva lists transcript rates and timelines for some of their competitors as well. For general tasks, services like Fiverr and Fancy Hands help establish a range of $5-15 for common tasks.

Another way to establish a limit for what you’re willing to spend is to consider how long it takes you to do things yourself, and what else you would do with that time. Adjust based on people’s experience. Beginners will take longer to do things than you will, while experienced people may do this just as fast as you can. Specialists who have invested in tools or training may do things even faster. Sometimes it makes sense to delegate a task to someone who isn’t the optimal choice in terms of speed or cost, if they’re more integrated with the way you work or if you want to help them grow. (Sketch: delegation and task efficiency; blog post)

Then experiment. Try delegating a small task to a lower-cost service to see if that will meet your needs. Try delegating a similar task to a premium service to see if it’s worth the price. Try a mid-range service.

Think about the value you can get from the different types of results you have. If a service is expensive but it leads to a lot more income, it may be worth it.

Think of when you’d prefer to do things yourself, too. For example, even though it’s easy to find inexpensive data entry assistance, I prefer to automate straightforward tasks because I get to learn more about automation along the way.

As you delegate, think about what was worth it, and adjust accordingly. Make your experiments a little bit bigger as you get used to the idea. Find your sweet spot, and then keep experimenting. Good luck!

Building a habit of drawing with colours

If I don’t think about colour, I tend to not use it. I draw with whatever’s handy: blue pens, black pens, anything I’m carrying around. So one day I talked myself into being okay with this. (Click on images for larger versions.)

2013-11-21 I've decided to stop caring about pen colour

Figure 1: I’ve decided to stop caring about pen colour

I think this is just me compromising with myself, though. I think there’s more that I can do, more that I can learn.

On the computer, different colours are just a click away, so I use them. Here’s something I coloured in while waiting for the speaker to get through a very long line of people who wanted to talk to him. It’s nowhere near as colourful as the graphic recordings on OgilvyNotes.com or @agentfin’s sketchnotes, but I like it.

20130611 How to Live an Amazing Life - C.C. Chapman - Third Tuesday Toronto

Figure 2: How to Live an Amazing Life (C.C. Chapman, Third Tuesday Toronto)

Actually, colour is a lot of fun. It goes a long way towards making the sketches more approachable, less intimidating, easier to visually distinguish. That’s handy when I’m looking at my Flickr photostream or through my print-outs. Besides, the coloured sketches feel more polished. They make me feel better. (Then I worry that they become intimidating… So maybe the mix is all right – coloured sketches and plain ones, all jumbled up.)

How can I colour more? How can I make it part of my workflow? How can I practise and get good enough at it that it becomes a habit?

2014-01-02 What would it take to make colour part of my workflow

Figure 3: What would it take to make colour part of my workflow?

After drawing that, I started experimenting with switching pen colours. Red and black are classic combinations. This one was fun to do, and it didn’t take that much more thought compared to a plain black one. No post-processing, too.

2014-01-02 Google Helpouts - Imagining an ideal session

Figure 4: Google Helpouts: Imagining an ideal session

Drawing on the computer still produces more confident lines and colours, though. Maybe it’s the pen width, and the ease of switching between background highlights and pen colours?

2013-11-29 Helpers Helpout 02 - Communicating with Clients Before and After Helpouts

Figure 5: Helpers Helpout #2: Communicating with customers before and after Helpouts

So… Hmm. How can I make drawing with colour more habitual?

  • When I draw on paper, I will keep red and black pens handy. I think that will prompt me to use red for highlights, and red is more vivid than blue. If I’m working at a table, it’s easy to slow down and switch. I can use that as thinking time.
  • When I draw on paper, I’ll try staying with the density of figure 4 versus figure 1 – write fewer words and leave more space. I might also try out 0.5mm or 0.6mm pens (currently on 0.4mm) to see if that gives me a different feel.
  • When I process scanned sketches, I will colour at least one of them each day before moving them into my Flickr sync folder. That usually gets me to colour the rest.
  • At least once a week (probably every Thursday), I’ll draw on my computer instead of on paper. I’ve been minimizing the number of events and presentations I do and focusing instead on my own content, so I’ve been drawing on paper more than on my computer. Setting aside some time to work on my computer will encourage me to keep tweaking the workflow, and I like the feel of my computer-drawn images more.

Did you teach yourself to use colour? How was that process for you?

Update 2014-01-03: Here’s a related post about different colouring styles I’ve used

Setting up virtual machines with Vagrant

I spent a week focusing on system administration, and I feel more comfortable with my setup already. My web server hosts a number of blogs (like this one!) as well as my QuantifiedAwesome.com tracking dashboard. I want to make sure that things are backed up and that I can verify that my backups are running by creating a working website. It’s also useful to have a separate development environment where I can try out server configuration changes before applying them to production. Virtual machines to the rescue!

Vagrant is a tool that makes it easy to create and manage virtual machines with forwarded ports and shared folders. I use it for a couple of Ubuntu-based virtual machines on my laptop, and another backup-focused virtual machine on our Ubuntu desktop.

2013-10-28 Setting up virtual machines with Vagrant

You can make your Vagrant box more secure by changing the default passwords for root and vagrant, and setting up your own SSH key. Use vagrant package and vagrant box add to make this a new base box.

Related tools:

  • Give Veewee kernel and install info, and it will make base boxes for you. Good for testing different versions of distributions.
  • Vagrant works with Chef, Puppet, or shell scripts for provisioning. Need to reverse-engineer config from an existing server? Check out Devstructure Blueprint.
  • If you upgrade kernels or Virtualbox/VMWare, you might find vagrant-vbguest handy.
  • If your host system is pretty much the same as your deployment system architecture, check out Docker for a lighter-weight way to isolate your development environment.


These are some of my notes from when I was setting up my VMs. Different console backgrounds in Putty really help!

2013-10-28 Setting up my development environment VMs

 

2013-10-28 Deployment procedures

Weekly review: Week ending November 1, 2013

Great week for geeking out! Lots of system administration tasks checked off. =) Next week, time to focus on the “right side of the brain” – building visual vocabularies, animating sequences, and so on.

Blog posts

Other notes

  • vagrant-vbguest helps keep guest additions up to date
  • Looks promising: Devstructure Blueprint lets you reverse-engineer Puppet or Chef config from an existing system. https://github.com/devstructure/blueprint
  • Excel: Columns are number instead of letters? Tools – Options – General – Uncheck the R1C1 reference style

Link roundup

Sketches

2013-11-01 Weekly review

Focus areas and time review

  • Business (50.9h – 30%)
    • Earn (22.1h – 43% of Business)
      • [X] Earn: Consulting – E1
      • [ ] Earn: Consulting – E1
      • [ ] E2: Draw sketch ideas for different “scenes”
      • [ ] E2: Record audio for trailer
      • [ ] E2: Sketch and animate trailer
    • Build (22.3h – 43% of Business)
      • Quantified Awesome (0.0h)
        • [X] Analyze yearly consumption
        • [X] Sort clothes by name by default
      • Drawing (6.2h)
        • [X] Draw something technical
        • [X] Package October sketches as a PDF – https://gumroad.com/l/eevz
        • [ ] Break another ten sketchnotes down into components and file them
      • Paperwork (2.2h)
        • [X] File HST return
        • [ ] File T2
      • System administration
        • [X] Set up WP caching
        • [X] Set up from-scratch Vagrant scripts
        • [X] Set up incremental backups
        • [X] Get vagrant working on desktop again
        • [X] Make sure correct image is committed to git
    • Connect (6.5h – 12% of Business)
      • [X] Host Visual Thinkers Toronto
      • [X] Try out Google Helpouts
      • [X] Submit more listings for Google Helpouts
      • [X] Chat with Magnar Sveen about Emacs
  • Relationships (9.9h – 5%)
    • [X] Set up project management for house stuff?
    • [X] Sort out drive with W-
    • [ ] Reply to the Hattoris
    • [ ] [#B] Comparison-shop for Luke’s possible dental work
  • Discretionary – Productive (10.9h – 6%)
    • [X] Look into johnw video problems
    • [X] Rescan black sketchbook
    • [ ] Process chat with Magnar – time bookmarks
    • [ ] [#A] Reflect on delta
    • Writing (5.4h)
  • Discretionary – Play (1.5h – 0%)
  • Personal routines (18.0h – 10%)
  • Unpaid work (14.7h – 8%)
  • Sleep (62.2h – 37% – average of 8.9 per day)

Blogging tip: Test your ideas and get more feedback in order to make your posts better

This entry is part 18 of 19 in the series A No-Excuses Guide to Blogging

It turns out that you don’t have to write alone, and that you don’t have to have all the answers (or all the ideas!) at the beginning.

Feedback

I’ve been using Twitter to share ideas related to upcoming blog posts. For example, I asked people what kept them from taking notes, and I added their thoughts to a blog post that I was writing. I shared something I realized about dealing with uncertainty by making potential outcomes arbitrarily better, and that led to a back-and-forth conversations that helped me clarify what I meant.

Condensing an idea into 140 characters is a great exercise. Bonus points if there’s a question in there too.

Sometimes I share post ideas before I’ve drafted the posts so that I can see if an idea resonates enough to make me want to write it. Sometimes I share the idea after I’ve outlined or drafted the first version so I know what I think. I don’t ditch post ideas if they don’t get a response, but I mix in people’s feedback whenever I can.

I also use Twitter to share links to some blog posts after they go live, but the conversation seems more interesting if I don’t start it with a monologue. Besides, editing an upcoming post to incorporate people’s thoughts is much easier and more useful than updating something that people have already seen in their feed readers. The Share a Draft plugin is great for giving people links to unpublished posts. ScribeFire is great for editing existing posts.

Another benefit of writing posts in advance is that by the time you get around to folding people’s insights into your post, you probably have enough distance to edit your first version ruthlessly. If you do this at least a few days in advance, you can even go back to the people who shared their thoughts with you and see if you’ve quoted them properly.

imageIf you blog, try giving people a sneak peek at upcoming thoughts and asking them for feedback. You can do this through e-mail or through social networks. I like social networks like Twitter and Facebook more than e-mail because other people can see and build on responses, but feel free to use whatever works for you. Enjoy!

Series Navigation« Getting started with blogging when no one’s readingHow to get people to read your blog post »

How to learn Emacs keyboard shortcuts (a visual tutorial for newbies)

This entry is part 2 of 4 in the series A Visual Guide to Emacs

Emacs keyboard shortcuts often mystify beginners because they’re not the same as the shortcuts for other applications (C-w instead of C-x for cutting text, etc.), and they’re long (what do you mean, C-x 5 f?!). I hope this guide will help break down the learning process for you so that you can pick up the keyboard shortcuts step by step. It’s under the Creative Commons Attribution License, so feel free to share!

Click on the image to view or save a larger version. It should print out fine on 8.5×11 paper in landscape mode, and you might even be able to go up to 11×17.

20130830 Emacs Newbie - How to Learn Emacs Keyboard Shortcuts

This is actually my second version of the guide. In the first one, I got a little sidetracked because I wanted to address common frustrations that get in people’s way. Here’s the Grumpy Guide to Learning Emacs Keyboard Shortcuts:

20130830 The Grumpy Guide - How to Learn Emacs Keyboard Shortcuts

The #emacs channel on Freenode was totally awesome in terms of feedback and encouragement. Special thanks go to agumonkey, aidalgol, Fuco, ijp, JordiGH, nicferrier, pkkm, rryoumaa, and webspid0r for suggestions. =)

If you like this, you might also like the similar hand-drawn one-page guide I made on How to Learn Emacs, or my other Emacs-related posts. Enjoy!

For your convenience, you can find this page at http://sach.ac/emacs-keys.

Series Navigation« How to Learn Emacs: A Hand-drawn One-pager for Beginners / A visual tutorialSome tips for learning Org Mode for Emacs »

My evolution as an “artist”, or why there’s hope for you yet

Although my mom had enrolled me in a couple of art camps and classes when I was a kid, I was definitely not one of those instinctively drawn to it. I had classmates who spent all their free time (and much of class) doodling in sketchbooks. I immersed myself in text, reading books, writing notes, programming computers. Well, I’d been mindmapping since grade school, so visual thinking was already part of my life – but it didn’t captivate me as much as text did.

Here’s how I rediscovered drawing.

2007. J- had been looking forward to getting a Nintendo DS. Since there were some interesting games with cooperation modes and one of the stores had a decent sale on Nintendo DSes, I bought myself one as well. I immediately loaded it up with an application called Colors DS, which let me draw using the Nintendo’s stylus. It was a lot of fun.

071224-03.05.58.png071223-06.03.06.png

080511-05.32.23.pngcolors_slot36.png

This was fun, so I started drawing on paper too. It wasn’t nearly as awesome, but it was a good mental challenge.

imageimage

I got into drawing my presentations on a whim. In 2008, I was a technology evangelist and web developer at IBM Canada. I was passionate about how social business systems like internal blogs and communities could transform the way organizations worked. An IBMer in New York told me that whenever she went on campus tours, the students she talked to simply couldn’t grasp the idea of why anyone would want a social network at work. To help her out, I put together a presentation.  I figured – why not make my rough storyboard the actual presentation? So I drew it on my DS and made this:

People liked it. A lot. And they wanted to know how I made it, so I made this:

And then I started sketching most of my presentations, because it turns out you can get away with stick figures instead of bullet points even at IBM:

I had some space in my opportunity fund. Since I was drawing a lot more than I used to, I decided it was time to invest in tools. I didn’t think I had the hand-eye coordination for working on a Wacom tablet attached to the monitor, so it was a toss-up between getting a tablet PC or a Cintiq tablet that lets you draw on a screen. I sprung for the Cintiq 12WX, reasoning that it would let me keep upgrading the computer it was attached to instead of locking me into something with limited upgrade capability. Using it with Inkscape was great, because I could tweak my drawings until they kinda looked like what I had in mind.


stick-figure-studies

When Slideshare organized a Best Presentation Contest, I thought, why not? I didn’t think I stood a chance in the “serious” categories, so I went for the self-introduction one instead.

I won, which was a little mind-boggling. My prize was an iPod Touch, which I immediately used for more drawing.

photoSketchBook-Mobile

In 2009, I made a couple of other presentations that got pretty popular: The Shy Connector:

and A Teacher’s Guide to Web 2.0 at School.

I helped organize lots of innovation workshops at IBM. I started drawing there too. It turned out this is called graphic facilitation. I took notes at other people’s presentations. This one is from Gary Vaynerchuk’s talk at DemoCamp in Toronto:

image

Getting a tablet PC made a huge difference in how I drew. The Lenovo X61 was my first tablet PC. I bought it second-hand in 2010 and started drawing right away. For the first time, I could draw digital notes at meetups.

imageimage

In 2011,  I switched to using Autodesk Sketchbook Pro. I even started giving presentations using it.

image

I looked at other people’s work for inspiration, and I played around with my own. I really liked how Exploding Dog and Hyperbole and a Half managed to say so much with simple figures and vibrant colours, so I tried that out.

future-ibmer-at-the-beach

I still don’t feel particularly confident about colour, though. Seriously, I have the computer figure out complementary colours for accessorizing. So I draw mostly in black and white, like in this three-word life philosophy.

20121102 Three Word Life Philosophy - Sacha Chua

If you compare how I draw now (black and white stick figures, with some colour for accents/highlights) and how I drew in 2007 or 2008… there’s not that much difference. I still draw stick figures. I still don’t have a lot of depth or fancy layouts. I still don’t use pressure sensitivity. My lines are still a little wobbly. I use fewer colours, even. I like the colourful explosion of my Katamari drawing! I should make stuff like that again.

The main difference is that I know my tools more, I guess. I know how to set up a grid so that my text is mostly straight. I work with brushes so that my lines look clean and confident. I work with layers so that I can redraw or erase or move things around. I know that digital drawing works out much better for me than paper does. I know that I don’t have to be an “artist” and I don’t have to make art – I just have to make something that makes me smile.

From time to time, I’m a little bit envious of friends who doodled and drew their way through years and years of practice, and who can now make these beautiful drawings just from their imagination. It’s okay. I can draw well enough for my purposes, even if I probably draw worse than my 7-year-old self could. =)

So that’s my “evolution”. I haven’t actually made much progress in terms of drawing skills, because I haven’t needed to. Simple stick figures turn out to be enough. In fact, I probably won’t try to draw amazingly well, because I want to keep things approachable for people. I want people to look at this and say, “Hey, I can do that.” If anything, I’ve probably only grown in terms of vocabulary, confidence, and understanding. That’s just a matter of practice, and I’m looking forward to getting even better.

Monthly review: June 2013

Last month, I wrote:

June promises to involve a lot of consulting and professional sketchnoting, lots of gardening and biking, and some big personal decisions. Let’s see how it works out!

This summer has been surprisingly cool, which is not a bad thing when biking. I’ve been scaling back consulting and sketchnoting events in favour of coding and working on personal projects, and I like the results. =) This was also the month we worked on the backyard patio, shovelling gravel and laying patio stones – that’s why family time went up quite a bit. New experiences, yay!

I experimented a bit with virtual meetups, too. Seems to be fun! Looking forward to digging into that some more.

July will be about gearing up for more changes, getting better at writing blog posts and making videos, and working on more projects around the house. I like this. =)

Time use

  • Business: 191.6 hours (27%) (~ 44.5 hours per week, good)
    • Build: 83.7 hours – 44% of business
    • Connect: 31.6 hours – 16%
    • Earn: 76.2 hours – 40% (~ 18 hours per week, good)
  • Discretionary: 130.7 hours (18%)
    • Family: 49.6 hours – 38% of discretionary
    • Play: 24.1 hours – 18%
    • Productive: 41 hours – 31%
      • Writing: 23.5 hours
    • Social: 15 hours – 11%
  • Personal: 95.5 hours (13%)
    • Bike: 23.4 hours
  • Sleep: 257.7 hours (36%) – 8.6 hours on average
  • Unpaid work: 44.7 hours (6%)

Blog posts

Good influences in partnerships

I used to worry that relationships would distract me from what I want or need to do, but it turns out that marriage can be a wonderful influence. For example, my life is healthier than it probably would have been without W-. His experience as a bike courier and the trips we took together helped me gain the confidence to make biking my regular commuting method. (In city traffic, even!) I’ve graduated to thinking of rain as no barrier to biking, especially bundled up in my rain jacket, rain pants, and rain boots. (Not thunderstorms or snow yet; those are still scary.)

Yogurt was one of those things I never really liked eating before, although W- likes plain yogurt. Now we have a daily habit of eating yogurt. We started with packages of fruit-bottom yogurt, and now I’ve graduated to a bowl of plain yogurt swirled with home-made apricot syrup. Someday I might even grow to like unsweetened yogurt.

There are all sorts of skills I’d never try out on my own, too. We’ve built ourselves Adirondack chairs and a cage around our vegetables. I’ve helped patch and repaint things inside and outside the house. We recently poured a concrete post to support the deck (one of the posts was rotting). Now we’re learning how to properly lay patio stones on a bed of gravel.

W- is helping me build my exercise habits, too. The krav maga classes are a bit intimidating for me, so we’re working on building up my strength and confidence through workouts at home. I feel a little self-conscious about it being slow going, but he says it’s worth the time investment for him to help me turn it into a self-sustaining habit. 

As for me, I influence him to take notes, track his finances, and make frugal decisions. I’m good at wording things, too. He’s older than I am, so in the beginning I wasn’t sure if there was anything I could help him learn or improve, but it turns out that I have things to share too.

I don’t know if my friends could influence me in these ways. I don’t see people often enough, I think, and it would be weird for friends to nudge me into, say, eating yogurt more often. W- and I are in it for the long haul, so it makes sense to invest in skills and habits that make it better over time.  Why does it work?

Good habits rubbing off on each other: I can see W- regularly exercising and getting a kick out of it, and he can help me start getting the hang of it. I talk about decisions and my decision-making processes, and he asks me questions about investing.

Encouragement and positive reinforcement: I enjoy biking, but other forms of exercise are still in the “this is hard work, a little scary, and not at all fun!” phase. I am totally fine with hacking my motivation by turning it into a social thing, an “exercise date” at home.

Consistency: The other night, I was the one who reminded him that he skipped the previous night’s yogurt. We remember things for each other, and we can cheer each other on.

Maybe this is one of the things that partnerships are about. It’s pretty cool!

It might be interesting to get better at the meta-skill of getting better together. The better we get at being good influences for each other, the more we can improve our lives. This probably means being more conscious and deliberate about things we want to learn or habits we want to pick up, improving the way we communicate with and motivate each other, and maybe tracking the consistency and success of these changes so that we can celebrate or course-correct.

Onward and upward!

Keeping in touch

Come to think of it, I used to worry more about ways to keep in touch. I customized my address book so that it would keep track of the last time I e-mailed or met someone and so that I could see whom I hadn’t contacted in a while. Some people are easy to connect with because you interact with them frequently or bump into them a lot online, but there are lots of other interesting people who don’t – and so you’d need to reach out to them in order to find out what’s going on.

After I stopped being able to use Emacs for my mail, I tried out different personal contact relationship management systems like Contactually and Nimble to see if I could have that kind of contact tracking there. It was pretty interesting, and sometimes I used the prompts to focus on one or two people I hadn’t heard from in ages. I checked their Facebook page or Twitter to see what they’ve been up to and looked for excuses to help them or reach out to them. Sometimes that led to interesting conversations.

I often deleted the reminders, though, and I decided it wasn’t worth paying something like $20/month for that kind of a reminder service. I’m becoming more comfortable with the way people flow into and out of one’s life. There are some old friends I get to talk to once in a while, which is wonderful, but I’m in no rush to develop old acquaintances into friendships.

There are lots of awesome people out there, so I can go with the flow – to respond to people, and to reach out when something prompts me. I’ve gotten pretty good at being open and comfortable with people. I remember what it’s like to be around close friends, and I get as close as I can to that as I can even with new groups. I don’t have the same kind of everyday camaraderie I had in my old circles of friends, but that makes sense in this part of my life. (Although Hacklab feels like an instant barkada too, with the way they’re friends with each other. ^_^ Hmm…)

So instead of worrying about keeping in touch, I keep part of my budget for coffee, lunches, dinners, tea parties, and stamps, spend time with friends in leisurely conversation or shared activities, and read people’s blogs and Facebook updates. I’m a little sad that it means my circles tend to be tilted towards people who are active on the Internet or who are in the same city as I am, and I know there are wonderful people whom I’m missing. But life moves in mysterious ways, so let’s see!

Brainstorming ways to help build the Emacs community

John Wiegley and I had lots of fun brainstorming ways to help move Emacs forward, particularly as I’m carving out more of my time to focus on Emacs. Here’s what we talked about:

A rough outline of things to flesh out into articles/chapters:

  • productivity, org-mode
  • development
    • emacs lisp
    • haskel, rails, java, and other languages…
  • writing
  • e-mail
  • IRC/Twitter/FB
  • web
  • games and diversions
  • documentation
  • learning and discovery

Learning Emacs development:

  • tools
  • cons cells
  • macros, quoting
  • control structures
  • Emacs structures: windows, buffers, text properties, etc.
  • lambdas
  • libraries

Ideas for visualizations:

  • #emacs word cloud or URL frequency/analysis
  • IUseThis for Emacs, maybe with annotations

Cookbook:

  • PLEAC for Emacs? Emacs Lisp cookbook?
  • Coding patterns

IDE challenges:

  • IntelliSense
  • Excellent project browsing
  • Refactoring
  • Integrated test harnesses
  • Asynchronous operation
  • Performance (especially of code analysis and navigation tools)

Target communities/audiences?

  • Emacs beginners: getting more into Emacs, learning more about packages, customizing Emacs; learning path through packages, maybe with time estimates?
  • Emacs intermediate: tweaking Emacs, getting into Emacs Lisp, contributing upstream; need to update Writing GNU Emacs Extensions
  • Keyboard enthusiasts: keyboard shortcuts, customizability
  • Non-developers (writers, scientists, mathematicians, etc.): Context-specific functionality, starter kits, easy installs, articles, screencasts – learn from Aquamacs, Ready Lisp. Pre-built Org starter kits? screencasts, interactive tutorials, games as introductions
  • Users of defunct editors: migrated features, migration guides
  • IDE users: integration with other parts of life
  • Vim users: configurability envy, migration/emulation

Emacs performance: elp, memory-use-counts, garbage collection, algorithms, cookbook, core work

Discovery:

  • packages: popularity, reverse dependency graph, URL log for #emacs, 24 packages for Christmas and other blog series, IUseThis, reminders to be lazier / stories for inspiration
  • EmacsWiki: guided tour, CSS design

Imagining awesomeness in 5 years: Responsive editor that’s easy to set up; SEO so that people can find useful resources; context/goal-specific documentation; regular virtual show&tell

Imagining nonawesomeness: Weak async; marginal/niche; people moving away to other editors because of growing gaps; performance issues; unmaintained code; developer burnout

EmacsConf: mailing list for next year, venue?

 

Here’s what I’m looking forward to devoting some of my time to:

Write and draw

  • EmacsWiki page updates
  • Guided tours
  • Emacs Lisp cookbook
  • Package reviews
  • Interviews with people so that they can share their tips (incl. screencast and transcript)

Analyze

  • Package use
  • Performance
  • Logs

Learn

  • Performance optimization (Emacs Lisp and core)
  • Package descriptions and use

Code

  • Issues
  • Feature requests
  • Integration
  • New code

Lots of possibilities!

Weekly review: Week ending March 1, 2013

Lots of cooking this week! I spent the weekend making nine different banchan recipes, and it really paid off in terms of yummy beef bulgogi lunches with varied appetizers. Yay!

I did a lot of writing, too. I like doing that. And drawing. =) And I got to talk to lots of interesting people! Life is good.

Blog posts

Accomplished this week

  • Business
    • Earn: Consulting – E1 – Tuesday
    • Earn: Consulting – E1 – Thursday
    • Drawing
      • Sketchnote a book
      • Map some artist styles
      • Add people to Visual Thinkers Toronto mailing list
      • Co-host Visual Thinkers Toronto meetup
      • Work on building my visual vocabulary
      • Follow up with U
      • Practise drawing faces
      • Clip more images
    • Emacs
      • Prepare for pair programming session – want to talk through Emacs configuration, tool setup
      • Research how people are using Emacs
      • Emacs talk
      • Write lots of blog posts
  • Relationships
    • Talk to Oliver Barthel about sketchnotes
    • Drop by HackLab.to on Friday
    • Talk to Avdi about his Emacs setup
    • Cook a lot of food
    • Set up tea for Saturday
  • Life

Plans for next week

  • Business
    • [ ] Earn: Consulting – E1 – Thursday
    • [ ] Earn: Consulting – E1 – Tuesday
    • [ ] Co-host Quantified Self Toronto meetup: 3/6 (Wed)
    • [ ] Prepare for graphic recording meeting with client M
    • [ ] Meet with client M about graphic recording
    • [ ] Listen to last course in scribing
    • [ ] Sketchnote a book
    • [ ] Emacs: Add more detail to present section of talk
  • Relationships
    • [ ] Drop by HackLab.to on Monday
    • [ ] Drop by HackLab.to on Wednesday
    • [ ] Drop by HackLab.to on Friday
    • [ ] Check out neuroscience lecture?
    • [ ] Visit Emma Logue
    • [ ] Visit Stephen Crawford
    • [ ] Work on project R
    • [ ] Watch Buffy the Vampire Slayer
    • [ ] Check out Final Fantasy XIII
  • Life
    • [ ] Set up dentist appointment
    • [ ] Write about anxiety and self-talk
    • [ ] Write blog post about chat with Avdi Grimm
    • [ ] Study for the Canadian citizenship test
    • [ ] Declutter

Time review

  • Business: 39.9 hours (E1: 13.8, Connect: 10.2, Drawing: 14.9)
  • Discretionary: 31.3 hours (Emacs: 13.6, Writing: 4.0)
  • Personal: 14.4 hours (Routines: 10.9)
  • Sleep: 60.1 hours – average of 8.6 hours per day
  • Unpaid work: 22.3 hours (Commuting: 3.9, Cook: 11.2)

Weekly review: Week ending February 1, 2013

A sprint of work! =) Got lots done, sketched a new idea, drew a two meetups… I think I’m on the trail of something interesting, and I’d like to dig into it more next week.

Blog posts

Accomplished this week

  • Business
    • Earn
      • E1: Reporting, homepage tweaks
      • Deposited MaRS cheque
    • Connect
      • E1: Went to Friday get-together
      • Went to visual thinking get-together
      • Sketchnoted Awesome Foundation Toronto event
      • Helped Chris with advice
      • Met Randy, discussed sketchnotes
      • Went to Union get-together
      • Uploaded Quantified Self Toronto video
    • Build
      • Prototyped sketchnote index (Ember.js, jquery.csv.js)
      • Entered data for sketchnotes
  • Relationships
    • Went to krav and yoga on Wednesday
    • Worked on project
    • Helped out at Hack Lab
  • Life
    • Make lasagna

Plans for next week

  • Business
    • Build admin interface for sketchnote index
    • Add other sketchnotes
    • Set up communication plan for Awesome Foundation Toronto
    • Drop by hacklab.to on Tuesday
    • Kick off visa process for London
  • Relationships
    • [X] Go to krav classes
    • Prepare another batch of food
  • Life
    • Write about fear and self-talk

Time review

  • Business: 50.0 hours (E1: 23.0, Connect: 14.2, Drawing: 0.3, Coding: 1.2)
  • Discretionary: 25.6 hours (Social: 6.6, Writing: 0.8)
  • Personal: 19.6 hours (Routines: 10.6)
  • Sleep: 61.4 hours – average of 8.8 hours per day
  • Unpaid work: 11.4 hours (Commuting: 7.1, Cook: 1.7)

Visual book review: Blue Ocean Strategy–W. Chan Kim, Renée Mauborgne

Most business books focus on beating the competition. Blue Ocean Strategy (Harvard Business School Press, 2005) focuses on breaking out of red oceans of competition, creating new markets instead. Here are some ways to find alternative markets: alternative industries, strategic groups, buyers, complementary product and service offerings, functional/emotional appeal, time.

Click on the image for a larger version of the sketchnote.

20121228 Book - Blue Ocean Strategy

Feel free to share this! You can credit it as (c) 2012 Sacha Chua under the Creative Commons Attribution 2.5 Canadalicence.

Blue Ocean Strategy is a good book for established companies that are finding it challenging to differentiate themselves, but it’s also a good read for companies that are starting out and who are looking for their unique selling propositions (USPs).

I’m going to go over different business ideas, sketch red ocean / blue ocean strategies for each, and see about talking to lots of people in order to help validate the sketches. Looking forward to it!

Check out my other sketchnotes and visual book notes. Want me to sketchnote your event? Know of any interesting tech / business talks coming up? I’d love to hear from you!

Weekly review: Week ending November 30, 2012

Lots of sketchnoting last week and this week! =D

From last week’s plans

Business

  • [X] Earn: H: Revise presentation
  • [X] Earn: H: Send invoice
  • [X] Earn: H: Give presentation
  • [X] Earn: E1: Wrap up consulting before December break
  • [X] Build: Attend art class
  • [X] Build: Sketchnote content marketing webinar
  • [X] Build: Learn about launching online businesses
  • [X] Connect: Have lunch with Scott and Nolin, discuss sketchnotes
  • [X] Connect: Attend Awesome Foundation pitch night
  • [X] Connect: Sketchnote Entrepreneurship 101
  • Build: Improved scheduling process
  • Build: Learned more about using Trello to manage my tasks
  • Earn: Added more logos to Lean Startup Day template
  • Build: Flesh out sketchnoting business idea
  • Earn: E1: Signed contract extension and submitted it
  • Connect: Helped mom with copyediting “About Us”
  • Build: Cleaned up web host files
  • Earn: Deposited cheques, yay!
  • Connect: Discussed sketchnotes with Alex Chong
  • Build: Sorted out tax instalments

Relationships

  • [X] Cook a lot!
  • [X] Spend time together relaxing
  • [X] Put package together for family – to mail on Tuesday

Life

  • [X] Attend women’s self-defense course

Plans for next week

Business

  • [ ] Earn: Sketchnote MaRS Lean Startup Day
  • [ ] Earn: E1: Check in on theme, prepare performance improvements (Tue)
  • [ ] Earn: Talk to N regarding sketchnotes (Wed)
  • [X] Connect: Sketchnote AngelHackTO
  • [ ] Connect: Attend Dan Roam’s lecture at Rotman (Tue)
  • [ ] Connect: Attend Toronto Holiday Tech Social (Tue)
  • [ ] Connect: Reconnect with Curtis Voisin (Wed)
  • [ ] Connect: Reconnect with Sharon Sehdev about connecting (Fri)
  • [ ] Connect: Talk to Gary Wolf about delegation
  • [ ] Build: Revisit scribing course
  • [ ] Build: Document sketchnote workflow some more
  • [ ] Build: Get ready for business brainstorming sessions

Relationships

  • [ ] Go to krav fitness class on Thursday
  • [ ] Attend Eric Boyd’s birthday party
  • [X] Cook a ton of food and restock the freezer

Life

  • [ ] Go for a nice long walk (1-2 hours)
  • [ ] Finally sit down and write those monthly reviews

Sketchnotes: Angel Hack Toronto pitches!

Sketchnotes from today’s pitch afternoon – 62 2-minute pitches from the different teams in Angel Hack Toronto. Lots of great stuff! Feel free to share these visual summaries under the Creative Commons Attribution License.

20121202 AngelHack 1 20121202 AngelHack 2 20121202 AngelHack 3 20121202 AngelHack 4

See the AngelHack Toronto presentation list for links to short descriptions.

Like this? Check out my other sketchnotes for business- and technology-related visual summaries. Want me to draw for you? Get in touch!

Business experience report: Filing taxes!

I filed my corporate taxes and HST today, well ahead of the deadlines. The money will earn negligible interest in my business bank account and I don’t need it for cashflow, so I’m better off paying the government early and not missing any deadlines. I’m still looking for an accountant to work with in the future, but fortunately, my first-year taxes (no home office deductions, etc.) are simple enough that TurboTax looked like it would do the job.

After reading and re-reading and re-reading the T2 corporate tax return it prepared, I took the plunge and e-filed it with the Canada Revenue Agency. For good measure, I also filed my HST taxes even though they’re not due until next month.

Paying that much in taxes triggers the monthly/quarterly installment requirement, which happens even though they don’t send you a notice. This has tripped up enough new business owners that people have written lots of forum posts about it. I’m glad I found out about that requirement—it pays to watch small business boards! (Actually, it would probably also pay to have a great accountant, but I’ll keep looking.)

There are several options for how much to pay in each installment, but according to the Internet and to the CRA agent that I called to confirm, the safest way is to pay a proportion of what you owed the government the previous year. That way, even if it’s less than your actual taxes owed, you won’t owe interest.

I think I’m eligible for quarterly installments of federal tax, but to be sure, I scheduled monthly payments for federal tax and scheduled quarterly payments for HST. I’ll pay a little extra in terms of bank fees, but it’s worth the peace of mind.

It is a large chunk of money to set aside for taxes. I don’t expect to make as much income this fiscal year because I’m forcing myself to experiment with more uncertainty, so it’s good that I’ve left practically all the money in the corporation.

So there’s another business milestone – surviving taxes! It’s better to plan for a future audit than to assume there won’t be one, so I’m happy to get my books in order. Next year, I’ll learn more about capital cost adjustments. It would be good to have an accountant who can explain these things and make sure I’m doing things right, but it’s good to know these things too!

Someday, when I need to get money out of the corporation, I’ll learn about payroll deductions and T

Toolmaking

My first full day back at consulting after a month-long vacation, and it felt great. I started digging into the REST API for the system we were using, and I figured out how to build a simple command-line client to get data. I’d built a similar community analysis tool while at IBM, and that one saved lots of people hours and hours of work. Since we were starting to need similar reports, it made sense to build a tool instead of manually crunching the numbers. This time,

I decided to build the tool using Ruby instead of Java, packaging it into an .exe with Ocra. I found Ruby to be much easier to write in. The interactive mode made it easy to prototype my ideas. Gems meant that I didn’t have to hunt all over for packages and figure out how to make them work together. It was fun to come up with more ideas and add them to the tool.

I love making tools. I like digging into the wires behind web-based services and making up new ways to use stuff. The value isn’t as visible or as easy to appreciate as, say, web design work, but it’s much easier to build something quick and then tweak it to fit specific people. I like that part a lot – tailoring tools to specific ways of working.

I was thinking about the different things I might like to be really, really good at in twenty years’ time. My current shortlist: writing, drawing (mostly sketchnotes), and toolmaking. I think writing and drawing are like toolmaking for me too. They’re about making tools for the mind, helping people learn faster or more effectively or about more things. =) Maybe if I practise and learn more about writing and drawing — the way I’ve spent most of my life programming — I’ll be able to make wonderful little things too.

International cooking

I was thinking about going to the Canadian National Exhibition to watch the airshow with friends and check out the international showcase. Then again, aside from the indulgence of halo-halo from the food court and perhaps something from Bacon Nation… Was that enough for the admission fee and a long time in sun and crowd?

Afternoon at the fair, or a day of cooking? With a fridge full of fresh ingredients, new recipes to try, a stack of videos to watch during the marathon wonton-making session we had planned, and a husband who had already gotten a head start making a large pot of chicken stock – it was an easy decision.

I made cold spring rolls for the first time: shrimp, vermicelli, carrots, basil, cilantro, lettuce, and rice wrappers. I mixed up the peanut sauce using the last of our peanut butter and some other seasonings from the fridge. It was messy, but we’ll probably get better at the technique over time.

Then we made 236 wontons, whee! We had some of the wontons along with the leftover shrimp on top of the vermicelli, along with a reasonable attempt at a nuoc cham dipping sauce made without fish sauce (we’re all out).

I like days like this, getting the house ready for another good week. I’ll be away for two weeks, so I’ll miss these routines. =)

http://www.chow.com/recipes/10641-vietnamese-style-summer-rolls-with-peanut-sauce

No longer worried about flat tires

My bicycle’s rear wheel has a fast leak. I pumped it up this morning, and by the time I returned to my bike after a good day at the office, it was as smooshy as a cat on a hot day. I refilled it with the pump I carry in my emergency kit – first time to use it! – and headed home, which is about an hour’s ride. (Mostly due to one steep hill near the end; it takes me about forty minutes the other way). Flat again when I got home.

W- will help me fix my bicycle this weekend. He used to be a bike courier, and he knows all sorts of things. =)

The neat thing is that this experience shows me that I don’t have to worry too much about a flat tire, especially on a decent day. Good to know!

Transcript: Emacs chat with John Wiegley

This post is long, so if you’re reading this on the main page, go to http://sachachua.com/blog/2012/07/transcript-emacs-chat-john-wiegley/ to view the full transcript!

[Read more →]

Weekly review: Week ending June 1, 2012

Many small improvements this week! I installed a drip irrigation system in the garden to help with watering. I think I may need to replace some of the hoses or tweak the configuration a bit, but it’s a good start, and it’ll mean that the tomatoes, peas, and bitter melon plants will get watered reliably. The garden is starting to do interesting things. The bok choy plants we bought and planted are now enormous, the first strawberries are reddening, the tomato plants are flowering, the peas are climbing away, and the bitter melon is flourishing. We’ve been cheering on some birds-eye pepper seedlings, too – let’s see how far they get!

I upgraded my laptop to a solid-state drive (SSD) last night, and I’m looking forward to enjoying much snappier performance. It’s almost like having a new laptop.

It’s been wonderful having so many different types of desserts in the house. Brownies, lemon squares, polvoron… Hooray for freezable goodies that can be spread out over weeks.

Business-wise, this week was another sprint – 45.7 hours spent consulting. It’s been okay so far, although I was glad to take Friday to learn Quickbooks and upgrade my drive. I want to learn Quickbooks because even if I outsource bookkeeping and accounting, I want to know what’s going on, and I want to be able to have better conversations about it. It’s a bit expensive, but I’d rather do that kind of tracking throughout the year instead of waiting until tax-filing time or leaving it entirely in someone else’s hands. I might look for a bookkeeper on Odesk to help me review my setup and keep the files up to date.

I’ve got a lot of data to analyze. My virtual assistant has typed in all the details from our grocery receipts, so I can crunch the numbers in time for the Quantified Self Toronto meetup on Thursday. I’ve reviewed the three notebooks I scanned in, and am looking forward to scanning in more. I’m most of the way through my blog archive – now looking at 2009 and moving forward – and I’ve been rating posts from 1 to 5. I’ve hired a WordPress developer to make a plugin for filtering the rated posts so that it’s easy to see highlights. Tapping other people’s time and skills turns out to be lots of fun.

From last week’s plans

  • Business
    • [X] Earn: E1: Mon-Thu: More training, get ready for conference
    • [X] Earn: R1: I18n, invoice
    • [-] Connect: Practise pinging people
    • [X] Build: Set up my local development environment for Quantified Awesome
    • [-] Build: Coach my mom on delegating to virtual assistants
    • [X] Build: Learn more about Dragon NaturallySpeaking
    • [-] Build: Write about first-quarter experience
    • Build: Upgraded to SSD, yay!
    • Earn: R1: Production deployment slightly stressful, but should improve going forward
    • Earn: R1: Learned a little about Sencha Touch
  • Relationships
    • [-] Help with study group – no study group, PA day
    • [X] Clear my inbox
    • [-] Plant front garden
    • [X] Install irrigation system
    • Watched Going Postal, which was lots of fun; also, a few other movies
    • Made polvoron
  • Life
    • [X] Balance books and update accounts
    • [X] Review past notebooks
    • [-] Finish rating my past blog posts
    • [-] Relax

Plans for next week

  • Business
    • [ ] Earn: E1: Conference
    • [ ] Earn: E1: Community prototyping
    • [ ] Earn: R1: Support, i18n
    • [ ] Connect: Set up meetings with people
    • [ ] Build: Write some blog posts on Emacs
    • [ ] Build: Investigate pictures in org2blog
    • [ ] Build: Write about first-quarter experience
    • [ ] Build: Post a job on ODesk for a bookkeeper
    • [ ] Build: Braindump lots of blog posts
  • Relationships
    • [ ] Have M- and C- over for lunch
    • [ ] Plant front garden
    • [ ] Help with study group
  • Life
    • [ ] Finish rating my past blog posts

Time notes

  • Business: 62:31 (E1 30:52, R1 13:47, connect 1:05)
  • Discretionary: 18:35 (gardening 3:23, writing 1:02, social 0:47)
  • Personal: 28:20 (biking 7:03, routines 13:50)
  • Sleep: 50:58 (average 7.3 hours per day)
  • Unpaid work: 7:34

Visual metaphor: Danger

danger

This is part of my Visual Metaphors series. Like it? Suggest other terms you’d like to see!

Visual metaphors: Argument

visual-metaphors-argument

(Click on the image to view a larger version.)

Different ways to visualize argument:

  • War: conflict, opposition, fight, demolishing a flimsy argument, score, scoring points, targeting the weak link, poking holes
  • Logic: building an argument, issue-based information systems, sound/unsound logic, follows/does not follow
  • Cooperation: Co-adventurers searching for a creative solution, on the same side, trading, shared journey
  • See also: Balance

This is part of my Visual Metaphors series. Like it? Suggest other ways to visually describe “argument”, or tell me about other terms you’d like to see!

Visual book notes: 6 Secrets to Startup Success

20120229-book-notes-6-secrets-to-startup-success

(Click on the image to see a larger version, which could be good for reading my teeny-tiny handwriting. If you need a text version instead of an image, leave a comment or e-mail me at [email protected].)

You know how I was looking for books about people-centered entrepreneurship? Checking the Amazon list of books on new enterprises led me to 6 Secrets for Startup Success by John Bradberry. Its main point is that entrepreneurs tend to fall in love with their ideas and end up ignoring reality. Bradberry points out six common failures associated with being too attached to your idea, and suggests ways to avoid those pitfalls. One of those ways is to focus on people instead of on your product or service idea. This is more of an overview book than a step-by-step guide with concrete tactics, but it’s a good wake-up call if you’re starting to get lost in your own dreams.

In addition to the chapter about focusing on people, I particularly liked the chapter on figuring out your math story. Bradberry points out that companies go through different stages and that your core question is different in each stage. In the first stage, the question is: “Do we have a concept that anyone (other than us) cares about?” After you successfully answer that question through prototypes and experiments, you can move on to the question, “Can we actually make money at this? How?” Validating your business model lets you move on to the next question, “Is this business scalable? How can we create significant value over time?” Many businesses struggle because they get all wrapped up in the third question before they’ve answered the first. It’s a good idea to keep those considerations in mind, of course, but it’s important to pay attention to the steps that will get you to that point instead of jumping ahead and pretending you’re a huge company.

What I’m learning from this book: Yes, it seems to make sense to focus on people and let them teach you what they want. (The Lean Startup makes this point as well.) There’s room in the world for wildly visionary companies, but it’s perfectly okay (and much less risky) to start by creating something people already want.

Whom this book is great for: Worried that you’re getting too wrapped up in your entrepreneurial vision? This book might help as a reality check. If you like answering questionnaires as a way of learning more about yourself, you’ll also want to check out the appendix, which has a long self-assessment for founder readiness.

You may also be interested in The Lean Startup (Eric Ries, 2011; see my visual book notes), which has lots of good ideas for testing your business and iterating your way towards success. The Lean Startup book will help translate the chapters on the pull of the market and startup agility into concrete terms.

6 Secrets to Startup Success: How to Turn Your Entrepreneurial Passion into a Thriving Business
John Bradberry
2011, AMACOM
ISBN: 978-0814416068

Buy this book: Amazon.com (Hardcover, Kindle), Amazon.ca
If you buy stuff through the links above, I get a small commission, yay! Commission-free links: Google Books, Toronto Public Library

Thinking about how to experiment with business and what I might want to do

“So, what are you going to do?” That’s always what people ask after I tell them that I’m leaving IBM in order to experiment with entrepreneurship.

“I don’t know yet,” I say. I explain that I haven’t yet experimented with anything that could be seen as competing with IBM, following our Business Conduct Guidelines – and that covers so much ground. I’m leaving without a solid business plan or a proven opportunity, just itch and curiosity and the sneaky suspicion that there’s probably at least one business that I can build considering how others have succeeded.

The first thing I’m going to do after I leave is to create a structure for experimenting. Despite the associated costs and paperwork, incorporation makes sense to me. Limiting the downside – building that part of the safety net – makes it easier to experiment.

How can I go about testing possible business ideas? There are some conventional things I’d like to try.

Writing: I love reading and writing. If I can combine that with drawing and design, maybe I can create engaging e-books that will help people save time and be inspired. People have earned money from information products, so this has worked for other people before. Some have even succeeded without sleazy marketing tactics and without preying on people’s greed, which is encouraging! =)

I can test this by researching topics I’m interested in, writing blog posts and chapters, and eventually building up to e-books for things that people might buy. I’ll be writing notes anyway, so I may as well invest time into making them more usable for others.

Coaching: I’ve gotten so much value from writing, presenting, and experimenting with life. People find these things intimidating. Maybe I can help build scaffolds so that people can gradually try things out, succeed, and then gain enough confidence to do things on their own. (And I can write about what we learn along the way!)

Self-tracking: I like the results I’ve been getting from tracking my life, and I’m curious about building and tailoring tools for other people’s lives. Can I turn that into a recurring source of income? We’ll see.

Sales and customer relationship management for development: Quite a few developers have told me that they don’t particularly enjoy this part of freelancing, and it’s one of the parts I’m actually the most curious about. Maybe I can get started by helping my friends take better care of their clients and leads, and then see if the arrangement works out well.

Community analysis tools: Considering the success of the Lotus Connections toolkit within IBM, it might be interesting to make it more available to other companies. Right now, some of the functionality is available externally in a plugin for Lotus Notes, but things are still difficult to adopt. If I write a new implementation from scratch and I build the tool based only on externally-accessible information, that might be okay. It’s been quite a useful service within IBM, and it would be great to share it with more companies.

Testing ideas: How meta is that? If I’m going to be testing lots of business ideas and possibly working with other people to help them test their business ideas, then it would be great to gradually build processes and infrastructure for doing so.

Freelance consulting and development: I want to focus on the other initiatives first before I get into freelancing. I’m reasonably confident that I can figure out freelancing (especially with a little help from my friends). The kinds of work I’m considering (consulting, web development, technical writing, data migration) are similar to my work at IBM, so there’s less uncertainty to resolve. Custom work often means fewer opportunities to build compounding value, and I’d like to see if I can build a business that can scale up beyond my time.

I’m looking for things in the sweet spot: the intersection between what people need, what I’m good at, and what I love to do. If you’ve been reading my blog for a while, you’ve probably picked up a good sense of what I’m interested in and how I might help you (and lots of people like you!). Is this list missing something that would help you even rock more?

Quantified Awesome: Community-supported agriculture with Plan B Organic Farms, fall 2011

image

After a good summer season with Plan B Organic Farms, we decided to sign up for their fall season as well. This time, I made sure to weigh and track all the produce that came in. I also took notes on what we did with the produce to make it easier to think of ways to use them before they were wasted.

Here’s what I was curious about:

  • How much did we get?
  • What was the cost per kilo or pound?
  • How does it compare to organic produce prices at the supermarket?
  • What were the proportions like? Did they match up with our perceptions?
  • How do I feel about the different vegetables now?

How much did we get? Over the 11 distributions I tracked, we received a total of 71.6 kilograms of organic produce and a container of apple cider. This worked out to an average of 6.5kg per distribution, with a standard deviation of 1.08kg.

What was the cost per kilo or pound? Weekly half-shares cost $25, about $3.84/kg or $1.75/lb of organic produce (not including the cider).

How does it compare to organic produce prices at the supermarket? The No Frills supermarket we usually shop at doesn’t have a wide selection of organic produce, so I used prices from GroceryGateway instead. In a past analysis, I found them to be usually 10% more than No Frills prices, and there are minimum order limits and delivery fees as well. Using the prices for organic produce whenever available and guessing “bunch” weights from my data, I calculated that we received an average of $31 of produce each week (including the cider). This worked out to a savings of $6 per week, or 20% (not including taxes, delivery charges, or other purchases to meet the minimum).

Would we have bought all that produce if we weren’t part of the community-supported agriculture program? I’m not sure, but the commitment device of having a box of vegetables come into our house every week helped us improve our diet.

What were the proportions like? Did they match up with our perceptions?

image

I’m surprised by this, because it felt like we received a whole lot more squash and cabbage (which I’ve included in the Greens category). They were bulky and not in our usual cooking repertoire, so they were more of a challenge. We mostly managed to finishing the cabbage, but we had to cut up and throw some of the squash away. The apples and tomatoes were occasionally suspect, too.

Here’s the breakdown within each category:

image

On average, we received 11 different types in a distribution (standard deviation = 1.2), covering 32 different types in total. The fall box included imported items such as bananas and kiwi to fill out the selection, as well as produce grown in greenhouses.

How do I feel about the different vegetables now? After two seasons of community-supported agriculture, I’m more comfortable with dealing with the increased volume of vegetables passing through our kitchen. We’ve organized the pantries with bins so that we can store all the squash and onions neatly, and we manage to get through the produce in our fridge drawers in a reasonable period of time. We waste a small fraction of the produce through inattention (apples, mostly), but have managed to convert most of the produce into good food. I’d say we’re working at 90-95% efficiency or so.

Some experimental recipes have been more fun than others. Sweet potato fries have become a favourite in the house. Baked acorn squash with brown sugar and butter is a nice winter dessert. We discovered that adding sausages to butternut squash soup makes it much easier to finish. Turnips and beets still need a lot of tweaking.

We’ve signed up for a bi-weekly winter share from Cooper’s Farm CSA in order to take advantage of delivery. We happened to start with their program in time to make a side-by-side comparison with Plan B Organic Farms, and they turned out favourably (although their produce required more scrubbing). We’ll see how things work out over the next season.

Here’s my raw data.

How I tracked this: I built a small tool for tracking community-supported agriculture into my Quantified Awesome website. Every week, I weighed all the produce and typed in the their names and weights. At the end of the season, I copied the data and used pivot tables in Microsoft Excel to analyze the results by category and week. I manually checked the GroceryGateway website for prices, and I used VLOOKUP to cross-reference the data with the prices.

My input system didn’t do anything special that a spreadsheet couldn’t handle, although I liked how the weights became part of my dashboard. If you want to start tracking either community-supported agriculture or your regular groceries, you can start with a spreadsheet (Microsoft Excel or OpenOffice). Log the produce you receive or buy, and summarize them in ways that help you answer your questions. Have fun!

Upcoming decision: Considering different cellphone plans for J-

J- currently uses a prepaid cellphone with Virgin Mobile in order to coordinate with us, her mom, and her friends. She’s had it for a while and has been pretty good at using it, although we’re not happy with Virgin Mobile’s billing and credits system. We’re looking around for a better cellphone plan for her, ideally something that limits the risks of accidental charges while allowing important contacts any time.

Mobilicity’s current 50% promotion looks tempting. Their least expensive plan is $12.50/month for unlimited talk and text assuming 12 months’ preauthorized credit, although you’ll also need to add the cost of the phone (probably $99.99). That comes out to around $250 plus tax for the year.

A comparable plan would be WIND Mobile’s Smart plan ($25/month) with unlimited calls and text. The phone would be almost free (put on the Wind Tab and paid off through phone use), so we’d be looking at $300 plus tax for the year.

Like Mobilicity, WIND offers a small discount for multiple accounts. I’m occasionally tempted to check out Wind Mobile’s $29 unlimited talk/text/data plan, although (a) I’m almost always in WiFi zone, (b) the Kindle is handy for looking things up if I really, really need to, and (c) the Nexus One battery life is a bit short, so I won’t be doing a lot of mobile browsing on the rare occasions that I’m outside a wireless network. I may switch within the next year, but I don’t mind holding out until then, as the promotional rate is good for only one year.

Will network coverage be sufficient? Fortunately, we don’t have to rely on the glossy maps published by cellphone companies. Coverage Mapper shows user-generated data for Mobilicity and WIND Mobile. Our neighbourhood, J-’s school, and her mom’s place look like they’ll mostly be okay.

Decisions, decisions…

Planning an Emacs-based personal wiki – Org? Muse? Hmm…

I miss my Planner wiki! I think it’s time to organize things into a personal wiki again. Blogs are great for chronological updates, but I need to be able to group ideas into more than just categories, and WordPress pages aren’t as convenient as a proper wiki. Org-mode outlines are also good, but they can get unwieldy when large. I have an 1.7MB outline right now, all plain text, and I can’t fit it into my head.

What kind of tool should I use? I thought about whether I wanted a web-based wiki editing environment. I realized that editing and publishing the wiki from Emacs is probably the way to go for me, because that gives me offline access, synchronization, and all sorts of other goodies.

Here’s what I want to do:

  1. Provide a knowledge map that links to blog posts and other resources
  2. Flesh out that knowledge map with summaries
  3. Build a coherent personal wiki

Here are other capabilities I care about:

  1. Link easily between concepts
  2. Keep tables and other forms of data
  3. Keep private and public notes, but publish only the public ones
  4. Publish parts of the tree
  5. Publish as separate files, for ease of browsing
  6. Use the same markup I use in Org Mode (or something that can be easily transformed), so that I don’t have to do anything fancy when copying entries over

I thought about using Muse because of its project-publishing support, and because of the good experience I had with Planner and Emacswiki (the predecessor to Muse). Muse supports Org-format tables, but it uses a different way to signify code blocks, examples, and other parts. For ease of implementation, then, I’ll probably see if I can get Org Mode to deal well with the case of either multiple small files, or narrowed portions of one large file. Anyway, the first step is to organize my resources, and that will be useful no matter which wiki system I end up using.

Do you have an Emacs-based personal wiki? What do you use, and what do you think about it?

Weekly review: Week ending September 30, 2011

Lots of scrambling, but we’re through!

From last week’s plans

  • Work
    • [X] Add summary to project T
    • [-] Migrate project T – postponed
    • [X] Follow up on SQL search for project I – found possible experts
    • [X] Gather requirements for project O
    • Added user management to project O
    • Set up Redmine issue tracking for project O
  • Relationships
    • [-] Pack for trip
    • [X] Help with build class
  • Life
    • [-] Draw
    • [X] Get through reading backlog
    • [X] Suspend library requests
    • Added clothing to home dashboard

Plans for next week

  • Work
    • [ ] Tidy up more project T issues
    • [ ] Import data for project O
  • Relationships
    • [ ] Celebrate anniversary – dinner at Pho Hung?
    • [ ] Spend time with family
  • Life
    • [ ] Delegate blog-checking to virtual assistant
    • [ ] Add library pickup check

Time analysis

Activity This week Last week Delta Notes
! Discretionary 44.5 45.4 -0.8
! Personal care 15.7 17.8 -2.2
! Unpaid work 9.0 9.2 -0.2
A – Sleep 52.5 54.6 -2.1
A – Work 46.2 41.0 5.2 Preparing for migration (postponed), getting things ready before we go
D – Break 0.1 6.8 -6.8
D – Drawing 0.7 -0.7
D – Personal 20.9 13.2 7.7 Working on home dashboard
D – Reading 7.0 1.1 5.9 Clearing my reading stash
D – Shopping 1.4 11.9 -10.5
D – Social 3.6 6.9 -3.2
D – Volunteering 3.4 3.7 -0.3
D – Writing 8.1 0.9 7.1 Queueing posts
P – Eating 4.3 2.3 2.0
P – Exercise 5.0 5.8 -0.8
P – Routines 6.4 9.7 -3.3
UW – Cooking 1.9 1.5 0.4
UW – Tidying 2.6 4.6 -2.0
UW – Travel 4.5 3.1 1.4 Commuting to work every day

Notes on transcription with and without a foot pedal

I finally sat down and transcribed the interview on discovering yourself through blogging, where Holly Tse puts up with my firehose braindump of things I’ve learned. It’s an hour of audio, more than 53,500 letters, and about 9,500 actual words. The words per minute measurement uses a standard of five characters per “word”. This means I clocked in at more than 180 wpm.

I like reading much more than I like listening, and a transcript makes it much easier for me to search and review what I said. After considering the options, I ended up transcribing the interview myself. I even built my own foot pedal. ;) So, here’s what I’ve learned.

I started off by trying to use ExpressScribe and Dragon NaturallySpeaking for automatic transcription. It looks like I’ll need to do a lot of training to get this ready for transcription. The fully-automated transcript was useless. I tried slowing down the recording down and speaking it into Dragon NaturallySpeaking (somewhat like simultaneous translation?). This was marginally better, but still required a lot of editing.

I gave up on dictation (temporarily) and typed the text into Emacs, using keyboard shortcuts to control rewind/stop/play in ExpressScribe.

Type Typing without a foot pedal, 50% speed
Length 15 audio minutes
Duration 60 minutes of work
Factor audio minutes x 4
Characters 14137 (~ 2800 words @ 5 characters/word)
Typing WPM ~50wpm (90 wpm input, 56% efficiency)

I took a second look at the outsourced transcription options. CastingWords had raised prices since I last checked it. Now there wasn’t much of a gap between CastingWords and TranscriptDivas, another transcription company I’d considered. With TranscriptDivas, transcribing an hour of audio would have cost around CAD 83 + tax, but I’d get it in three days.

Type Transcription company
Cost CAD 83 + tax = ~CAD 95 / audio hour

Before I signed up for the service, though, I thought I’d give transcription another try – particularly as I was curious about my DIY foot pedal.

I told myself I’d do another 15 audio minutes so that I could see what it’s like to transcribe with my foot pedal. I ended up doing the whole thing. I used ExpressScribe to play back the audio at 50% speed, and I set the following global shortcuts for my foot pedal: center-press was rewind, left was stop, and right was play. I ended up using rewind more than anything else, so it worked out wonderfully.

Type Typing with DIY foot pedal, 50% speed
Length 45 audio minutes
Duration 120 minutes of work
Factor audio minutes x 2.6
Characters 39400 (~ 7880 words)
Typing WPM ~65wpm (90 wpm input, 72% efficiency)

Discovery: Listening to myself at 50% makes it unfamiliar enough to not make me twitchy, although it can’t do anything about me being sing-song and too “like, really“. That might be improved through practice.

90wpm input was pretty okay. Faster, and I found myself pressing rewind more often so that I could re-hear speech while catching up.

Assuming sending it out to a transcription company would have cost CAD 95/audio hour and transcribing the entire thing myself would have taken 3 hours (including breaks), doing it myself results in a decent CAD 30/work hour of after-tax savings. Not bad, even though doing it myself meant I procrastinated it for two weeks. It might be cheaper if I hire a transcriptionist through oDesk or similar services. With a infrequent transcription needs, though, I’d probably spend more than two hours on screening, hiring, and delegating.

Hacking together an Arduino foot pedal was definitely a win. Transcribing with it was okay, but not my favourite activity. I might send work to a transcription company if there’s enough value in a shorter turnaround, because it took me two weeks to get around to doing this one. Good to know!

2011-08-31 Wed 21:45

Rhetoric and advocacy: the value of a different approach

UPDATE: Changed the title from “the value of the right approach” to “the value of a different approach” – thanks to Aaron for the nudge!

I was thinking about how to respond to this. I found myself wanting to share rhetoric tips, so I’m posting this as a blog entry instead of a comment. =)

On my post about the Manila Zoo, Anna commented: “Don’t you love animals? Then why are you eating them? What’s the difference between the animal that you ‘love’ and the animal that is on your plate? If you really love them, you’ll stop having them for dinner.”

One of the benefits of learning about rhetoric and argument is being able to recognize what’s going on. Here, Anna tries to set up a dichotomy: either you love animals and are vegan, or you eat animals and don’t love them. Relying on such a premise weakens Anna’s case. I don’t have to accept this premise, and I can see other choices.

This looks like an inarguable situation: she’s not going to convince me to adopt a vegan diet through these words, and I’m probably not going to convince her to be more precise and more compassionate in her rhetoric. But I’d like to explore this anyway, because there’s something interesting here about the difference between what she’s trying and how I’d do it. (When life gives you lemons, write a reflective blog post about them!) If I were in Anna’s shoes and I wanted to nudge someone to move towards a more plant-based diet, here’s what I would try.

You can very rarely make someone do something. If you want to influence someone’s behaviour, you have a much better chance if you can inspire them rather than if you criticize them or force them. Part of that is building a bridge between the two of you so that the other person can understand and listen to you, and part of that is helping the other person imagine how much better their life would be with your proposal.

I know that can sound frustrating and slow. There have been many times I wished I could just wave a magic wand (or write a program!) to get people to change their behaviour, understand a new concept, or stop e-mailing huge files around. But in all the books I’ve read and through all the coaching I’ve done, I keep coming back to these lessons again and again: you can’t change people’s minds for them, and influencing cooperation can be much easier than sparking conflict.

So I would start by building common ground, instead of approaching it antagonistically. This is a common mistake for radicals, influencers, and people carried away by their passions. Goodness knows I’ve got enough examples of doing this myself in the early years of my blog. When you get stuck in an “us versus them” mindset, it becomes difficult to connect with people in a compassionate, respectful manner. Instead of trying to imply that the person I’m talking to hates animals or is hypocritical, I’d probably start off by highlighting things we have in common. Something like this: “I’m happy to see you love animals a lot.” This validates what the other person has said, affirms them, and starts off on a positive note.

Then I would use personal experiences as a bridge, showing people I’ve been where they are and they can relate to me. If you want to make it easier for people to see what you see, you need to show them that you’ve stood where they stand, acknowledging challenges along the way. That way, you can connect with people and help them be inspired. In this hypothetical argument, it might be something like “I love animals too, which is why I’ve been shifting to an all-plant diet. It’s sometimes hard to stick with it, particularly when I’m hanging out with friends, but it’s easier when I remember the troubles animals go through and the kind of world I’d rather build for them.”

I’d soften the call to action. People don’t like being manipulated by false dichotomies or preachy advice. I would probably explore the waters with a question like, “Have you thought about shifting to a vegetarian or vegan diet, too?” By backing off a little, I acknowledge the other person’s choices and reasons instead of trying to make decisions for them.

Depending on whether I thought it was necessary, I might include some social proof or alternative reasons. For example, plant-based diets can be healthier and less expensive than diets with a lot of meat. They can have a smaller environmental footprint, too. It’s good to anticipate and acknowledge the difficulties. Growing plants isn’t automatically guilt-free: see the clearing of land to support commercial agriculture; the dangers of monoculture, fertilizers, and pesticides; the consequences of transportation.

I’d end by showing my respect for people’s choices and finishing on a positive note. This would be a good place to thank the person again and highlight common ground, remembering that the goal isn’t to score points, but to open up a possible conversation enriched by personal experience. 

—-

So here’s what that might look like, if I wanted to influence someone to eat more vegetables and fewer animals.

Before: “Don’t you love animals? Then why are you eating them? What’s the difference between the animal that you ‘love’ and the animal that is on your plate? If you really love them, you’ll stop having them for dinner.”

After: “I’m happy to see you love animals a lot. I love animals too, which is why I’ve been shifting to an all-plant diet. It’s sometimes hard to stick with it, particularly when I’m hanging out with friends, but it’s easier when I remember the troubles animals go through and the kind of world I’d rather build for them. Have you thought about shifting to a mostly-vegetable, vegetarian, or vegan diet, too? I’ve found that it usually comes out cheaper than my old meals, and I feel healthier and more energetic too. Hope to hear from you soon!”

Your mileage may vary, of course. You might feel that this more compassionate I’m-on-your-side approach is too mild for you. I present it as an alternative, so it’s easier to see that not all advocacy has to be confrontational.

Having reframed the comment in a more positive tone, what would be my personal response to it? I’m aware of the arguments for and against vegetarianism and vegan diets. I do eat mostly vegetables, thanks in part to a community-supported agriculture program that keeps me busy figuring out what to do with zucchini, in part to concern over what goes into the food that goes into us, and in part to a stubborn frugality that dislikes paying the premium for steak. I don’t think I’ll ever follow a strict vegetarian or vegan diet, though, because I don’t like inconveniencing friends and family, or proselytizing at the kitchen table. I’ll follow my own decisions when it comes to food I can control, but I’ll try to go with the flow when it comes to what people share with me. (I still opt out of balut and other things that make my mind boggle, although many people consider such things delicacies.) So even this tweaked message isn’t going to make my decisions for me, but it will leave me with more respect than aversion to how people try to get their messages across.

Parting thoughts: If you come to a conversation prepared for a fight, that’s what you’ll get. If you come to a conversation with love and compassion, you’ll have more opportunities to learn and grow. It’s amazing how much of a difference your starting point can make. It takes practice to be able to consider different approaches and choose one that fits, and, if necessary, to translate what other people say into what they might have meant. Hope to help more people think about and consciously choose how to approach conversations!

Getting a grip on a large database migration

Michael is working on migrating a custom website with hundreds of database tables to Drupal, and he wanted to know if I had any advice for keeping track of table mappings and other migration tasks.

I’ve worked on small migration projects before (including migrating my own blog from lots of Planner-mode text files to WordPress!), but no large projects like the ones Michael described. But if I needed to do something like that, here’s what I’d probably do. I’d love to hear your tips!

I’d list all the tables and start mapping them to entities. What content types would I need to create? What fields would I need to define? How are the content types related to each other? An entity relationship diagram can help you get an overview of what’s going on in the database.

Then I’d start untangling the entities to see which ones I can migrate first. If you have entities with node references, it makes sense to migrate the data referred to before migrating the data that refers to them. If I can get a slice of the database – not all the records, just enough to flesh out the different relationships – that would make testing the migrations faster and easier. I would probably write a custom Drupal module to do the migrations, because it’s much easier to programmatically create nodes than it is to insert all the right entries into all the right tables.

I’d commit the custom module to source code control frequently. I’d write some code to migrate an entity type or two, test the migration, and commit the source code. As I migrated more and more of the relationships, I’d probably check them off or colour them differently in the diagram, making note of anything I’d need to revisit (circular references, etc.).

I might break the custom module up into steps to make it easier to rerun or test. That way, I’m not reconstructing the entire database in one request, too.

I’d take notes on design decisions. When you migrate data, you’ll probably come across data that challenges your initial assumptions. This might require redesigning your entities and revising your earlier migration code. When I make design decisions, I often write about the options I’m considering and the reasons for or against them. This makes those decisions easier to revisit when new data might invalidate my assumptions, because I can see what may need to be changed.

How would you handle a migration project that’s too large to hold in your head?

It’s Bike Month in Toronto!

imageWhile we don’t have anything like the awesome biking infrastructure of the Netherlands (oh, and all that flat land – envy!) or the widespread bikes-on-every-bus mixed commutes of Boulder, Toronto is still pretty decent when it comes to biking. June is Bike Month here, so there’ll be plenty of events coming up! It’s a good time to take to the road and explore routes I don’t normally pass. Here’s what I’m thinking of:

  • June 3: Friday Night Ride: starts near work, ends up near home, going all along the waterfront. Biking from work on a Friday may be tough (I’ll be bringing a laptop, maybe two) so I may skip this
  • June 4: Saturday Morning Easy Roller Ride: starts near our place, goes to Port Credit in Mississauga, and I can always stop if I get tired along the way
  • June 18: Bells on Bloor: also starts near High Park (I love being near a common bike starting point!), goes to Queen’s Park

Not biking-related, but may still get me out of the house:

  • June 5: Catch Pirates of the Caribbean: On Stranger Tides on the IMAX 3D screen downtown – maybe the 12:15PM showing, or the 3:30 one?
  • June 12: Toronto Raw/Vegan Festival at 918 Bathurst Street

Anyone want to come along?

2011-05-31 Tue 17:53

Thoughts from marriage: Learning together

Learning can be so much more fun when you learn with someone. Learning something with your spouse can be even better.

W- and I enjoy learning things together. Last summer, we taught ourselves woodworking. We checked books out from the library, spent hours at Home Depot looking at tools and picking out lumber, figured out how to get 16′ planks home without renting a truck or becoming a traffic hazard, and built deck chairs that actually fit us. Having a second pair of hands to hold something in place, having a second pair of eyes to check before you work – that saves a lot of time. W- also helped motivate me past the necessary-but-slightly-annoying parts, such as remeasuring the chair slats so that they fit properly. I probably would never have tried it without him, and now the chairs sit on our deck and provide an ongoing trigger for happy memories.

We’ve been teaching ourselves Dutch in preparation for our trip to the Netherlands for my sister’s wedding. W- made flashcards and has been helping me learn. Even with our limited vocabulary, we’ve quickly developed in-jokes, like the delight with which we encounter the flashcard for “spek” (bacon) or “gebakken ei” (fried egg), and how I mock-shudder at “krentenbrood” (I’m not fond of currants or anything raisin-like).

We’ve also been working our way through a Latin textbook as part of an Internet-based study group. We’re learning Latin together because we’re curious about a proper classical education. If kids of bygone eras could be well-versed in Latin, Greek, and French, why couldn’t we get the hang of it too? I’m inspired by books like The Well-Trained Mind: A Guide to Classical Education at Home. While the rest of the world wrings their hands over the state of education, W- and I want to do something. This is not a bad place to start.

Cooking provides many opportunities for learning. We’ve been moving further down the supermarket food chain:

How do we make time for this? Avoiding financial pressure helps. A frugal lifestyle means that neither of us needs to work a second job, or gets stressed out about work. We spend most of our discretionary time at home because we enjoy doing so. A nearby library provides almost all the books we want, and Internet booksellers fulfill the rest of our learning needs. Internet videos, audio recordings, and websites also give us plenty of resources.

Learning pays off in many ways. If we model this kind of curiosity and life-long learning for J-, she might be inspired to explore her own interests. It’s like the way I learned a lot from watching my mom teach herself about business and education and watching my dad learn about planes and photography. Who knows what J- and other kids will be able to do if they learn that learning is fun?

2011-04-24 Sun 09:07

Weekly review: Week ending April 1, 2011

From last week’s plans

  • Work
    • [X] Work on Rails questionnaire project for client C
    • [X] Talk to client U regarding Drupal
    • [X] Finish administration guide for project I
    • Wrote up descriptions of ongoing projects and shared them with other people who may be able to help
    • Helped with mail merge and Idea Labs
    • Connected with project manager for project M
  • Relationships
    • [X] Plant lots of yummy vegetables
    • [X] Chat with David Singer
    • Started learning Latin
  • Life
    • [X] Learn how to cook dal
    • [X] Bake another batch of buns
    • [X] Get through busy week
    • [X] Order laptop battery

Plans for next week

  • Work
    • [ ] Finish first phase prototype for client C
    • [ ] Host Idea Lab for Japan
    • [ ] Make presentation “The Busy Person’s Guide to Learning from the Network” (for IBM internal conference)
  • Relationships
    • [ ] Prepare garden
    • [ ] Learn more Latin
  • Life
    • [ ] Take a look at my time budget
    • [ ] Sketch more plans
    • [ ] Practice drawing

Time analysis

Category This week Last week Delta Notes
Break 11.2 17.6 -6.4 LEGO Star Wars!
Drawing 0.9 11.7 -10.8
Exercise 6.8 1.9 4.9
Learning
Personal 1.2 -1.2
Preparation 0.5 0.6 -0.1
Routines – cooking 2.0 -2.0
Routines – general 8.1 6.7 1.4
Routines – tidying 1.5 5.5 -4.0
Sleep 54.9 60.8 -5.9
Social 12.8 11.0 1.8 Study group, catching up
Travel 4.5 7.1 -2.6
Work 56.9 40.1 16.8
Writing 6.8 1.7 5.1

Sick days

Still sick. Flush with a fever, congested with a cough and a cold, voiceless, and all around under the weather. Not the best of ways to spend a holiday, but a worse way to spend a workweek, so this is okay by comparison.

lemon To soothe an irritated throat, in a mug, combine:

  • Juice of half a lemon
  • Tablespoon of honey
  • Hot water

(Do not give honey to babies under a year old.)

W- has kept me on a steady infusion of chicken soup, cuddles, and Pride and Prejudice – several different versions, in fact.

I like BBC’s Lizzie and Lost in Austen’s Darcy the most. Heresy, I know. Colin Firth in the BBC’s 1995 adaptation of Pride and Prejudice is the definitive Darcy, of course. Lost in Austen’s Fitzwilliam Darcy (Elliot Cowan) does more of a transformation from utterly disagreeable to totally awesome.

Ginger tea (salabat): The powdered form is very convenient, of course, but you can make up a batch by crushing ginger and boiling it it in water. Add brown sugar to sweeten it.

You can’t do much with a cold except to try to not make it any worse. Definitely a good time for relaxing.

Quantified Self Toronto: Second Meetup

I went to last night’s Quantified Self Toronto meetup, a get-together for people who are interested in tracking data about their lives. It was good to hear about people’s projects and questions. I shared what I’d been doing with my new Android phone, too. Here are my notes:

For me, the most interesting point was that of analyzing the data you already have in order to understand your patterns.

Correction: I haven’t just had my phone for three days, I’ve had it for a week. (Ah, time flies when you’re having fun.) I’ve only been tracking activities for three days, though, so I guess that’s why that number got stuck in my brain. =)

What do I track, why do I track it, and how do I track it?

I want to experiment with getting up earlier, and to see if I still get enough sleep. I knew that tracking would help me stick to my alarm clock, like the way that tracking time helps me stay focused. I’ve written about tracking my sleep, so you can check out the detailed screenshots there. So far, I’ve been waking up within a few minutes of 5 AM, getting an average of seven hours of sleep, and feeling reasonably awake and energetic.

I want to capture and share as much as possible. On my computer, Org-mode is working well for me – big text files that I dump notes into, with a bit of structure along the way. I’d like to have a structured way to capture notes on my Android, particularly if I can pull those notes into my Org-mode text files. I haven’t settled on any one application yet, although I’m working on tweaking MobileOrg to fit me better. I’m also playing around with mindmapping (Thinking Space supports Freemind maps), and I’m looking for a good way to keep outlined lists.

I want to track how much time I spend on different activities. This will be useful for calibrating my time estimates, comparing my time with my priorities, and identifying opportunities to improve. This definitely has to be a mobile app, as I do things away from the computer too. Time Recording has been working well for me so far.

I want to track my finances. I do this on my laptop so that I can take advantage of all the wonderful reporting tools that the ledger command-line tool gives me. I’ve figured out a virtual envelope-based system that works for me, and I enjoy balancing my books. I don’t particularly feel the need to use my Android to capture this data, as I try to keep my transactions electronic. The occasional note about cash expenses can be handy, though.

I eventually want to get better at tracking my contacts. I like the way Gist gives me a dashboard sorted by importance or filtered by tags. I want to get to the point of deliberately reaching out to people on a regular schedule.

Hmm…

Monthly review: October 2010

Book: Choose to be happily married: How everyday decisions can lead to lasting love

Bonnie Jacobson, PhD., with Alexia Paul
2010 Adams Media, Avon, Massachusetts
ISBN 13: 978-1-60550-625-8

The book consists of short chapters that explore common conflicts and positive approaches in committed relationships. Each chapter includes one or two case studies, ways to recognize the conflict, and tips for resolving the conflict. This book is a good read for couples who are beginning to find themselves ensnared in repeating conflict patterns because they can identify and get tips for their situation. Couples who are starting out may also find it useful as a way to recognize potential conflicts before they become established.

  • Flexibility

    Responsive Reactive
    Good judgment Critical judgment
    Expressing your true self Conforming to a role
    Autonomy Isolation
    Surrender Submission
    Establishing space Neglect
    Patience Passivity
    Benign boundaries Emotional tyranny
    Awareness of limits Emotional recklessness
    Embracing change Preserving the status quo
  • Communication

    Taking responsibility Blame
    Needs Wants
    Detach Withdraw
    Speaking up Silence
    Giving the benefit of the doubt Making assumptions
    Intimate listening Hearing
    Influence Control
    Constructive criticism Destructive criticism
  • Personal power

    Deciding Craving
    Fighting fair Fighting unfair
    Support Protection
    Forgiving Forgetting
    Good selfish Bad selfish
    Family loyalty Self-interest
    Joy Happiness

Married!

Rings
Married!

Book: Leading Outside the Lines

zebraI want to get really good at being a fast zebra. The metaphor comes from Leading Outside the Lines, Jon R. Katzenbach and Zia Khan’s book on working with the informal organizational structure. According to Mark Wallace (former US ambassador to the United Nations), fast zebras are people who can absorb information and adapt to challenges quickly. The authors explain, “On the African savannah, it is the fast zebra that survives a visit to the watering hole, drinking quickly and moving on, while the slower herd members fall prey to predators lurking in the shadows. The fast zebra is, in essence, a person who knows how to draw on both the formal and informal organizations with equal facility.”

It seems like a business cliche – who wouldn’t want to absorb information and adapt to challenges quickly? – but Katzenbach and Khan go into more detail. “They help the formal organization get unstuck when surprises come its way, or when it’s time to head in a new direction. They have the ability to understand how the organization works, and the street smarts to figure out how to get around stubborn obstacles. They draw on values and personal relationships to help people make choices that align with overall strategy and get around misguided policy. They draw on networks to form teams that collaborate on problems not owned by any formal structure. They tap into different sources of pride to motivate the behaviors ignored by formal reward systems.”

Like the loneliness facing early adopters, fast zebras can feel isolated. Identifying and connecting fast zebras can help them move faster and make more of a difference.

I can think of many fast zebras in IBM. People like Robi Brunner, John Handy Bosma, and Jean-Francois Chenier work across organizational lines to make things happen. Lotus Connections and other collaboration tools make a big difference in our ability to connect and self-organize around things that need to be done. They also provide informal channels for motivation, which is important because this kind of boundary-spanning work often doesn’t result in formal recognition (at least in the beginning).

The book describes characteristics of organizations that successfully integrate formal and informal structures, and it has practical advice for people at all levels. It also has plenty of stories from organizational role models. My takeaway? Harnessing the informal organization and helping people discover intrinsic motivation for their work can make significant differences in an organization’s ability to react, so it’s worth learning more about that. Recommended reading.

Leading Outside the Lines
Jon R. Katzenbach and Zia Khan
Published by John Wiley and Sons, 2010

Weekly review: Week ending August 1, 2010

Work

  • [X] Support upcoming workshops
  • [X] Re-use Idea Lab results
  • [X] Launch expertise pilot with SMEs
  • [X] Explore possible expertise specialist position
  • [X] Add features to community toolkit plugin
  • Helped community owners learn more about vitality and metrics
  • Added statistics to Lotus Notes community tools plugin
  • Learned how to modify Lotus Notes plugins and use Expeditor!

Relationships

  • [X] Experiment with more recipes (instead of hiring cooking teacher? More sustainable, and we’ve got the basics sorted out already)
  • [-] Reflect on happiness with a friend, co-writing a blog entry – postponed to next week
  • [-] Follow up with people from tweetup, learning about them and their interests
  • [X] Coordinate with family on new date
  • Helped a friend learn more about cooking
  • Tidied up my computer
  • Had great conversations about connecting, introductions, etc.

Life

  • [-] Organize everything into neat zippered pouches, etc.
  • [-] Declutter: Eliminate one thing a day
  • [C] Sign up for singing lessons – focusing on other things right now
  • [-] Take advantage of free studio time at the Sewing Studio (Sunday, 2pm to 6pm – get all of my cutting and serging and sewing done, and get some exercise on the way there and back too)
  • Also: Cleared and replanted parts of the garden
  • Learned more about woodworking
  • Drew, yay!
  • Explored Craigslist a little more

PLANS FOR NEXT WEEK:

Long-weekend focus: declutter space, organize information

Work

  • [  ] Organize upcoming Idea Labs
  • [  ] Answer more requests for community toolkit
  • [  ] Package Lotus Notes plugin

Relationships

  • [  ] Declutter living room
  • [  ] Follow up with people, learning about them and their interests
  • [  ] Catch up with mylifeandart

Life

  • [  ] Draw more! =)
  • [  ] Create an index for images, book notes, blog posts, etc.
  • [  ] Plan next tea party
  • [  ] Price-match blender if possible

Thinking about dinner parties

The Toronto Public Library had “Julie & Julia”, so we watched it. (A movie about cooking! Of course.) I smiled at the bouef bourgignon, which W- had made for me once, and the aspics, which I’d encountered in the Joy of Cooking but have not dared to try. It was a good movie, and we both enjoyed it a lot.

Reflecting on it, I realized that I want to get back into hosting parties. However, Saturday afternoons are a good time to do woodworking, and circular saws do not go well with conversation. We probably shouldn’t spend every weekend woodworking, anyway. So I will just have to ignore that niggling itch of there-are-only-so-many-weekends-in-summer-and-only-so-many-daylight-hours desperation, work out some kind of schedule that accommodates the items W- and I want to build, and overlook the stacks of tools and lumber that make our living room unsuitable for company. After all, people have always just hung out in the kitchen.

I remember what it was like to learn how to cook on my own, dealing with too many leftovers (ah, supermarket sizes) and not enough tools. With an eat-in kitchen, well-stocked cabinets, and a wonderful garden with plenty of fresh herbs and vegetables, it would be great to help friends learn how to cook, particularly if I can pick up new recipes along the way. And now that the cats are no longer furiously shedding their spring coats, friends may breathe a little easier…

Maybe some kind of a supper club, for every other Saturday, or once a month at the latest? Friends can either bring whatever recipe they want to try, or come over early and prepare things in the kitchen. It shall have to be a homey atmosphere so that I don’t feel self-conscious about, say, having to clear papers off the table. Saturdays mean we can raid the farmer’s market or head to the supermarket if the pickings aren’t good, and people have the afternoon to come and cook if they want to.

I shifted to tea parties for a number of reasons. Hosting an open house meant that people could drop by whenever they were available, instead of being there at a certain time in order to sit down for dinner. Small treats meant that it was easy to accommodate different dietary restrictions. Maybe I can alternate tea parties and dinner parties, or work out a rhythm with other friends who like hosting. =) Or I can get back into dinner parties when I’ve gotten the hang of preparing make-ahead casseroles and other good dishes for entertaining…

I have a tea party on July 10, so I think I’ll keep it as an afternoon tea party, and maybe look into preparing some of those interesting salads in one of Jamie Oliver’s cookbooks. Hmm…

Monthly review: May 2010

May was quite a learning experience. From an oh-no moment when I accidentally mail-flooded around 70 people to a new hobby (woodworking!) that led to lots of shared time with W-, to more hacking in Lotus Notes… It was a very fun month.

I have a new manager at IBM. I’ve talked to him a lot before, and I’m looking forward to working with my new team, which is really mostly my old team plus some people I’d worked with before, so it’s more like a logical reorganization of people I enjoy working with anyway. =) This probably means there’ll be plenty of coding in my future. I know this high-flying strategy/consulting/marketing stuff is more prestigious, but I do like code. Maybe it’s time to flip back.

One of my goals for May was to declutter, get better at keeping things tidy, and remember things. I’m happy to report that my dresser top has been clutter-free, my bedside table has remained simplified, and I haven’t forgotten my keys once. I still have a lot of work to do on the decluttering front, but I’m slowly getting there.

The garden is growing merrily now. The chicken-wire-and-wood cage we built is doing a great job at protecting our garden from the predations of squirrels. Lettuce and radish harvests regularly fill our salad bowls. The first green tomatoes dangle from stems. The pea shoots have stretched almost all the way to the top of the twine supports. There are even some bittermelon plans bravely giving Canadian summers a go.

Woodworking turns out to be an awesome hobby. It’s fun making things with your hands. I’ve built three boxes so far (including a bread box that’s now keeping our bread safe from Neko!), and I’m looking forward to building my fourth. The next box I build will have a floating bottom and a sliding top, I think. I’m not sure if my 1/4” stock is too thin to cut a groove into, so I might go up to 1/2” sides.

Woodworking + deck repair + shedding cats + warm weather = no baking and no tea parties. However, people have been hosting barbecues and things like that, so I’m happy to catch up with people at other people’s events instead of mine. =) Perhaps I might still have a fresh fruit party. How would we do it? We’d move the kitchen table outside and clear out the living room, I think. More decluttering…

I also realized that I’d like to get to know a whole bunch of people more. Taking a look at my interests (which were practically all home-based), I realized I needed something that involved some kind of regular social interaction, too. I wondered how people manage to make friends outside school, and how I might work that back into my schedule. Going to people’s get-togethers, though, I realized that I managed to make good friends somehow or another, and I’m looking forward to getting to know them and other people. Fortunately, the tech scene is absurdly well-connected through social networks and things like that, and good weather + daylight savings time gives people an itch to get out and meet up.

So, what does June look like? More adjustments at work, a flurry of wedding preparations for August, lots of woodworking while it’s fun to work outdoors, lots of writing, a bit of gardening and sewing, and some more conscious attention to people’s lives. It’ll be awesome.

Posts this month:
Travel kaizen and the meaning of life
Exercising the senses
Imperfection
Getting the hang of big companies
Woodworking
Exponential awesomeness
Getting the hang of gardening
Braindump: On face-to-face and online social networking (xpost)
The garden in May
Presented Remote Presentations That Rock v2 for the Best of TLE 2009 series
Thinking about the path ahead
I want to learn how to make drawings/videos like this
Custom fields in Lotus Notes / Domino? You may need to set the SUMMARY field flag
Org-toodledo
Picking hobbies that fit together
Even more awesome LotusScript mail merge for Lotus Notes + Microsoft Excel
Quick notes from a conversation about speaking and facilitation
Dear future Sacha,
Holy cow, that was a lot of mail – so sorry
Quick guide to domain names
Remote Presentations That Rock (revised)
May 2010: Remember and declutter
A letter to my 8-year-old self
Holy cow, that was a lot of mail. So sorry!
Squirrels, shop class and drafting: making my peace with high school
Bread of salt and taste of home
Braindump: What I learned from our virtual leadership conversation
Thinking about what people remember

Weekly reviews:
Week ending May 30, 2010
Week ending May 24, 2010 (Victoria Day long weekend)
Week ending May 16, 2010
Week ending May 9, 2010
Week ending May 2, 2010

Last month: April 2010

Braindump: What I learned from our virtual leadership conversation

Around 20 people joined us for a conversation about Smarter Leaders, which was organized by Jack Mason in the IBM Virtual Analytics Center. Rawn Shah and I gave introductory remarks, and then we facilitated small-group discussions. I focused on the need for smarter leaders at every level and what we could do to help people develop as leaders.

What did I learn?

We know what can help: identifying characteristics of effective leaders, focusing on leadership instead of technology, collecting and sharing success stories, compiling a cookbook that focuses on needs instead of tools… That part is just a matter of doing it, and there are lots of programs already underway.

Is it going to be enough, or are there other things we can do to break through? If it took e-mail ten or so years to become part of the corporate culture and enable all sorts of opportunities, can we wait that long for connected leadership to become part of the way we work?

We tend to have a culture of waiting for permission instead of experimenting (and asking for forgiveness if needed). This means that lots of people are waiting for their managers and executives to participate in this.

Me, I’m all for people taking responsibility for leadership at any level. We might not make big decisions, but we can still make a difference.

What am I going to do based on what I learned?

I’m going to take a look at the characteristics that describe IBMers at their best. I’m going to figure out how to develop those characteristics myself, and how other people can develop them.

I’m passionate about helping individual contributors build and demonstrate leadership. I’m neither a manager nor an executive, and I don’t want to wait for everyone at the top to “get it” before the benefits can trickle down to everyone else. So I’m going to keep poking this idea of leadership until more people can identify with it and ask themselves, “How can I be a smarter leader?”.

What are you going to do to spread be the word about smarter leaders? =)

What worked well? What could we improve further?

  • I really liked being able to help bring together all these interesting people. It was like going to a real-life conference.
  • I finished my part in time (short talk!). =) I forgot some of the points I wanted to make, but it was okay because I’d already shared them in my blog post.
  • I did a good job of picking on people to get the ball rolling, and the conversation can get even better if I can figure out how to bring more people into the conversation.

  • Small-group virtual facilitation needs to be tweaked further. I felt conscious about people being outside my vision, so I turned my avatar around, but it still felt strange to have my back to a speaker. We didn’t organize ourselves into a circle because it would’ve taken time to position people, and the spatial audio might’ve been weak. I like the way that our Second Life meeting environments sometimes have auto-expanding chairs.
  • My audio was clipping because the sound was set too loud. I should definitely do more audio tests before the sessions.
  • My sketches turned out pretty well on the screen of the Virtual Analytics Center. =) Simple and easy to see from any part of the auditorium.
  • The auditorium turned out to be too small to accommodate breakout groups. One of the breakout rooms had audio running, and we couldn’t figure out how to turn it off. The big gathering area was a good place to have a discussion, though. Teleporting buttons would be a great way to get people from one place to the other without wasting time navigating. (Ooh, teleporting buttons with visual feedback for intuitive load-balancing…)
  • The indicators for who was currently speaking made large conversations so much easier. I want that on all of my teleconferences. =)
  • Text chat still beats speaking in turn when it comes to getting lots of stuff out. It’s odd to mix it in, though. It feels a little weirder than having an active backchannel during a phone conference. I think it’s because you can see people, so you feel more of an urge to talk to them instead of typing.
  • The web.alive folks definitely need to add a way to save the text chat!
  • The virtual environment can capture all sorts of interesting data. I wonder what kind of research can come out of this…

Lots of good stuff!

IgniteToronto video: The Shy Presenter

I’m giving up on getting the organizers to update the incorrect abstract and bio on the page, but anyway, here’s the 5-minute video from my “Shy Presenter” talk at IgniteToronto:

Ignite Toronto 3: Sacha Chua – The Shy Presenter: An Introvert’s Guide to Speaking in Public from Ignite Toronto on Vimeo.

Minor miscalculation: shy or introverted presenters-to-be are not actually likely to come out to a bar with 200 people to watch an Ignite talk. Ah well. ;) Here’s to fellow introverts who would rather catch the replay!

The Shy Presenter If you’ve ever struggled with small talk, felt overwhelmed in crowds, or wondered how to speak up at work, this talk’s for you. In five minutes, you’ll pick up quick tips about discovering what you have to say, how to say it, and why it’s worth braving the spotlight.

Bio: Sacha Chua spent grade school to grad school hiding in computer labs and libraries. She prefers bookstores over bars, close friends instead of crowds, and silence over small talk. Blogging and public speaking turned out to be excellent ways to learn, though. Today, tens of thousands of people have viewed Sacha Chua’s presentations, attended her keynotes, and read her blog (LivingAnAwesomeLife.com).

On role models

Mel Chua’s comment about relationships and role models made me think. She’s right, you know. It was something that had felt very alien before, and I’m gradually coming to terms with it.

Growing up, I remember feeling anxious about relationships.  I knew my mom and dad had managed to raise us and do well in entrepreneurship at the same time. I was surrounded by godparents whose loving relationships also served as good examples. But as a bookworm, I’d also read lots of scary statistics.

All of the happily-married couples I knew were of previous generations, of course. Towards the end of my university degree, as I heard of high school batchmates starting to marry and have kids, these early matches were spoken of in hushed, gossipy tones.

The thought of relationships really only started becoming more “normal” for me over the past couple of years. In graduate school, I met people who pursued their degrees while raising kids. Thanks to W-, I got a sneak preview of parenting (turns out to be pretty good), and I saw that separation and divorce could stabilize into amicability. At work, I saw people with different kinds of family situations do well. I looked for stories of executives who valued work-life balance and other people who’d left and rejoined the corporate world. I listened as people told stories about their families. I listened as people who chose not to have families talked about their relationship and their other priorities. I learned that people have figured this out before, and things will be okay.

It’s pretty interesting to think about this in terms of the diffusion of ideas, too. In this, it turns out that I’m a mainstream adopter, opening up to a idea once I see that lots of people around me are exploring it with good results. W- makes it easier, too. We’ve probably got the best starting point for this kind of an adventure.

So, yes, role models. Very important. More common than people would think, and more mutual than people might expect. A great benefit of having a diverse workforce, too. I’m looking forward to exploring, to sharing what I’m learning with others, and to learning from others along the way.

Thoughts on preparing an Ignite-style presentation

Creativity loves constraints, and the Ignite style of presentations has lots of constraints. Your speech has to fit into five minutes. You have room to make one point and perhaps tell one story. You have twenty slides that automatically advance every 15 seconds, although you can slow down by duplicating slides or speed up by using timed animation. You’re giving your presentation to a live audience, so you need to be part actor and part stand-up comedian. Oh, and you’re just one in a long line-up of five-minute speeches, so you need to stand out if you want people to remember your point.

My first Ignite-style presentation will be The Shy Presenter, which I’ll share at IgniteTO this Wednesday. It’ll be a fun experiment that builds on a lot of things I already do for my regular talks.

Full notes

So let me take apart my process to see how I can improve it, or if I’ve picked up any tips that other people might find useful.

I write about a topic before preparing a talk for it so that I can find out what I know, whether it’s useful, and whether I care enough to invest a few hours into preparing a presentation. (Yes, it’s that old skills-needs-passion sweet spot. Handy!)

Ideally, I’ll have blogged about a topic often enough to figure out the key points I want to communicate, and then it’s just a matter of reviewing the previous posts, summarizing them, and editing the points. Not having lots of blog posts about a topic is often a danger sign, as I learned two years ago:

080225-04.10.41.png

But sometimes an interesting presentation opportunity comes up, and I’ll flesh out new material after people have okayed my title/abstract.

I’ll mindmap what people come in with, what I want them to leave with, and what I can put together to help them along the way.  I also find it useful to braindump a quick list of points I might want to make.

I like making my talks short. I usually try to fit my talks into 7-15 minutes, which is good practice in finding the core of a message and putting together a few supporting points. A good way to estimate this is to take your target words per minute and multiply it by your time, adjusting for pauses. I usually aim for 150wpm (in the middle of the 140-160wpm often suggested by books on public speaking), although I often end up speaking at 180-200wpm. Then I read things through and tweak the text until it fits.

Keeping it short and simple also makes it easy for me to remember. The shorter it is, the more I can improvise to fit the needs of time.

I post my speaker notes online. It lessens the surprise, but it makes the notes easy to share, search, and get feedback on.

Then I split my notes/script into segments. For Ignite, that’s about 37 words per segment. Editing smoothens things out.

At this point, I can usually think of a few simple ways to illustrate each segment. Sometimes I write out the visual sequence and then storyboard it. Other times, I go straight to the storyboard. Sometimes images or segments pop into my imagination, and I rework my writing to include it.

Then I draw the pictures and make slides. I usually use Inkscape because that makes it easy to edit my drawings to reasonably resemble my imagination. I’ve been experimenting with MyPaint lately, though. It takes more work, but it’s interesting.

I post the slides on Slideshare and add it to my blog post, again trading surprise for sharing, search, and feedback.

Once I’ve boiled the idea down to slides, I can work on remembering the key points for each slide. If the key points flow together and people get interested in a topic, they can always look up the full notes on my blog. That means I don’t have to worry about following the script word for word. So if it turns out I have less time than expected, or more time than expected, or I forget something or people want to learn more about something, I can adapt.

And then there’s the blog post on the day of the presentation, and the blog post following up on what I learned from the presentation, and the blog post following up on people’s questions, and the blog post about any revisions, and the blog post about process or content tips (like this one!), and the tweets and Slideshare embeds and all of those other things that mean that the four hours or so invested into preparing a presentation pay off several times over…

Here’s a totally numbers-from-a-hat estimate:

So that’s how I generally prepare my talks. =)

Learning more about interviewing

David Ing let me tag along on a client interview for a Smarter Cities engagement. He and Donald Seymour interviewed the CIO and other staff of a region in Ontario. In the afternoon, David gave us a crash course on Media and Entertainment to help Donald and another consultant take over that area of responsibility. It was fascinating to watch their easy rapport and interviewing style. Here are some of the things I learned:

  • Working in pairs makes interviews much easier. When David interviews, he usually asks someone else to lead the conversation. He asks the occasional question and focuses on recording notes, staying as close to the actual words as possible. This frees him from having to think about processing the words. He does this instead of recording the interview because listening to the recording would require lots of additional time.
  • Keep the conversation-setting presentation as short as possible, so you can focus on the conversation.
  • Don’t plan too much up front. Let the conversation take you to where it needs to go.
  • One-slide summaries with the question structures nudge the conversations in the right direction and help you ensure you cover everything of interest.
  • Capture notes on your computer to make it easier to share those notes with others.
  • Working with one client can be seen as self-serving. Working with several client organizations and bringing them together to learn from each other—that has a lot of value.
  • Hollywood is a strange and interesting place.

David, thanks for sharing!

Book: Rules for Revolutionaries

Rules For Revolutionaries: The Capitalist Manifesto for Creating and Marketing New Products and Services
Guy Kawasaki, 2000

The most relevant chapter for me was that about eating like a bird and pooping like an elephant. Consume lots of information from diverse sources, and share it liberally. Here’s what Guy has to say about sharing:

Here are the four things you need to do to spread (and receive) information in the most efficient ways:

  • Get over the paranoia. First things first: stop worrying about the negative effects of spreading information to other parts of your company as well as colleagues and competitors. Sure, be judicious about what you share, but err on the side of sharing too much.
  • Make it simple, correct, and frequent. Spent efficiency by making the information in preparing simple and correct; and do the spreading often. The better and more frequent the information you provide, the better and more frequent information you get back.
  • Use the Web! B. I. (Before Internet), spreading information had large costs: printing, travel, entertaining, and long-distance telephone charges. Circa 1998, the Web has reduced those costs and made information available around the world.
  • Get all levels involved. Information spreading, like pressing flesh, needs to be democratized and institutionalized. Enable all parts of the company to share in their special knowledge whether the function is research or copyright law.

p131, Guy Kawasaki, Rules for Revolutionaries

Worth a read, maybe in the library.

Learning about my grandmother

When I told my mom about the hooded fleece bathrobe I’d made for W-, she laughed and told me a story about how her mother used to make her dresses. My mom would beg my grandmother to make some time to work on the dress, which was low priority compared to running a business and keeping everything sorted. Sometimes that meant finishing the dress the day of the party, I guess!

My mom also told me a story about how my grandmother bought my mom a new dress. When the top part was too worn to wear, my grandmother replaced the top, keeping the skirt. When the skirt part ended up being too worn, my grandmother replaced the bottom. My mom asked if that meant she had a new dress.

I’d never met my maternal grandmother, but it was great hearing stories about her, and seeing my mom smile as she told stories. =) Just as I like coming across things or stories that remind me of my parents, my mom probably enjoys hearing about my newly-discovered hobbies and thinking about her own parents. =)

I’ve gotten to the point where I enjoy sewing. I like making things I can wear, and W- and J- humor me occasionally by asking me to make things for them and enjoying things I’ve been experimented with. ;)

I wonder what other common hobbies I’ll discover along the way…

Book: Closing the Innovation Gap

 

The best talent embodies the five core values and has the right combination of aptitude, skill, judgment, passion, and drive. Such people’s curiosity and openness to new experience are as important as their pedigree. They require deep understanding to garner respect, a sense of infectious excitement to rally the organization around them, and an almost compulsive drive to tinker. “What we always looked for were people who were born with soldering irons in their hands,” says Jon Rubinstein. “People with a passion for products, for the creation process, and for technology itself.” (p30-31)

Closing the Innovation Gap: Reigniting the Spark of Creativity in a Global Economy
Judy Estrin, 2009

Among other reasons, I read business books in order to collect role models, finding descriptions that resonate with the kind of person I want to grow into.

Other quotes from the book are relevant to my work:

People who naturally play the role of knowledge connectors are critical when building relationships across communities, disciplines, or divisions, facilitating communication between disparate groups. The best connectors can quickly synthesize information across a broad range of topics, communicate well, and bring the right people together, while having no overriding agenda of their own. (p134)

We’re building a training program for connectors, and I’m learning a lot in the process.

For companies with advanced technology groups, it’s best to create networks of complete teams, as opposed to just offshoring a piece of the development. Companies that farm out all of their entry-level jobs or the production tasks that were traditionally allotted to junior employees may eventually discover that they have offshored their next generation of leaders. (p138)

I think it would be fantastic to have more global leaders, making sure we also don’t sacrifice the capabilities and leadership pipelines of the developed countries.

The book itself draws on an intimate knowledge of Silicon Valley, and provides a useful historical perspective on the changes.

The fullness of days

“How are you?” asked a client after the Canada Day holiday.

“Fantastic!” I replied.

She was surprised by that. Perhaps she expected me to say that the holiday was too short, or to wish that the weekend were here. So I told her about how I filled my holiday to the brim with wonderful hobbies, and how I was also happy to have another day to spend on work.

A day is a day.
To spend the day wishing it was something else is to waste the potential of each moment.

When it’s a holiday, I take time to explore other things and to reflect. When it’s a work day, I work. I enjoy exploring my interests. I enjoy figuring things out for clients, the company, and myself.

Every day can be a terrific day when you aren’t wishing it’s something else.

Almost anything can be terrific when you aren’t wishing it’s something else.

I learned that the hard way by being homesick and confused. To be homesick is to be mis-placed – to be in the wrong place, to feel confused about where you want to be. I missed the Philippines when I was in Canada. I missed Canada when I was in the Philippines. When I stopped wishing I was someplace else and started really living wherever I was, it was easier to find the good things.

Same goes for days. If you’re always wishing for the weekend, or for the end of the day, or for the start of the week so that you can tackle your pile of work, you’ll find that time works against you. Time slows down when you’re looking forward to something. Time speeds up when you’re there–it’s over too quickly.

Be in the moment.

=)

Photos from High Park

High Park

Weekly review: Week ending May 31, 2009

From last week’s plans:

  • More Transition2 work – finish event-related bugs Another day, another build… Things are progressing nicely!
  • More LinkedIn and Facebook coaching – prepare guide Well on the way towards a LinkedIn 101 guide for investment advisors and insurance agents
  • More presentations – finish slides and notes! Delivered a presentation, submitted another one
  • More gardening! Started seeds, yay!

Also:

  • Watched Up – awesome!
  • Checked out 22 books on gardening from the library, mwahahaha
  • Cut out gingham check pieces for Vogue blouse.

Next week (well, this week, really):

  • Relationships: Play with photography
  • Wealth/career: Revise guide, prepare Transition2 build, give Early Career Conference presentation, prepare other presentations
  • Skills/personal growth: Make dream book, play with photography, learn Send in the Clowns and more of Fur Elise, get more fabric =), sew blouse
  • Health/fitness: Explore High Park on my bike

Remote presentations that rock: Challenges and opportunities of remote presentations

How are remote presentations different from in-person ones, and how can you make the most of those differences?

Plan for different channels and attention levels

Unlike at in-person conferences, you don’t have a lot of control over how people experience your presentation. Some people will be connected to the phone conference, but won’t be able to view your slides. Some people will be part of the phone conference, but not the Web conference, so they’ll need to change slides themselves. Some people will read your slides in order to catch up on parts they missed. Some people will listen to the recording after your session. Some people will just read your slides.

As much as possible, plan your talk so that you can make the most of the different ways people will receive your message.

To accommodate people on the phone, do not rely too much on visual aids, and explain important points out loud. Indicate when you’re moving to the next slide. Include the slide number on all pages of your presentation.

To accommodate people who may drift in and out of your presentation, verbally and visually emphasize important points, repeating as necessary.

To accommodate people who are reviewing the slides or recording, write an article or blog post with a more coherent version of your presentation.

Build interactivity into your presentation

At first glance, remote presentations may seem less interactive than real-life ones. You can’t see body language, and it’s difficult for people to interrupt during a conference call. However, you can still build interactivity into your session, and you should. Here are some reasons why and some tips for doing so.

  • Both real-life and virtual presentations benefit from the increased engagement and energy of interactivity. Your session is competing for attention against e-mail, instant messages, and other distractions, and interactivity gives your session an extra punch.
  • You don’t have body language cues to tell when people are interested or bored, and it’s not as easy for people to interrupt with a question. Interactivity gives you a way to check the pulse. Ask questions, conduct polls, and get people to share their stories.

  • Different opportunities for interaction open up with a remote presentation. You can ask people to share their thoughts and questions during the presentation instead of waiting for the end, and they can answer each other’s questions or discuss topics themselves, too. On some web-conferencing systems like Centra, you can even ask people to annotate the slides, or to break out into groups and discuss things there.

Don’t be afraid of a little silence on the line. What seems like an uncomfortablely long silence to you gives people time to think about what they want to say, and eventually pushes other people to say something.

When asking people to interact, I find that it’s often helpful to encourage people to use the text chat. That way, more people can share their thoughts without trying to figure out whose turn it is to speak, and this also brings in shyer people. If your phone or web conference allows people to raise their hands, you can use that to queue people for speaking as well.

As you become more comfortable with building interactivity into your remote presentations, you’ll find that you’ll learn as much from the participants as you share with them.

Talk one-on-one

In a session called “Presentation Secrets of Comedians and Stage Performers to Keep Audience Attention” at last year’s IBM Technical Leadership Exchange, Barclay Brown shared a story about watching a presenter make the mistake of wrapping with “Thanks, you’ve
been a great audience.” He explained that although speakers might see themselves speaking to an audience, listeners think of themselves as individuals, not a group. Good speakers make that one-on-one connection even with hundreds or thousands of people in the room.

In a virtual presentation, the perception of being an individual is even stronger. Your audience members don’t see the other participants. Pay attention to the words you use so that you can make the most of that one-on-one connection. Use sentences like “Have you ever experienced this?” instead of “Has anyone here experienced this?” You can still summarize group results, but keep that one-on-one mindset as you go through the rest of your talk.

Provide next actions

Think of things people may want to learn more about or do after your presentation, and take advantage of the fact that most of your participants will already be on a computer. Give them a URL where they can find out more, take the first step, or even fill out a survey about the session.

Hope that helps! Feel free to ask me questions – I’ll come up with more tips that way. =)

Lessons learned from this phase of our Drupal project

Not only has my sleep cycle been thrown out of whack, but I’ve also broken out in pimples.

Clearly, we can get better at managing the crunch time around deployment.

The last time we deployed, there were a few tense moments, but our rigorous test-everything-from-a-production-install process helped us do it smoothly. This time, not so much. Here are a few reasons why, and here’s what I can do to make things better.

  • I had set $access_check to FALSE because I wasn’t sure if we could get in to update the system. The IT architect logged in as a super administrator and ran upgrade.php. However, since $access_check was FALSE, it apparently didn’t check at all if the user was logged in as a super administrator, and so we ran into bugs that assumed account 1 was running the update (related to node saving). Symptom: The updates ran, but some updates didn’t get fully applied. We only detected this the day after (the perils of doing an evening deployment when you’re tired). I thought that just reloading the database backup and reapplying the changes (properly, this time!) would’ve been a cleaner way to do it, but my other team members voted for manually fixing things. So that was stressful.

    The problem occurred a couple of times during QA testing, which is how I realized that update.php was misbehaving. I wrote about it, but I didn’t review the other developers’ code for potential issues, and I didn’t emphasize the potential pitfalls during our meeting.

    To do this better next time, we can come up with a more formal and regular code review process, and I can communicate more explicitly. We could try to always run update.php with $access_check = TRUE, but it may need to be false in some case in the future, and it’s better to be aware of potential problems.

  • After we deployed, we found out that a subdomain we were using hadn’t been set up in DNS. We were no longer in control of the domain record because we had turned that over to the nonprofit partner who was supposed to be managing the site.

    To do this better next time, we should make sure our QA and production setups are as close as possible (we had been using wildcards for QA), and we should test new domains.

  • I had been in crunch mode for 10 days (since the weekend before). It’s difficult to maintain sprint-like energy and focus for that long, and I was feeling physically fatigued after I stayed up relatively late to finish the deployment.

    To do this better next time, I need to insist on taking breaks, even if it doesn’t seem to be being much like a team player. Also, I need to reset my sleep cycle as quickly as possible.

During deployment, I also learned to:

  • Give people feedback and send them patches instead of just fixing the code for them. I don’t get fazed when code changes underneath me. I’ve worked with too much open source, I guess. I just try to figure out what changed, why, and how to work with the new structure. Other people can feel alienated from their code, though, and they lose that feeling of ownership. Better to hand things over to other people, perhaps with a few tips, even if it means it won’t be finished as quickly.
  • Communicate changes more often and more explicitly. I liked having a Sametime group chat running. I don’t like sending lots of e-mail, and having the chat made it easier for me to keep others in the loop.
  • Make sure tests are up to date, and run them regularly. There were a few bugs I missed because I hadn’t run the test suite, and I hadn’t run it because it takes a lot of time on my system. I should make the time to do that (using it as break time if necessary), and I can also set up a testing environment so that other people can run the tests easily. Speaking of that – I spent nearly a day tracking down failures due to other people’s changes because they didn’t verify their work against our test suite. I need to figure out how to build more common ownership of our test suite, and how to get them to run the tests themselves. The SimpleTest web interface is okay, but it’s still not as convenient as Drush. Maybe a line item in our administration interface… Hmm… Next time, I could also set up regular tests that e-mail us the results.
  • Build little tools to help. Instead of analyzing the source code by hand in order to come up with the number of lines we changed (needed this for IBM Legal), I wrote a tool that analyzed our source code based on the Subversion history. It was pretty cool. It took me about 30 minutes to write, and we ended up running it twice. I expect it would’ve taken us three hours to do that all by hand. Yay! =)

So my key things for next time are:

  • Make sure developers know about the gotchas we encountered.
  • Set up an automated test environment and make sure other developers take ownership of the results.
  • Keep a group chat running. I participate in that quite a lot. E-mail, not so much.
  • Take more breaks.

Becoming a better developer, one step at a time…

Want to grow as a speaker? Look for inspiration!

In a previous reflection on presentation and public speaking, I mentioned how I’m looking for inspiring role models who can deliver effective presentations in person and remotely.

Role models are hugely important. Think about all the people you’ve heard speak, and then think of the ones you admired and who made an impact on you. Perhaps you had a particularly charismatic teacher. Maybe you’ve gone out of your way to find sources of inspiration, you’ll probably find it difficult to name more than a few. Religious evangelists and personal development speakers may have well-developed speaking skills, but it’s hard to think of how to translate those skills to the business or technical presentations you need to make.

If you don’t know what a great speech sounds like and feels like, you’ll find it difficult to improve your skills and to help others improve theirs.

If you don’t know what a great speech is like, you may be able to polish the mechanics of your delivery, but you’ll miss out on deeper opportunities to improve your public speaking. You can give a good speech without ums and ahs, with vocal variety and body language, and with good eye contact. A great speech, however, shows you how all those things fit together with great content, great organization, and all the other factors that make a speech extraordinary.

If you don’t know what a great speech is like, you’ll be able to offer only surface suggestions to other people interested in improving their public speaking skills. You can help them eliminate the ums and ahs, encourage them to speak more slowly or quickly, and help them explore vocal variety. But you’ll find it difficult to recognize their key strengths and help them imagine how they could do it even better, and you’ll find it difficult to make specific suggestions that can help them transform the way they communicate.

Why limit yourself to that, when you can find tons of inspiring speeches on the Net?

The key resource I recommend to people who are interested in improving their speaking skills is the Technology, Entertainment and Design conference, which shares speeches from some of the most accomplished people in the world.

You can also check YouTube and other sources for comedians, poets, politicians, and other people who make a living–and make a difference–with the spoken word.

Go find yourself a few role models, and see what a difference it can make. =)

LifeCampTO social graph

After LifeCampTO, I asked people to give me the list of people they wanted to talk to (or, well, those people’s primary keys ;) ). I’m still figuring out how to do a great little mail merge that reminds people of the keywords, but along the way, I thought I might I’d learn more about network visualization.

Here’s the resulting graph: (click on it for a larger version)

LifeCampTO social graph

So, what does this graph say?

You can see that most people have quite a lot of follow-up conversations ahead. It wasn’t the kind of event where most people walked away with only two or three conversations, although they might have smaller follow-up conversations with different groups of people. It might be interesting to do some cluster analysis around topics, and maybe someday I’ll figure out how to encode the data in order to make that analysis easier. ;) Based on this, our on-the-fly decision to have three big conversations turned out to have made sense, although it would also be interesting to try having small conversations about both popular and niche topics, and then having people come together at the end (or on a wiki).

Getting to this graph (and to the individualized graphs I’ve just figured out how to produce – it highlights each person’s connections) involved a lot of bubblegum and string.

  1. I typed in the data people had written down, using OpenOffice.org to form the upper triangle of an adjacency matrix. Two people’s sheets were missing, and one person didn’t have any connections incoming or outgoing. =( Thank you, programming competitions, for all those lovely data structures.
  2. I copied the adjacency matrix and pasted it onto itself using OOo’s Paste Special – Transpose, Skip Empty Cells. This gave me a full adjacency matrix.
  3. I used a really long and hairy OOo formula to concatenate the cells into Emacs Lisp code as an associative list, with extra information and an edge list.
  4. I copied that into Emacs and processed the associative list’s edges. I needed to do that anyway in order to be able to e-mail people personalized e-mail with all of their introductions, instead of sending one e-mail per edge. Along the way, I got the idea of visualizing the network diagram, so I spun off some code to output a full edge list in DOT format for visualization with circo.
  5. I used a command like
    circo -Gsplines=true < lifecampto.dot -Tpng > lifecampto.png

    to generate the graph shown.

  6. Then I thought it would be cool to personalize the graphs, too, so I wrote some more Emacs Lisp to generate personalized DOT files that highlighted the recipient in green and the recipient’s requested links/nodes in green, too. I used a Bash for loop to turn all those personalized DOT files into PNG files.

Example of a personalized image:

Tomorrow, I’ll work on the mail merge. =)

A little computer science is a dangerous, dangerous thing.

Craftsmanship

One of the interesting things that came up during the dinner party conversation with Pete Forde’s friends was the lack of craftsmanship and art in our everyday lives. We’re surrounded by generic mass-produced disposables.

But it doesn’t have to stop there. W-, J- and I often watch Discovery Channel’s How It’s Made series, and learning about the manufacture of even something as everyday as china gives me a greater appreciation for the things we use. I carry little things that have stories or tht make me smile – a fountain pen, a notebook, a walking stick. And I’m learning to create things myself, too – developing applications and presentations for work, drawing and writing for fun.

Other people know this secret, too. Jeff Muzzerall showed me his mechanical watch, telling me how he enjoys watching the interlocking gears through the clear back face. It told a story about his love of well-crafted objects. If you carry something exceptional, it reminds you of beauty.

What keeps you in touch with craftsmanship?

“What are you planning to do in 2009?”, or thoughts about #lifecamptoronto

I’d been meaning to hold a lifehacking-oriented BarCamp since early last year. Timing is particularly good over the next two months: January is when most people make their resolutions and goals for the year, and February is when most people abandon them. By sharing best practices and support, we might be able to inject that extra little bit of energy people need to get over that hump… and by sharing our goals with each other, we can deepen our connectivity as a community.

Here’s a snippet that shows you just how powerful this is:

What are you planning to do – no matter how large or how small – to make the world better in 2009?

One of our Ferrazzi Greenlight thought leaders, Mark Goulston, M.D, recently asked this at a networking meeting of high level lawyers, financial advisors, CPAs, and consultants. Mark noticed something interesting happening: People could recall, almost to a man, what others said their 2009 mission would be. Meanwhile, after having been together five years in this group, they still had trouble remembering who was in what profession! Elevating the conversation to something that truly inspired them connected them in a way that professional small talk never could.

Keith Ferrazzi, author of Never Eat Alone

(Check out their discussions, too!)

One of the best things I did during the holiday season (and quite possibly one of the best networking things I’ve done in the past year) was to send out my updates and ask for people’s goals. It sparked wonderful conversations with many of the 200 people in my initial list. If people e-mailed me their plans, I added notes to their address book records so that I could remember their goals. Knowing that about people made me feel much closer to them, and I’m actively looking for or keeping an eye out for things that can help. Based on that great response, I’m now slowly expanding it to my LinkedIn and Facebook contacts as well.

I’d like to do this, but on a bigger scale. I want to start experimenting with facilitating networking events – not the schmoozy, sleazy type of networking events, but something positive, filled with energy, and packed with hacks for making your life better. I want people to come together, learn a whole bunch of useful tips, share what they’re passionate about and what they want to make happen, and meet people who can help them make those things a reality. I want to create an environment for maximum serendipity.

So here’s what I envision:

  • People will submit their goals and tips before the event, on a website that helps people identify people they might want to meet up with.
  • It’ll be a brunch event, because morning’s a great creative time and we need excuses to drag ourselves out of bed (relatively) early on a Saturday or Sunday morning
  • There’ll be coffee, tea, and morning snacks, sponsored by smart companies interested in people interested in developing themselves, personal development coaches, gyms…
  • Everyone’s nametags will have a number and their first and last names on them. The number will be cross-referenced with the website list, to make it easier for people to get back in touch with each other afterwards. Maybe like the way speed dating is set up…
  • The event will have an open mike where people can share their goals and their tips. If people find the tip helpful, they can write the person’s number down to thank them later. If people can help with the person’s goal, they’ll raise their hands and shout out their number. The person at the mike can write down that number and try to bump into those people during the rest of the event.
  • The rest of event will be for networking.
  • After the event, people can use the website to look up people’s web addresses or e-mail addresses. Alternatively, people can drop their contact slips into a box. I can encode and send out lots of connecting e-mails in case of a match or partial match.

I’d like to make this happen in January or February. I need:

  • co-conspirators who can help me plan the event, since I’m new to event-planning
  • a target date
  • a website – we can start with something like eventbrite or a wiki page
  • lists of people possibly interested in attending
  • lists of people attending
  • a bright and sunny place where we can have a brunch event with a sound system, depends on number of people
  • sponsors, or someone who can help me learn to approach sponsors (after we figure out how big the event will be)

You know it’ll be interesting. Let’s make it happen. =) Or borrow the idea and make it happen in your own city – that would be awesome too!

Sleeping Cats

sleepingcat

Being a geek means you can let sleeping cats lie.

Thanks to W- for being so awesome!

One of Canada’s Most Influential Women in Social Media?

I’ve been nominated as one of Canada’s Most Influential Women in Social Media in a poll run by Dave Forde, whom I know from the Toronto technology scene. It’s a little odd thinking about that, because I’m nowhere near the likes of Amber MacArthur (popular geek television / videocasting personality), Leesa Barnes (who made it onto a worldwide list of female social media luminaries), and Sandy Kemsley (prolific Enterprise 2.0 blogger well-known for her comprehensive live-blogged conference notes). Me? I’m a recent hire figuring things out and posting notes along the way. =)

I’ve stumbled across influence by being in the right place at the right time, maybe. My story is now woven into IBM’s story about social media, and we’re helping other large companies figure things out as well. I’ve given numerous presentations helping people figure out what Web 2.0 means for them and for their company, facilitated workshops for generating, developing and prioritizing initiatives, and done a fair bit of hand-holding to get people over their concerns. All of that is pretty cool, come to think of it, but what I’d like to do is make it possible for other people to do even cooler things.

Thinking about this poll on Canada’s most influential women in social media, I realized that I didn’t consider myself any way equal to all these role models I have here and around the world. =) I also realized that I had a pretty good idea of a future me that would feel perhaps at home in that list. So here’s what I think “influential” looks like for me:

  • I would organize regular events that brought together interesting people and helped people connect. These events would include workshops on social networking, storytelling and presentations, quarter-life crises, lifehacking and productivity, happiness, geek growth, personal finance, and other topics I’m interested in or passionate about.
  • I would also build a bit of infrastructure that would help transform the networking aspects of these events: sign-up pages with more details, aggregators to bring together people’s blog posts, business card prints and other in-person networking aids, active matchmaking both online and offline, and so on.
  • I would be one of those people that people mention their projects and ideas to in the off chance that I could recommend people to talk to, books to read, and sites to check out–because I would. =) In order to do this, I’d find ways to more effectively capture information to support a somewhat fuzzy associative memory. (It’s _so_ frustrating to know that you’ve seen something before that people will like, but not be able to find it again!)
  • I would help lots of people to figure out what their passion is, deepen their skills, and share the results with lots of people through presentations, new and existing businesses, and other good things. I’d do that by asking people, helping them connect and make things happen, and helping them find a forum or opportunity where they can talk to other people.
  • I would have a big archive of things I’ve thought about and shared with others so that I can pull useful resources out and give them to people.
  • I would build systems to make it possible for other people to do this kind of awesomeness as well. =)

So that’s what “influential” looks like to me. I’m not there yet, but I think I can get there. =) I can learn how to hold external events, and gradually get into the swing of it. I can keep blogging and summarizing interesting resources, gradually refining my collection of resources. I can keep tweaking my addressbook, and someday I’ll build systems to help other people try this out. =)

Stay tuned.

Notes from conversations: Ushnish Sengupta, consulting

Ushnish Sengupta was interested in exploring social media consulting. He picked my brains over hot chocolate at the Bluestar Cafe. Here are some rough notes from that conversation:

  • The first tip I gave him was to blog. I think it’s a good idea for consultants to keep a blog because it’s an easy and nearly-free way to help establish credibility and build connections. The blog can contain success stories, articles, lessons learned, announcements of upcoming events, tips, tidbits, and other pieces of information that can help both potential and existing clients. Besides, it’s awfully hard to do social media consulting if you’re not immersed in the space and you don’t have a presence.
  • Business cards: I told him about putting pictures and interesting conversation hooks on business cards, showing him mine as an example.
  • Ushnish was interested in potentially getting a PhD looking at consulting services and similar areas. I recommended that he check out services science. A recent conference we both attended (CASCON) had a number of sessions about the topic, so I suggested reviewing the proceedings to find people and topics of potential interest. I also recommended that he get in touch with people like Kelly Lyons – she’s currently doing research in this field.
  • Twitter backchannel: He asked me how the City of Toronto’s Web 2.0 Summit went. I told him about the interesting conversations that happened in real life and on the Twitter backchannel, and suggested that the next time he’s at an event, he should find the tag that people are using and tune in to search.twitter.com for some lively conversation.
  • Professional networking: He asked me which professional social networks I’m on. I told him that I’m active on LinkedIn and I use it to connect with people so that I can find out about changes in e-mail addresses and positions. He asked me if I was on Plaxo. I told him that I never got into Plaxo because it started off with a bad value-proposition for people who entered their data and that it had been fairly spammy. I haven’t looked into Plaxo Pulse in detail, but LinkedIn and my personal addressbook handles most of my needs.
  • Multiple networks: He asked me about being on multiple networks and how networks become popular and then fade away. The key things I shared with him were that ideas and skills tend to be transferrable between networks, and that an external profile such as a personal site or blog is important because it ties all the networks together. I also told him about something I picked up from Rahaf Harfoush’s talk on the Obama campaign: produce a piece of content and then distribute it through different channels.
  • Partnership: Ushnish asked me if I preferred to work with people I know well or if I preferred to work alone. I told him that I definitely prefer to work with other people because I learn much more in the process. I also told him that I actually enjoy working with people I don’t know that well yet, because it gives me an opportunity to develop a new relationship and spread the skills. If I’m asked to give a presentation, I often look for ways to enable other people to give the presentation, perhaps with a little coaching from me. I want other people to develop wonderful skills, too.
  • Teaching as I learn: The point on partnership segued into a discussion of how useful, fulfilling, and effective it is to try to teach everything I know how to do. I recapped some of the points from “If you can, teach; If you can’t teach, do“.
  • Event management: I told him that I’m interested in learning more about hosting external events in 2009. Alex Sirota does a lot of events for the New Path Network (which Ushnish belongs to), so I might see if I can use some of those events as models.
  • Address book: Ushnish was curious about how I manage my network. I told him about my wonderful addressbook setup (automatically tracks who I send mail to, automatically inserts notes into my mail), and the visualization improvements I’d like to make. I also told him of my plans to try porting some of these ideas to Drupal so that other people can experiment with them.
  • Social media and change management: I told him about the spectrum of social media consulting, and that organizational change plays a large part in it.
  • Rough notes: We ended the conversation with a homework assignment: he’s supposed to blog the lecture he was also going to that day, and perhaps the notes from the conversation as well. I reassured him that rough notes are fine, and that he’ll make things clearer and clearer as he writes about them again and again.

What did I learn?

  • I seem to have learned something about social media consulting after all. =) Hooray! I need to package that into some kind of internal blog post and presentation so that my coworkers can make the most of it.
  • I should find a way to package up these social networking tips into a blog post, a presentation, and maybe an event.
  • In an alternate future, I could probably keep myself very busy building and selling tools for making all of these things easier…

Learning languages

My recent trip to Tel Aviv was a good reason to learn a little Hebrew. I listened to the Hebrew I course from the Pimsleur language series (available in the Toronto Public Library!) while I was sewing clothes or doing dishes, and I printed out a few phrase lists I found on the Internet. I didn’t get to the point of being able to have a good conversation in Hebrew, but it was nice not feeling totally lost, and occasionally even recognizing some of the things that people around me were saying.

I like learning different languages. It’s like building with blocks: you collect different kinds of pieces, and the more pieces you collect, the more ways you can combine them and make sense.

W- and I have been watching Heroes. Yes, we’re very much behind the times. ;) My favorite segments are when Masi Oka shows up as Hiro and speaks in Japanese. I miss the rush of semi-understood syllables, the alien familiarity of a learned skill.

Maybe I should take that up again. I probably won’t be able to make much time for conversation practice, but it would be interesting to be able to read foreign blog posts and make occasional comments.

So I’ve bought Japanese Flip for the new iPod Touch (thank you, Slideshare) and I’ll be playing with it on the subway ride. =) I’ll also see about getting back to learning French…

Weekly review: Week ending Nov 2, 2008

This week was half travel, half catching up. I flew to Tel Aviv for a customer workshop at which I facilitated a session about mobile social networking. When I got back, I worked on my Drupal-based project, ironing out a few bugs and playing defect tennis. I processed lots of requests quickly.

I was going to do the paperwork for the Schengen visa so that I could help with another customer workshop in Brussels. I was nervous about the time and I didn’t want to cancel my participation at the last minute, as I know from first-hand experience that it can be pretty difficult for people taking up the sudden slack. So I recommended a number of people in Europe to the workshop organizers, and I hope they find a good fit.

During this mad two-week stint of travel, I realized a couple of things:

  • Consulting is a scary thing. ;) You’re always wondering if the client will feel that you’ve provided enough value. Programming or making things seems a little more clear-cut in that respect.
  • I love connecting the dots, and I seem to have passed some threshold that makes the network effects scale well. Because people know I like connecting the dots, they tell me about what they can offer and what they’re looking for.
  • A few days of working at home helps me settle down and relax after unusual stints of overtime. Otherwise, things feel pretty raw.

I finished the red jacket I was working on, and I’ve also completed a purple skirt. I’m very happy with the way the red jacket turned out, and the notions I picked up during Fabricland’s sale have helped me me save time and make my purple skirt neater. My next project (already halfway done) is a black skirt following the same pattern as the purple skirt. After that, I’ll probably make two reversible four-color shells to make business-trip packing even easier.

I’d been thinking about the personality differences between people who start things and people who finish things. I’m very much a starter. I can see the possibilities of starting things, I’m good at figuring out who I need to talk to in order to make something happen, and I can be excited and get other people excited too. On the other hand, after a while, I can lose interest and move on to other things, which is probably why my Emacs book is languishing in the doldrums.

That’s one of the reasons why sewing interests me. Small, quick projects that give me tangible results when I finish them… Maybe this a good way to develop more persistence and attention to detail. =)

Next week, I’ll be focusing on the Drupal-based project. We’re coming up on our second release date, and I think we’re in pretty good shape despite all my travel. I also need to get the details ironed out for my talk in Concordia University: the student’s guide to Web 2.0 at work, and for an upcoming panel on government, Web 2.0 and youth. On Thursday, SelectMinds has a virtual corporate social networking conference. I’m looking forward to attending the session on onboarding with social networking tools (1:45 ET – 2:45 ET). We’ll be recording videos of our other presentations on Thursday, so I might not be able to make it to the rest of the interesting sessions. It’ll be a very busy week, but I hope to make time to get my permanent residency application together and to follow up on the interesting conversations I had over the past two weeks.

Gen Y Perspective: Why Gen Y Won’t Stay at Jobs that Suck

In yesterday’s talk by Bea Fields on managing Gen Y, one of the listeners asked how much of a fun circus work would need to become in order to attract and retain younger workers. The well-known and much-criticized Gen Y tendency to job hop makes Gen Y retention a key issue for companies around the world. Here’s my Gen Y perspective on this issue: when work-life balance is important and career plans are chaotic, it just doesn’t pay to work at jobs that suck.

Why do people work at jobs that don’t make them happy? There seem to be three main reasons:

  • They need the money or the health insurance.
  • They don’t care about the sacrifices they have to make.
  • They see it as a stepping-stone towards a bigger opportunity.

Let’s look at those three reasons from a Gen Y perspective.

Do they need the money or the health insurance?

Many Gen Yers still live at home, so they have less financial pressure. Others live on their own or with friends, but aren’t carrying mortgages or supporting families. True, many Gen Yers experience financial pressure from student loans, credit card debt and other obligations, but most can get by.

What about health care? We’re in the prime of our lives, and most don’t need to worry about losing insurance coverage. Life insurance and family insurance needs are low, because we typically don’t have any dependents. That means we can shift jobs without worrying about not being covered in the meantime.

Why else would people take jobs they weren’t happy in? They might not care about the other sacrifices they need to make, such as working long hours and living under high stress.

I know many Gen Yers who work overtime and weekends, but I also know many Gen Yers who prioritize work-life balance and who make time in their lives for other things. If their jobs don’t allow them to have the kind of life they want, they’ll look for other opportunities. They know that for every company that talks about company loyalty and retention but then turns around and expects an unsustainable pace of work, there are also companies that walk the walk and are really interested in improving workplace flexibility–not just for senior employees, but for everyone.

Why would people work so hard, anyway? The answer is related to the third reason why people stay in jobs that don’t make them happy. They see those jobs as stepping-stones to greater opportunities.

It used to be that you would “pay your dues” in a boring, thankless job, eventually rising in the ranks and gaining a cushy position. Not any more. After rampant downsizing (I mean, “right-sizing”, or “resource actions”, as IBM likes to call it), the failure of even supposedly rock-solid institutions (hello, Fannie Mae!), and the un-cushy-izing of formerly cushy positions such as partners in law firms (who are now subject to the threat of de-equitization) is it any wonder why many people–Gen Y, especially, as we’re making these entry-level decisions–no longer believe in long-term career planning and in paying your dues in a thankless position?

Lesson One in Daniel Pink‘s unconventional career guide The Adventures of Johnny Bunko is: “There is no plan.”

There is no plan. If there can be no neat plan from getting from point A to point B, if being the office gopher won’t get you to the corner office, if you can burn yourself out because of overtime and high stress but still be laid off because of unpredictable market conditions, then it makes sense to take a step back, invest in yourself, and do work that creates value and make you happy.

Gen Y knows this: your employer pays you, but you ultimately work for yourself. You are ultimately responsible for developing your own skills, finding your own opportunities, and making the life that you want.

Gen Y challenges for recruiting and retention, such puzzling issues for HR departments all over the world, are really just logical reactions to the realities of the marketplace. It makes sense to pick jobs and organizations where you can create value, learn, and enjoy working. It makes sense to contribute and learn as much as you can, then move before you get moved–whether it’s to another job in the organization, or to another organization entirely. It makes sense to make sure that there’s something in it for you.

Does that mean that Gen Yers are mercenary? No. In fact, money isn’t the biggest reason why Gen Yers leave organizations. Gen Yers are looking for opportunities to make a difference, to grow, to connect, and to work with people they admire. Dot-com-like perks like foosball tables are fun, but they don’t make up for opportunities to make a difference.

The organization that can quickly tap new Gen Yers’ passions and skills, move them into a position where they can contribute in a meaningful way, and help them build the social networks that will make them even more productive–that’s the kind of organization that will be able to easily recruit and retain Gen Y, because that’s the kind of organization that understands what matters.

Squee! Won Slideshare’s Best Presentation Contest!

Hooray!

My introduction-in-verse won the Slideshare Best Presentation Contest Category for “About Me”! Which probably means that at some point, I brought a smile to the illustrious panel of judges: Guy Kawasaki, Nancy Duarte, Garr Reynolds, and Bert Decker.

Hello, I'm Sacha Chua!
View SlideShare presentation or Upload your own. (tags: sketches self)

I’m sure I’ll put the iPod Touch to all sorts of good use!

I had a lot of fun making the presentation on my Nintendo DS. I’ve since then given to my mom so that she can do yoga, but I upgraded to the Cintiq 12WX and it’s really fun to sketch on. Still, I feel very much like a fledgling artist:

Fledgling

As promised, I’ll be sending some of my favorite presentation books to one of the lucky people who voted for me. Hello, Randell! I’m looking forward to sharing Presentation Zen and Back of the Napkin with you. =D

Squee!

Weekly review – week ending Aug 1-ish

This week was about mornings. I successfully switched over to an early-morning schedule, waking up at around 6 in order to write. I found that writing was much easier and more enjoyable in the morning, with lots of energy and a fresh mind, and I also appreciated the incidental benefits of being able to have a leisurely breakfast and a non-stressed start to my day. (W-’s gratitude for early-morning coffee was a nice bonus!)

This early-morning schedule meant that I found myself getting sleepy at 9, though, and I was often in bed by 10. W- expressed some concern that we might end up leading separate lives, so we’ll figure out how to balance that. We could either figure out how to make the most of a late schedule, shift to an early schedule, or make sure we have enough quality time together. If you’re in a wonderful relationship with someone with a different circadian rhythm, how do you make the most of it?

(I’d definitely like to keep my early-morning writing, though. I liked the feeling of that more than I like afternoon or evening writing…)

Result: Lots of Emacs blog posts this week, as I set up my Emacs development environment for PHP!

In other news, the Drupal project I’ve been working on is now live on the production server. Hooray! The project manager asked us last week to estimate how much time it would take to move the system from the quality assurance server to the production server. I plucked a number out of the air based on how long it took to move to the QA server: one hour? My teammate adjusted my estimate to account for finicky things: three hours? The project manager laughed and told us that we had a week to do it. I took care of it yesterday, and it took me almost exactly an hour (including DNS changes). I’ll check later if any bugs have come up.

I was also happy with some of the infrastructure I built and the tests I added at work. Kaizen! Experience++!

Other parts of my life:

  • I’ve achieved the savings target for my gadget fund, which means I _could_ go out and get a Lenovo Thinkpad X61 tablet PC if I _really_ wanted to. I don’t have a compelling need for it, though. I’d like to use it to draw and mindmap, but there are plenty of things to keep me busy in the meantime, so I won’t touch the gadget fund until I know that it’ll give me a lot of extra value.
  • I’m saving up some of my play money so that I can experiment with delegating chores and swapping money for time. I don’t have a good sense yet of whether that’s an efficient long-term tradeoff, but it’s worth exploring. Personal assistant agencies in Toronto tend to charge about $25 / hour.
  • Yoga classes have been cancelled for August, so it’s just going to be krav maga. I’ll continue to do yoga at home.

I’m planning to install Ubuntu today. I need to borrow W-’s CD drive, as mine seems to be somewhat broken. I’d like to get everything set up over the long weekend.

My goals for next week are:

  • Work out a better schedule with W- so that we have time to keep developing in-jokes and enjoying each other’s company
  • Keep the production server running; begin development on phase 2?
  • Cook beef stroganoff for the first time
  • Get ready for our trip to the Philippines – yay!

Awesome, I’ve been quoted in Portuguese!

Todas as faces da colaboração?

O poder do indivíduo já era. Experiências com colaboração e ferramentas sociais em grandes companhias, como a IBM, dão conta de mostrar o valor do trabalho desenvolvido em rede e global

Que tal conseguir o emprego dos sonhos compartilhando suas idéias em um blog? Foi assim que Sacha Chua, atual evangelizadora de Empresa 2.0 da IBM, conquistou o posto que ocupa hoje dentro da companhia, em Toronto, Canadá. Aos 23 anos, tão logo a jovem estudante passou a circular pela empresa por conta do projeto de conclusão de sua tese de mestrado em computacão social, em 2006, não hesitou em disparar posts sobre a própria pesquisa pela ferramenta interna de blogs que a IBM disponibilizava aos funcionários.

“Percebi que se não fizesse isso, no final de mestrado poucas pessoas leriam minha tese. Escrever sobre a pesquisa enquanto ela era feita permitiu que eu compartilhasse meu conhecimento com outras pessoas e aprendesse com as sugestôes e conselhos que me davam”, conta.

Foi como se a partir daquele momento tivesse calçado os sapatinhos de cristal de uma Cinderela moderna que ascendia para o universo corporativo. Do dia para a noite, o blog da então ilustre desconhecida caiu no gosto dos funcionários e se tournou o mais popular da empresa não só no Canadá–com média de 300 a 600 acessos diários–tudo sem sair da esfera interna da IBM. “Queria fazer mais do que escrever software, queria ajudar as pessoas a se conectarem por blogs, wikis e outras ferramentas web 2.0 e a IBM era a empresa perfeita para aplicar tudo que aprendi a respeito no mundo real. Quando chegou a hora de pedir o emprego, o processo foi fácil porque os futuros colegas de equipe já me conheciam e sabiam o suficiente para convencer a gerência a criar um cargo só para mim”, lembra.

A história de Sacha poderia ser uma exceção, mas não é. Essa é apenas uma das faces das oportunidades que as ferramentas sociais e de colaboração apresentam dentro de companhias. Por isso, a IBM vem apostando na criação de ambientes férteis para a inovação.

Except for my age, most of it’s right. Nifty! There’s more, but it would take me a while to type it all in from the scan. I wonder if I can get a copy of the magazine for my mom… =)

Pereira, Paula. June 2008. “Todas as faces da colaboração?”, B2B Magazine

Drupal makes me feel like Bruce Lee + Jackie Chan

Fast. Powerful. And having a heck of a lot of fun.

Drupal: Storing data in the user profile

If you want to store data in the user profile, here’s an example of a quick and dirty way to do it:

global $user;
if ($user) {
  $array = array('fieldname' => 'value_to_save');
  user_save($user, $array);
}

Then access it with $user->fieldname. For more configurability, check out the Profile module.

Drupal: Adding lines to settings.php in an installation profile

Installation profiles can make it easier for you to test and reproduce your configuration. But what if you need to do more than what Install Profile Wizard detects? For example, parts of the Domain Access module ask you to add lines to your sites/default/settings.php. Fortunately, PHP allows you to set up your install profile to write to files during installation.

Here’s the code I added to the end of the profilename_profile_final() function:

    // Add the following to the end of settings.php
    $file = fopen("sites/default/settings.php", "a");
    if ($file) {
      fputs($file, "\$cookie_domain = '.transitions2.org';\n");
      fputs($file, "require_once './sites/all/modules/domain/domain_conf/settings_domain_conf.inc';\n");
      fputs($file, "require_once './sites/all/modules/domain/domain_prefix/settings_domain_prefix.inc';\n");
      fclose($file);
    } else {
      drupal_set_message("Can't add domain-related lines to sites/default/settings.php");
    }

Hope it helps!

Weekly review – week ending March 2, 2008

I feel a little flushed today, and I’ve been sniffling all weekend. After I finish this blog post, I’m going to go to bed.

  • Monday: DemoCamp 17 was terrific. I liked Tom Purves’ presentation on the state of wireless in Canada because the 5-minute Ignite talk was both visually appealing and energetically delivered. The Mozilla phenomenologist’s presentation was also well-designed. Good stuff. Networking was lots of fun, too, although I have to confess that I still haven’t followed up. Tomorrow, I promise.
  • Tuesday: Mostly spent preparing for my talk on Networking 2.0: Blogging Your Way out of a Job and into a Career.
  • Wednesday: Delivered the Networking 2.0 talk at the Concordia University Alumni Association event. Well-received. People loved the energy.
  • Thursday: GBS Foundations dinner. Thoughts on this sometime.
  • Friday: Continued working on social media guide. Volunteered to help with internal blogging strategy for my team.

Next week is going to be crazy. We’re flying to the Philippines on Saturday, so I have a bunch of things to take care of before then. To wit:

  • Wrap up my projects
  • Plan for the four conferences I’m going to in April – doublecheck accommodations, travel plans, speaker review, etc. (presenting at Best Practices Conference, Blue Horizon, and Technical Leadership Exchange.. augh!)
  • Turn over metaverse event planning to someone
  • Figure out how to turn on vacation mail
  • Pick up currency
  • Put mail on hold
  • Get my laptop sorted out
  • Inch along on my book

Waah.

Internet experiment #2: Ordering clothes – success!

There are some things that most people would never think of buying from the Internet because they require such a personal fit: eyeglasses, clothes, and shoes. Having successfully ordered two pairs of eyeglasses from Zenni Optical with substantial savings, I decided to explore the second frontier: buying clothes off the Internet.

After four months of working in the corporate world, I found myself gravitating to a few favorite outfits: a gray pinstripe suit that I bought off the rack (about $40 because it was on sale) and invested about $70 in having it tailored to me, and a few combinations of a long-sleeved blouse, a V-neck sweater, pants matching the sweater, and a scarf matching the blouse. (See, Kathy, I’m getting the hang of this coordination thing…) I’m still not as sharply dressed as consultants in other practices, though, and there are some gaps in my wardrobe that I’m gradually filling in–such as a coordinated black suit.

I find it difficult to shop for clothes in brick-and-mortar stores. There just aren’t that many clothes for short, slim people with small torsos and somewhat wider hips. It’s frustrating to go through the entire Eaton Centre and find only a few outfits that merit a trip to the dressing room. I rarely find anything that fits off the rack, and the noisy crowd can feel overwhelming after a few hours.

It doesn’t help that I shop with a very specific idea of what I want: a pair of oval red frames, a black pant suit in size 4 petite, a pair of beige pumps with a slightly rounded toe and a 1″ to 1.5″ square heel. I wish I could press a button to have the store reorganized by color and style instead of just by brand. In short, I want an Internet-like shopping interface. Bring on some faceted navigation.

So when I was shopping for gifts on eBay.ca, I took the opportunity to also search for petite size 4 pantsuits, and I was happy to find some that I wouldn’t mind trying out. eBay is not known for good return policies, so I submitted bids that were low enough for me to charge to experience if things didn’t work. As in my experiment with ordering eyeglasses of the Internet, I reasoned that if it didn’t work, I wasted a little of money, but if it did, I could save a lot more time and money in the future. It was worth a try.

The first of my suits arrived the other day. I had to trek up to the post office to pay customs, but even with shipping and tax, the suit cost just about as much as the gray suit I picked up during one of the sales. I had ordered a double-breasted black suit, and it arrived in the condition described: new and all ready to go. In terms of fit, it was no worse than suits in stores. In terms of cost, it was decent. In terms of convenience, it was much better.

So there: shopping for clothes on the Internet is worth a try. =)

Testing from Emacs

I’m using weblogger.el and xml-rpc.el to post directly to my WordPress.

I wonder how well it works…

Sorry about the RSS thrashing! <sheepish grin> It took a while for the idea of a test blog to occur to me. So sorry. =)

In conclusion: Emacs posting to external weblogs – not quite there yet. Weblogger.el is somewhat okay, g-client and atom-api didn’t work at all on my system. Waah. Quite frustrating.

More progress

Yay, I finished my writing goal for the day!

Tomorrow’s a busy day. I have two conference calls, a client meeting, an eye exam (need new glasses), and if I can squeeze it in, a dentist appointment as well. I’ve finished a lot of work for the client, and I’m looking forward to sharing the first drafts with them. I’m really turning into an intranet social media consultant! =) This is good.

Tomorrow is also an editing day, so I’ll take whatever I have so far and start putting it all together. And then the chapter’s just going to magically fall into place, like it did last time.

The days are just packed. =D

Projects in Emacs Org

Introduction

Organizing your tasks into projects can help you plan ahead, track
your progress, and stay motivated. Working from a project list allows
you to plan your day or week instead of just reacting to other
people’s requests. Keeping your projects and tasks in Org makes it
easier for you to review your completed tasks and plan the next step.
If you include some text describing why you want to do the project and
what your intended outcome is, this can help you stay motivated
throughout a long project.

Projects can take a single day or several years. They can be large
projects involving lots of other people and resources, or small
projects that you do on your own. Projects may involve a handful of
separate steps or a hundred things you need to do in order to achieve
your goal. The important thing is that there is more than one step.
If you organize your task list so that related tasks are together,
then you’ll find it easier to get a sense of where you are, where
you’re going, and what you need to do next.

In this section, you will learn how to:

  • Create projects,
  • Organize your tasks into projects,
  • Review your ongoing projects, and
  • Mark projects as finished.

I’ll assume that you’re using Emacs 22, and that you’ve set up Org
using an ~/organizer.org agenda file and the basic configuration
suggested in either “Org and GTD” or “Org as a Day Planner.” I’ll also
assume that you’re familiar with switching between the Org agenda view
and the Org organizer file, and that you’re comfortable navigating
around Emacs.

The examples I’ll use focus on yearly goals. You might also have
short-term projects or long-term plans. Feel free to adapt the
examples as needed.

Open your ~/organizer.org file. If you’ve collected your tasks as
suggested in the previous sections on Using Org as a Day Planner or
Using Org for GTD, your ~/organizer.org file might look something like
this:

 * Inbox
 ** TODO Read Emacs Lisp intro
 ** TODO Write yearly review
 ** TODO Exercise
 ** TODO Browse the Emacs Wiki

Create new top-level headings for this year’s goals or the projects
that you’re working on. You can create a top-level heading by
typing * and the heading, like this:

 * Learn more about Emacs
 * Go on vacation
 ...
 * Inbox
 ** TODO Read Emacs manual
 ...

It’s a good idea to add the projects to the beginning of the file
(before your Inbox) because M-x remember adds new tasks or notes to
the end of the file. If the last major heading as * Inbox, then the
tasks and notes are automatically added to it. If the last major
heading is a project, the tasks and notes may get misfiled.

What are your projects?
Yearly goals? I’ve got twenty-year plans!

If you’re a top-down planner, you’ll find it easy to list your
projects. In fact, you might have a ten- or even twenty-year plan
already written down. You’ll find this section straightforward,
because you’re already used to planning in terms of projects.
Go ahead and adapt the examples to your long-term plans.

Yearly goals? I live day by day!

If you’re a bottom-up planner, you might be giving me a weird look
right now. “Yearly goals? I’m lucky if I can figure out how to get
through the next day!” This section will also show you how to find the
recurring themes in your task list and organize them into projects.
Give project-based planning a try for a month. If this way of thinking
doesn’t work for you, Org will work just fine without projects.

You probably have projects, even if you can’t think of any right
now. Review your ~/organizer.org file. If you haven’t written down
everything you needed to do yet, go through the section on basic
configuration for your planning style (GTD or day planning). Once you
have a list of things to do, you can then review it for big tasks,
related tasks, and other project clues.

Read your tasks and ask yourself the following questions:

  • *Can I do this in one sitting?* Big tasks such as “Write a book” are often projects in disguise. Use projects so that you can break them down into smaller, doable tasks.
  • *Is this related to other tasks?* Related tasks such as “Book a flight” and “Plan my itinerary” are often clues to a project like “Go on vacation”. Use projects so that you can review related tasks together.
  • *Why am I doing this?* When you think about the reason why you’re doing something, you’ll often find a bigger project. For example, if one of your tasks is “Set up an automatic retirement savings plan”, then the question “Why am I doing this?” may lead you to the project “Plan for retirement”. Use projects to help you think of other ways to move towards that goal.

Big tasks need to be broken down into smaller tasks anyway, and
organizing them into projects will help you make them more
manageable. You may not want to organize all of your other tasks into
projects. If you can pick some major themes to focus on, though, then
you’ll be able to see how the different things you do are related to
each other, and you’ll be able to think of other ways to work on those
projects. If you’re starting out with project-based thinking, maybe
you can pick three to five projects and try to do a little work on
each of them every day.

If you still don’t identify any projects, that’s okay. You can use Org
as a straightforward task list. Jump ahead to the section on “Tags”,
as you’ll probably find that useful.

On the other hand, if this step turns up plenty of projects, resist
the temptation to over-correct and end up with hundreds of projects. I
find that more than 7 active projects gets hard to manage. Pick a few
main themes that you’d like to work on, and make everthing else
something you plan to do someday.

Project tasks

Creating tasks

Now that you have project headings, think of the next thing you need
to do in order to move those projects forward. If you’ve already
written down those tasks, move them under the appropriate project
heading. If not, type them in.

In order for a task to belong to a project, it needs to be under the
heading and at a lower level. For example, if your project heading has
one star, like this:

 * Learn Emacs

then your TODO headings should have two stars, like this:

 * Learn Emacs
 ** TODO Read the Emacs manual
 ** TODO Read the Emacs Lisp Intro manual (eintr)
 ** TODO Install the Emacs source code

If your tasks are not at the right level, you can add the star
manually by editing the heading. You can also use M-right and M-left
(org-metaright and org-metaleft) while on a heading in order to
promote or demote it, and you can use M-S-right and M-S-left
(org-shift-metaright and org-shift-metaleft) to promote or demote
entire subtrees.

To move tasks up and down within the project, you can copy and paste
the text. You can use M-Up and M-Down (org-metaup and org-metadown) to
move subtrees.

Think of tasks you can do within the next week in order to move each
of your projects forward. Add next actions to all of your active
projects. Creating next actions for each of your projects makes it
easier to remember to keep moving forward.

Organizing tasks

If you have many tasks in a project, you may want to organize them
into sub-projects. For example, you might divide a software project
into components. If you’re starting from scratch, you can create the
project structure by typing in more stars for sub-project
headings. For example:

 * Learn Emacs
 ** Read mail
 *** TODO Choose a mail client
 *** TODO Install and configure the mail client
 *** TODO Send a message
 ...
 ** Browse the Web
 *** Read through the w3m documentation
 ...

You can also demote an existing project into a subproject.
Use M-S-right (org-shift-metaright) on the
current project headline in order to demote it to a sub-project. This
will also demote the tasks within the project. For example, demoting
this:

 * Learn Emacs
 ** TODO Choose a mail client
 ** TODO Install and configure the mail client
 ** TODO Send a message

will result in this:

 ** Learn Emacs
 *** TODO Choose a mail client
 *** TODO Install and configure the mail client
 *** TODO Send a message

Then you can change the heading and add another heading above it, like this:

 * Learn Emacs
 ** Read mail
 *** TODO Choose a mail client
 *** TODO Install and configure the mail client
 *** TODO Send a message

This kind of organization is optional, but it can help you get an idea
of the overall structure of your project. Using different levels
allows you to hide and show groups of headings by pressing TAB on the
heading.

Now that you’ve created your project tasks and organized them the way
you want, it’s time to actually do the work.

Working on tasks

If you use Org as a day planner, you may also want to schedule the
tasks onto specific days with C-c C-s (org-schedule). You can review
your daily or weekly agenda with C-c a a (org-agenda,
org-agenda-list), switching between daily and weekly views with d and
w (org-agenda-day-view and org-agenda-week-view).

You can work with the next actions in the same way you work with other
tasks, rescheduling them or marking them as STARTED, WAITING or DONE
with the keyboar shortcuts introduced in the previous section on Org
and GTD or Org as a Day Planner.

When you finish a project task, think of the next action you can do in
order to move that project forward. If you use Org as a day planner,
schedule the next action onto your calendar as well.

Reviewing projects

You can review your projects by opening your ~/organizer.org and
browsing through the headings. S-tab (org-shifttab) changes the
visibility of headings, so you can see just the top-level headings or
all the details. You can use TAB (org-cycle) on a headline to show or
hide subtrees.

Reviewing a list of projects

If you have many projects, you’ll want a shorter view of just your
active projects. To make it easier to review projects, add a PROJECT
tag to all your active project headlines. You can add a tag by
editing your ~/organizer.org and moving your cursor to the headline
and typing C-c C-c (org-ctrl-c-ctrl-c), followed by the name of the
tag (PROJECT). You can also manually type :TAGNAME: at the end of the
headings, like this:

 * Learn more about Emacs        :PROJECT:
 ** TODO Read the Emacs manual
 ** TODO Read the Emacs Lisp Intro manual (eintr)
 ...
 * Go on vacation                :PROJECT:
 ...
 * Inbox
 ...

You might classify some of your projects as someday/maybe – things
that are nice to think about, but which you aren’t acting on right
now. Tag your inactive or someday/maybe projects with PROJECT and
MAYBE. If you’re editing the ~/organizer.org file, just
add :PROJECT:MAYBE: to the heading. If you’re tagging it with C-c C-c
(org-ctrl-c-ctrl-c), specify PROJECT:MAYBE as the tag.

 * Learn more about Emacs        :PROJECT:
 * Go on vacation                :PROJECT:MAYBE:
 ...
 * Inbox
 ** TODO Read Emacs manual
 ...

Now that you’ve tagged your projects, you can view just your project
headlines with a custom agenda command. Custom agenda views are a
terrific feature in Org, and you can do a lot with them if you know a
little Emacs Lisp. Here’s what you need to add to your ~/.emacs in
order to get a list of your active projects and your someday/maybe
projects:

(setq org-agenda-custom-commands
      '(("p" tags "PROJECT-MAYBE-DONE" nil)  ;; (1)
        ("m" tags "PROJECT&MAYBE" nil)       ;; (2)
        ;; ... put your other custom commands here
       ))
  • (1) This makes C-c a p (org-agenda, p) show your active projects.
  • (2) This makes C-c a m (org-agenda, m) show your “maybe” projects.

With these two commands, you can quickly review your active and
inactive projects. To jump to a project from the agenda view, move
your cursor to the heading and press RET (org-agenda-switch-to). If
you want to scan through the projects quickly, use f
(org-agenda-follow-mode) in the agenda view to turn on follow mode,
then move to different headlines. Another window will show the
headline at point.

If you review your projects at least once a week, you’ll find it
easier to make regular progress. If you want to combine your
weekly/daily review with your project list, you can do that with
org-agenda-custom-commands as well. Here’s what you’d put in your
~/.emacs:

(setq org-agenda-custom-commands
      '(("p" tags "PROJECT-MAYBE-DONE" nil)
        ("m" tags "PROJECT&MAYBE" nil)
        ("a" "My agenda"                            ;; (1)
         ((org-agenda-list)                         ;; (2)
          (tags "PROJECT-MAYBE-DONE")))             ;; (3)
        ;; ... put your other custom commands here
       ))
  • (1) The first argument is the shortcut key, the second is a name for the agenda view
  • (2) Your daily or weekly agenda. The d and w (org-agenda-day-view and org-agenda-week-view) shortcuts work if the point is within this section
  • (3) A list of your active projects

This configures C-c a a (org-agenda, “My agenda”) to display your
agenda and a list of your project headings. Again, you can press RET
(org-agenda-switch-to) to jump to a project from its heading in the
agenda view.

Reviewing your stuck projects

You might have forgotten to create next actions for some of your
active projects. Org can help you find projects which don’t have next actions.
You can then decide if the project is complete or if it needs further action.

To list stuck projects, you first need to tell Org what a stuck
project is. The following code defines a stuck project as an active
project (not tagged “maybe” or “done”) that doesn’t have a TODO or
STARTED action, if the body of the project doesn’t contain “*lt;IGNORE>”. Add this to your ~/.emacs and evaluate it:

(setq org-stuck-projects
      '("+PROJECT/-MAYBE-DONE" ("TODO" "STARTED") nil "\\<IGNORE\\>"))

Then you can use M-x org-agenda-list-stuck-projects or C-a a #
(org-agenda, org-agenda-list-stuck-projects) to show only the stuck
projects. Review this list and jump to the headlines.

Want to add that to your custom agenda view? Modify the org-agenda-custom-commands value in your ~/.emacs to be like this:

(setq org-agenda-custom-commands
      '(("p" tags "PROJECT-MAYBE-DONE" nil)
        ("m" tags "PROJECT&MAYBE" nil)
        ("a" "My agenda"
         ((org-agenda-list)
          (org-agenda-list-stuck-projects)          ;; (1)
          (tags "PROJECT-MAYBE-DONE")))
        ;; ... put your other custom commands here
       ))
  • (1) It’s a good idea to put it before your regular project list so that you can see what needs your attention.

What about finished projects? You might want to keep them in your Org
file, but they shouldn’t show up in your active and inactive project
lists. Org can keep track of those projects too.

Marking projects as done

If you look at the custom commands above, you’ll notice the “-DONE”
specifier. “DONE” is the tag we’ll use to indicate done projects. To
tag a project as done, move the point to the project heading and type
C-c C-c (org-ctrl-c-ctrl-c). The tag prompt will default to the
current tags. Just add “DONE” and press Enter. With the custom
commands we’ve set up, projects tagged DONE will not show in your
active, inactive, or stuck project lists.

You can also add the tag manually. For example, if the project heading is

 * Learn Emacs    :PROJECT:

and you’re happy with your level of Emacs proficiency, then you can
mark it as done by changing it to

 * Learn Emacs    :PROJECT:DONE:

If you have plenty of completed projects, your Org file might be quite
large. You can mark a subtree for archiving by typing C-c C-x C-a
(org-toggle-archive-tag). This hides it from most Org commands. You
can also archive a tree into a different file with C-c C-x C-s
(org-advertized-archive-subtree).

Wrapping up

Now you can create projects, manage your project tasks, and review
your active, inactive, and stuck projects in Org. You know how to mark
projects as completed and how to archive them. You’ve also started
using tags to dynamically generate reports from your Org file.

Tags can do a lot more. To find out what else you can do with tags,
read the next section on “Tagging in Org”.

On Technorati: , ,

Weekly review

What I know is nothing compared to what I will learn, and what I will
learn is nothing compared to what is knowable.
That was the key thought for this week as I went into my second client
engagement, this time with a financial services firm. There’s just so
much to learn. It’s a little bit intimidating,
but even though I’m new, I can bring useful things to the table: my
questions and my notes. If I take in as much as I can from lots of
different people and serve as a conduit between them, then that’ll be
a good way to get started.

The second key thing about this week was reconnection. I pinged Michael Nielsen and Jennifer Dodd after I finished “Made to Stick”, which they had highly recommended to me. I also Cc’d Driss Benzakour, who shares my interest in business books. I had fun chatting with him when he called me to catch up. Gabriel Mansour also e-mailed to say that he missed my tea parties, so we’re going to have another one on Dec 9 (Sunday). I also had webcam conversations with Clair Ching, Kendra Castillo, and my mom. I briefly got to talk to my dad, too. Oh, and I got plenty of cheers and feedback on the first chapter of my book. Yay! =)

The third key thing about this week (ah, gotta love the structure of threes) was that I learned more about the power of stories. Thanks to

  • a previous conversation with my mentor about passion for the business
  • a corporate learning program on foundational competencies that mentioned that passion for the business does not have a formal curriculum or training materials
  • a comment I posted on an internal article about social computing, sharing how people’s blog stories helped me fall in love with the company, and
  • two books, “Made to Stick” and “Elements of Persuasion”,

I saw how the stories people told through their blogs helped me discover deep and wonderful things about the company I’ve joined, and how my blog can help me practice storytelling. I’ll try to tell more stories, and I hope to practice some of the things I’ve learned from the books I read. =)

My goals for next week are:

  • Talk to other people about the experience of being new to a business, and write up the advice they give
  • Set up the team space for my second client engagement
  • Write Facebook tips for middle-school girls and help with other initiatives around the company, and
  • Cook a nice, hearty soup. =)

On Technorati:

Random Emacs symbol: bbdb/gnus-split-nomatch-function – Variable: *This function will be called after searching the BBDB if no place to

Keeping in touch

Today was a day for catching up with old friends. I spent an hour
catching up with Clair Ching over the webcam
this morning, and another hour with
Kendra Castillo in the
evening. It was good to talk to them again. Many of the things we’ve
gone through or are going through are surprisingly similar. =)

Random Emacs symbol: gnus-group-make-help-group – Command: Create the Gnus documentation group.

okay, so what’s involved in this trapeze thing?

i like watching the other students. i would like to be able to do the
kinds of stuff they do, someday. or at least simple things that look
elegant. and i want to develop upper-body and core strength,
coordination, and a terrific story. ;)

so, what do i need?

gah. all of the above.

maybe i’ll go to trapeze once a week and spend two to three times a
week working on core and strength. the jungle gym near the house will
help me develop calluses, at least until it freezes over. i need to do
more crunches and pushups, too, until i can eventually graduate to
chin-ups.

we have a plan.

Random Emacs symbol: custom-initialize-safe-set – Function: Like `custom-initialize-set’, but catches errors.

Can’t type

my palms are wide awake and revolting. just came back from trapeze
lessons. lots of fun. have a long way to go. good teacher—very
supportive. odd that i like this more than krav. good practice in
facing terror and working through it. looking forward to developing
calluses. skin shiny.

kudos to w- for coming with me to help me feel safe, and to j- for
giving it a shot.

next week, work on calluses.

Random Emacs symbol: compilation-setup – Function: Prepare the buffer for the compilation parsing commands to work.

Switched to PCFinancial for savings

I sent a void check to PCFinancial to set up a link between
PCFinancial and TD. I followed up on the phone today, and the link was
created. Now I can transfer funds between my PCFinancial accounts and
my TD checking account.

This means I can move all the money I formerly had in my TD savings
account into my PCFinancial savings account without dealing with
checks. I don’t mind a hold on funds if they’re going straight into my
savings account. I can also transfer funds from PCFinancial to TD in
order to pay off my credit card without having to go to the bank and
deposit a check myself.

I need to follow up with PC in six months to get shorter holds on my
deposits, which I could have set up last year if I thought about it.

Slowly figuring this out. It doesn’t hurt that PC upped its savings
rate to 4.25%. =)

Random Emacs symbol: gnus-summary-low-ticked – Face: Face used for low interest ticked articles.

Emacs and Google Calendar; writing for a moving target

While searching for Emacs calendar sync, I came across Bill Clementson’s post on Emacs and Google Calendars. He showed how to use the Emacs Client for Google Services to add items to the Google calendar and to the local diary file at the same time. I might look into that.

The WickedCoolEmacs book may take a little more work than expected. I
want to include not only what’s already out there, but what logically
makes sense to include—and that might take some hacking on my part as
well. With a little over a year to go before my deadline, I’m sure
that Emacs will also move quite a bit. I think the best thing to do is
to divide my outline into:

  • Built-in packages that I have personal experience with
  • External packages I have personal experience with
  • Built-in packages I need to learn about
  • External packages I need to learn about
  • Built-in packages I need to tinker with
  • External packages I need to tinker with
  • Stuff I have to write from scratch

If I can get all the low-hanging fruit during my first pass, then I
can go back and re-edit the chapters to include more.

Random Emacs symbol: ebnf-print-directory – Command: Generate and print a PostScript syntactic chart image of DIRECTORY.

planner-appt

Now that I’ve taken a closer look at it, I can see that planner-appt’s
much cooler than the little hacks I’d been using to keep track of my
schedule. I’m still not sure if I need a separate schedule section,
because I’ve gotten used to managing my appointments in my task list.
It’s nice to know that the option is there, though, and I like how
color-coding makes it easy to see which appointments are past and
which ones are coming up.

Here’s my config for planner-appt.el:

;;;_+ Appointments
(require 'planner-appt)
(planner-appt-use-tasks-and-schedule)
(planner-appt-insinuate)
(setq planner-appt-update-appts-on-save-flag t)
(setq planner-appt-sort-schedule-on-update-flag t)
(setq planner-appt-schedule-cyclic-behavior 'future)
(setq planner-appt-task-use-appointments-section-flag t)

I wonder how I can go about exporting my appointments… <muse>

Random Emacs symbol: x-uses-old-gtk-dialog – Function: Return t if the old Gtk+ file selection dialog is used.

Can’t help but teach

Learning about learning was how I found out that attitude can make
such a difference. In particular, the research on women and
math/science education showed me how much influence attitude and
self-esteem had on girls’ decisions whether they would take university
courses involving math and science. Attitude and self-esteem, on the
other hand, could be greatly influenced by teaching practices and
reinforcement.

I saw this clearly when I was teaching computer science to first-year
university students. Some students faced each challenge with
excitement. Others were frustrated. The more frustrated they were, the
further they fell behind. I could hear some of them slipping away.
Yes, I tried my best to reach them. I’d walk around and come up with
in-between exercises to help students gain confidence by mastering
small parts of lessons. I looked for creative ways to make concepts
concrete. My very first lesson wasn’t about writing code – it was
about cooking spaghetti! (We got a lot out of that!) I kept looking
for opportunities for positive reinforcement and I helped people keep
moving forward by focusing on what they can learn in order to do
better.

It didn’t always work, and when it didn’t work, the self-doubt in
their voices and on their faces almost physically hurt. It wasn’t
because I was disappointed that not all of them fell in love with
computers. Even if some of them were probably better-suited to another
field, I wanted to leave them with a good feeling about their
problem-solving skills—and halfway-decent problem-solving skills as
well, of course.

But yes, attitude. That feeling of “Yes, I can do this.” Or even just,
“Yes, I’ll be able to figure it out.” Or at the very least, “This
might not be my thing, but I’m okay.”

I guess that’s why, when I hear frustration possibly turning into
self-doubt, I feel an irresistable urge to teach, to try different
approaches. A little frustration isn’t a bad thing. I’ve learned a lot
by wrestling with problems. But when it threatens to go from “I’m
having a hard time solving this,” to “I can’t get the hang of this,”
to “I suck,” I find myself up and out of my chair before I know it.

Is this a good thing? I don’t know. This compulsion of mine regularly
drove me to doubt my own skills when I was teaching. After class, I
could often be found huddled under my desk munching on an emergency
stash of chocolate. But I’m glad I cared, and I’m glad that I still
do. I’m glad that this caring forces me to be creative, to get out
there and learn how to do things well, to think on my feet.

And here, now, even if I’m “teaching” a class of one, even if I don’t
really have to teach… I can’t help it. I’m addicted to that aha!.
All teachers know what I’m talking about—that moment that makes
everything worth it, that reason why you keep pushing yourself
forward. =)

Random Emacs symbol: bbdb-pop-up-display-layout – Variable: *The default display layout pop-up BBDB buffers, i.e. mail, news.

Plywood boxes

By default, objects created in Second Life are plywood boxes. I’m not
really interested in learning how to making these cubes look like
anything in particular. I’m just interested in making them do cool
things. Someone else can put time and effort into making a replica of
a real-world object or a fantastic new device… I’m just here to play
around with programs. =)

Stephen Perelgut wanted a structured interviewer that collected data
in-world instead of requiring people to fill out a notecard or leave
Second Life and fill out a web-based form. So today, I built an
interview-bot which asks a series of questions and stores the answers.
Avatars can click on the bot to start, and can resume this
“conversation” at any time. Chatting on a separate channel means that
answers are reasonably private. The data is stored in the object and
can only be retrieved by the object’s owner.

In order to build this, I learned a little bit about how to work
around Second Life’s data limitations. You see, the Linden Scripting
Language doesn’t have multidimensional arrays. Fortunately,
LSLwiki.net has a library for accessing multidimensional arrays by
packing and unpacking lists of lists, encoded as strings. The library
is kludgey, but as long as my code looks relatively neat, everything’s
okay.

Future versions of this interview-bot will allow avatars to review,
change, and submit their answers through the Web or through e-mail. I
also hope to make it easy for owners to customize the list of
questions. A notecard would do nicely for setup. I can also make it
easy for owners to get a notecard of results.

It was fun programming the scripted object, and even more fun chatting
with the other IBMers. I met a number of interesting people today
thanks to awesome connectors like Andy Piper and Stephen Perelgut.
I can’t wait to build other interesting things in Second Life!

On Technorati: ,

Random Emacs symbol: planner-read-non-date-page – Function: Prompt for a page name that does not match `planner-date-regexp’.

Flew a kite today

We enjoyed a long weekend because of Canada Day, so we had enough
leisure time to make a kite out of bamboo sticks and plastic. We had a
hard time flying it in the chaotic breeze, but it was good fun anyway.
I also practiced on the devilsticks. I’ll get the hang of it yet.

Random Emacs symbol: muse-xml-charset-default – Variable: The default Xml XML charset to use if no translation is

Why do people cry at airports?

Why do people cry at airports? I don’t know, but I know that something
tore up inside me as I pushed Quinn towards Security, half-jokingly
telling her to go before I started crying. I hadn’t meant to cry. I
was trying very hard not to. But as I saw her walk past the clouded
security wall, I missed suddenly, fiercely, the friend I had gotten to
know this past year – and the me I had gotten to know this past year.

Silly me, I told myself as I wiped my tears. It’s not as if she’s
dying. She’s going back home to Vancouver. It’s only the other side of
the country. We’ll keep in touch through hand-written letters and
Facebook pings. It’s not as if she’s gone. And we’d had weeks and then
days and then hours to get accustomed to the idea of goodbye. Silly
me, I told myself, as I kept trying to blink away the blurriness.

When she reads this, I’m sure that she’ll tell me to allow myself to
be sad. It was never something we shied from. Sadness was always
something to reflect on that would tell us more about ourselves and
the world around us. She was someone with whom to turn issues over as
if examining rough stones to see the light and shadow, someone with
whom to gradually polish these experiences into rounded fragments of
insight, someone with whom I could more fully understand that the
inevitable goodbyes make the time we have all the more precious.

And our adventures! All those unwritten and indescribable moments! I
remember a greeting card that read, “We’ll be friends forever. You
know too much.” Yep, that would be us.

Thinking of those moments, I cried on my way back to Kipling Station.
I let myself grieve for the loss of immediacy. It will be a long time
before we can call each other up for a quick dinner or catch an show.
It will be a long time before I can try to massage the knots out of
her tense shoulders after one of those days at work. It will be a long
time indeed.

As I write, I feel myself tearing up again—for this sudden distance
between now and when she reads this.

But just as earlier I found myself smiling through the cooling tears,
I find myself smiling now. How lucky I am to have met such a wonderful
friend through such a chance meeting. Of all the people in the
city—of all the days we could have volunteered—and of all the little
quirks in our past—how amazing that we met. How wonderful it was to
share this time with her.

She should be landing in Vancouver soon, and she’ll pick up the life
she suspended there. New challenges wait for both of us, and we have
friends and work enough to keep both of us busy. But I’ll miss her
anyway, and I’m glad I met her that Friday not so long ago.

(And what retrospective would be complete without blog references?)

So long, and thanks for all the fish!

Random Emacs symbol: calendar-forward-week – Command: Move the cursor forward ARG weeks.

Books, books, books

I checked out an armload of books from the Toronto Public Library
today, indulging in a little fiction (ah, Regency romances with their
ever-so-proper heroines!), growing my mind with business books,
enriching my soul with reflections on life.

Hmm. I’m starting to strongly feel the need for a bookshelf. Actually,
le’s start with a shelf that can double as a work surface or food
serving surface, at most 162 cm long, 59 cm wide, and 90 cm tall.
Preferably a bit lower, because I find that lower counters are easier
for me to cut on. Also, I would like an adjustable shelf so that I can
use it to store books, games, and serving stuff.

Books would be nice to keep around. Then I can add a new note to my
tea parties. People who feel the need to drop out of the conversation
temporarily in order to recharge can read books without any social
stigma… ;) Because my place is so small, they can’t actually get
isolated from the conversation. They’ll still hear everything that’s
going on, and they can jump in any time they want to rejoin the
conversation.

But yes, books and a book case for this book-nutcase… =)

At the Hong Kong International Airport

I’m at the HKIA. I’ve snagged a sleep pillow from one of the airport
shops. I couldn’t find a buckwheat lavender-scented sleeping pillow,
but I guess that was pushing my luck. ;) I ended up choosing between a
Samsonite dual-cushion pillow and a standard-looking Korjo one. The
Korjo pillow won because I had *just* enough Hong Kong dollars to buy
it and I didn’t feel like converting money. This should make the
return trip easier.

So, what’s the plan?

I’m not going to get really good sleep. So much for my pimples. I’ve
broken out into pimples because I’ve been drinking too little water
over the past few days, but I plan to schedule an appointment with the
dermatologist as soon as I can. I tend to break out badly during
periods of high stress, low water, and little sleep… which is just
about every long trip! Ah well. =)

There are a few movies I wouldn’t mind catching. Marcelle will be
happy to know that The Prestige is available, and I’m definitely going
to catch that. I need to plan so that I don’t have jetlag, though, as
I have quite a full weekend ahead.

I’m going to land in Toronto at 8:50 PM, so I should be awake for
maybe 12 hours during the flight. So four hours of sleep at the
beginning, maybe a little more because of all the interruptions, and
then I’ll spend the rest of the time watching movies and writing.
And drinking plenty of water and walking around, too.

Ah, timezones…

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

All my bags are packed

Props to my mom for mad repacking skills which allowed us to cram even
more dried mangoes into my luggage.

Random Emacs symbol: muse-current-file – Function: Return the name of the currently visited or published file.

Ay, my dad… Fireworks!

My dad sounded *so* disappointed earlier! He trudged up the stairs and
said, “Sacha, I’m so sad…”

I looked up from my computer and asked him what was going on.

The second World PyroOlympics is coming up soon, and he had really
wanted to go and shoot it. He was so excited! He had shot it last year
(a story in its own right), and he wanted to talk his way into press
access for the event. But my dad didn’t want just any kind of press
access. He wanted to find out if he could get away with, say,
representing a horse breeders’ magazine… ;) Why? Just for the sheer
heck of it!

So he… obtained… a press pass (don’t ask how) and was about to hit
them up for access when one of the organizers recognized him, shouted
his name and called him over. It turned out that the organizers had
lost my dad’s business card, so they couldn’t get in touch with him,
but they wanted to invite him to the VIP area for the fireworks
festival. With dinner and everything!

He went home with an envelope containing an invitation for “John Chua
and Family”. Just for showing up. He didn’t even need to talk about a
fictional horse-breeder magazine. But he was *so* disappointed!
Imagine that! Preparing an outrageous setup, getting all excited about
seeing just how far he could push the universe, and the universe just
handed him the prize on a silver (or at least nice porcelain) plate!

Ay, my dad… You think I’m crazy? ;) You should meet *him!*

On Technorati:

Random Emacs symbol: minibuffer-local-map – Variable: Default keymap to use when reading from the minibuffer.

Checking my financial course

I must be doing something right if my mom’s financial advisor is
impressed by my planning. ;)

We visited Tina at the bank today. After my mom finished a little
business, I took advantage of the free financial advice. I told Tina
about the money I’d earmarked for various expenses, the emergency fund
I’d set up, and the savings I set aside. She was glad to hear that I’m
already thinking about all of these things at 23 years of age.

Tina recommended a split between a diversified balance fund and a
high-risk, high-growth equity fund. Asian equities are doing pretty
well, although the foreign currency hit and the fees for transferring
money probably mean that I should keep Canadian money in Canada for
now.

It’s good to know that I’m on course, and to get an idea of what’s
coming up ahead. I’ll keep money in a liquid high-interest savings
account first because I don’t know how much I’ll need when I
transition into the working world. I will probably want to furnish a
place, update my wardrobe, get used to a new lifestyle, etc. I know
I’ll feel satisfied if I can cover all of my startup costs and restore
my emergency fund without taking stuff out of my investment fund.

When the dust settles, I’ll look into the investment options. My next
milestone would be three to five years out, when I decide whether to
stay in Toronto or move on. I like what my mom did with our place on
Bautista: rent the house until she decided to buy it. It seems like a
good way to get a feel for a place. We’ll see. But I should be able to
diversify into really-long-term (retirement or 10+ years), medium (3-5
years), and liquid assets.

I pay attention to stuff like this because I would hate to waste these
great opportunities through mismanagement. Besides, sorting this out
early takes less effort than dealing with the consequences of bad
planning. =) And it’s fun! I like seeing my books balance. I like
knowing that the basics are taken care of and that there’s some room
to take crazy chances and follow my intuition. I like abundance and
growth…

Random Emacs symbol: pop-tag-mark – Command: Pop back to where M-. was last invoked.

You only live once!

… and each night is as important as every other night, and each day
is as important as every other day.

I’m going to be audacious and ask IBM for what I need to do even
better on my thesis. I don’t know if it’s going to blow up. It’s hard
to finetune subtle things over e-mail. But whatever happens, I’m
better off trying the outrageous than letting things slide. If it
turns out to be a mistake – well, I’ll learn, and there are other
opportunities I can pick up. But I need this, and I deserve to do work
I can be proud of!

Random Emacs symbol: buffer-file-type – Variable: Non-nil if the visited file is a binary file.

Still getting horrible packet loss for international sites

0% packet loss to www.pldt.com.ph, 71% packet loss to www.google.com.
The international links are still broken. ARGH.

Good thing my dad has stopped jokingly blaming the slow Internet on me… ;)

Random Emacs symbol: typecase – Macro: Evals EXPR, chooses among clauses on that value.

My alma mater is t3h c00l

I heard from Gabby Dizon that Ateneo de Manila University will use the popular cross-platform roleplaying game Neverwinter Nights to help students learn programming (scripting, in particular).

Awesome.

Random Emacs symbol: hash-table-rehash-size – Function: Return the current rehash size of TABLE.

The secret to waking up early

Woke up at 6 today. It’s getting easier and easier.

I discovered the secret to waking up early!

Sleep in the same room with someone who snores. ;) This guarantees
that you’ll be early to bed, early to rise…

Random Emacs symbol: days-between – Function: Return the number of days between DATE1 and DATE2.

No ACM!

Oh no! I tried using the ACM Digital Library through my
library access
earlier, and I couldn’t get full-text access. I’ve sent my research
supervisor a panicky e-mail. While he’s solving that problem, I’ll
focus on designing my research study.

Random Emacs symbol: bbdb/gnus-split-crosspost-default – Variable: *If this variable is not nil, then if the BBDB could not identify a

Learning a foreign language

Another idea for the activity matrix: learning a
foreign language. Japanese? Spanish? Maybe Spanish – I know a few
people who can practice with me.

Or maybe I should get more deeply into Ruby…

Random Emacs symbol: mouse-autoselect-window – Variable: *Non-nil means autoselect window with mouse pointer.

Tweaked blog design

I tweaked my blog design slightly, using a real-life photo instead of
my icon and taking a few things off my sidebar. I might even add
accesskeys one of these days. Who knows…

Random Emacs symbol: mail-extr-disable-voodoo – Variable: *If it is a regexp, names matching it will never be modified.

In other news…

I’m back on the wagon of tracking every expense. There’s a certain
satisfaction in knowing that every cent is accounted for. This time,
I’m using John Wiegley‘s excellent
Ledger command-line accounting
tool. It works with plain text, of course.

I’ve just figured out how to do my fancy earmarked accounting thing.
I’ve partially sorted out my cashflow, but I’m not sure how much I’m
supposed to receive over the next few months or what’ll happen when I
start working. For peace of mind, I’ve earmarked enough money to cover
tuition, rent, and food.

I want the earmarked money to be tracked separately from my real
savings so that I know how much money I can actually touch, but I want
to leave it in my regular high-interest savings account so that I can
earn interest on the whole amount. So I need two reports: one showing
what I can consider free and clear, and another that reconciles with
the account summary from the bank (includes earmarked accounts).

Here’s the transaction setting up earmarked rent:

10.28 Earmarked for rent
   [Savings:Earmarked:Rent]      $4365
   [Assets:Savings:PCFinancial]

and every so often, I’ll post transactions that look like this:

11.02 * PCFinancial ; Transfer for rent payment
   Assets:Savings:PCFinancial     $-485
   Assets:Checking:PCFinancial    $485
   [Assets:Savings:PCFinancial]   $485
   [Assets:Checking:PCFinancial]  $-485
   ; Automatically transfer rent money from Savings to Checking ($485)
   ; This is still part of my earmarked savings until it goes out of Checking
   ; So ledger -s -c bal shouldn't show it as part of my real checking account
   ; or my savings account, but as part of Savings:Earmarked
   ; but ledger -R -s -c bal should show an increase in checking and a decrease in savings
11.05 ! University of Toronto
   Assets:Checking:PCFinancial    $-485
   Expenses:Rent                  $485
   [Savings:Earmarked:Rent]      $-485
   [Assets:Checking:PCFinancial]  $485
   ; Now decrement my earmarked savings
   ; And make sure that Checking reflects actual balance
   ; And that savings is unchanged from before with virtual transactions

The ! signifies a pending transaction that has not yet been cleared,
while * signifies a cleared transaction. ledger can do
partially-cleared transactions too. This is pretty nifty.

Makes me want to have more to track…

On Technorati: ,

Random Emacs symbol: shell-script-mode – Command: Major mode for editing shell scripts.

Hack Night

A few days ago, I posted a matrix of
great ways to spend time.
Simon liked the idea, so last night, we held a Hack Night – a concentrated pair-programming sprint to make something cool.

We both wanted to play around with the Google Maps API. What better
way to learn how to use it than to prototype a new interface for his
voice messaging system that would allow users to select phone numbers
by drawing polygons?

I’d told him about the point-in-polygon algorithm some time ago.
(Hooray, formal computer science education!) He found a Perl program
that implemented the algorithm, and had also put up a simple
experiment using Google Maps and draggable markers.

While he wrapped up some other stuff, I brought myself up to speed by
quickly flipping through tutorials and mailing list archives. I
must’ve browsed through fifty or a hundred pages – not reading for
full comprehension, just indexing it so that I’d know what was out
there and where to find things.

Along the way, I found several resources that were just what we
needed. Several mailing list posts spoke highly of PostgreSQL’s
geometric operations, which meant that we could replace the Perl
script with a very efficient SQL operation. I also found a user
interface that was exactly like the design Simon wanted to make.

Assembling the pieces was really easy. We ripped out the code we
didn’t need and tweaked the script to do what we wanted. It was a lot
of fun pair-programming with him. I still haven’t gotten the hang of
his keyboard layout, so he did most of the typing. (The keyboard was
straightforward QWERTY, but the Powerbook layout means I hit the
function keys by mistake all the time.) I kept an eye out for little
errors and thought about what to do next. Sometimes I kicked him off
the computer in order to try something out. (When I had to hit
Ctrl-Option-Shift-S to save the file over FTP, I grinned and suggested
that Emacs would be far less RSI-inducing.)

Great results for a two-hour Hack Night. We wrapped up at midnight
because I had breakfast plans, so I couldn’t stay up too late. We
couldn’t help talking about ways to optimize it, though – using a
synthetic integer primary key to speed up joins, denormalizing the
database, etc. It was a lot of fun working on that with him, and I
look forward to other Hack Nights.

So yeah, I’m a geek’s dream. <laugh> And this Hack Night thing?
Well worth repeating. Maybe we can hack on my research prototype next…

On Technorati:

Random Emacs symbol: nobreak-space – Face: Face for displaying nobreak space.

Contact report

I started tracking e-mail sent on 2006.09.01 with a
nifty piece of Emacs Lisp code I wrote just for the
purpose. Now I have two months of interesting data which include not
only e-mail but also the occasional in-person contact or phone call
that I remember to note. It’s not complete – e-mail’s the only thing
that gets automatically tracked – but it does give me interesting
information. Here’s the contact report for your amusement:

Contact report

It’s sorted by overall frequency and then by regular frequency.
Warning! Parentheses follow.

(defun sacha/count-matches (regexp string)
  (let ((count 0)
        (start 0))
    (while (string-match regexp string start)
      (setq start (match-end 0)
            count (1+ count)))
    count))

(defun sacha/bbdb-contact-report-as-alist (&rest regexps)
  "Creates a list of (name count-regexp1 count-regexp2 count-regexp3)..."
  (setq regexps (reverse regexps))
  (delq nil
        (mapcar
         (lambda (rec)
           (when (bbdb-record-name (car rec))
             (let ((reg regexps)
                   (notes (bbdb-record-notes (car rec)))
                   list)
               (while reg
                 (setq list (cons (sacha/count-matches (car reg) notes)
                                  list))
                 (setq reg (cdr reg)))
               (cons (sacha/planner-bbdb-annotation-from-bbdb rec)
                     list))))
         bbdb-records)))

(defun sacha/bbdb-alist-sort-by-total (alist)
  "Sort ALIST by total contact."
  (sort alist 'sacha/bbdb-contact-sort-predicate))

(defun sacha/bbdb-contact-sort-predicate (a b)
  (and a b
       (let ((count-a (apply '+ (cdr a)))
             (count-b (apply '+ (cdr b))))
         (or
          (> count-a count-b)
          (and (= count-a count-b)
               ;; If equal, look at the subtotal of the rest
               (sacha/bbdb-contact-sort-predicate (cdr a) (cdr b)))))))

(defun sacha/bbdb-kill-contact-barchart (alist)
  "Kill a barchart with the contact report for ALIST."
  (kill-new
   (mapconcat
    (lambda (entry)
      (concat
       (car entry)
       " | "
       (mapconcat (lambda (count)
                    (if (= count 0)
                        " "
                      (make-string count ?-)))
                  (cdr entry)
                  " | ")))
    alist
    "\n")))

;; Usage: (sacha/bbdb-kill-contact-barchart
;;         (sacha/bbdb-alist-sort-by-total
;;          (sacha/bbdb-contact-report-as-alist "2006.09" "2006.10")))
;; Then yank (paste) this into another buffer

On Technorati: , , , ,

Random Emacs symbol: standard-display-cyrillic-translit – Command: Display a cyrillic buffer using a transliteration.

Microsoft evangelism – tempting!

I had hot chocolate and a terrific conversation with
John Oxley, director of community evangelism at
Microsoft Canada. He told me about Microsoft evangelists. It seems
like such a terrific fit! And the phrases he used – finding heroes,
telling stories – resonate with what I want to do. I’m looking forward
to exploring that opportunity. Perhaps we can co-adapt. I’d love to
work on skills that they’d find useful, and they can adapt the job
description to take advantage of my background and interests.

I was glad to hear that they’re coming around to seeing people as
people instead of just as consumers. ;) I love how companies are
gaining faces. They may have lost Robert Scoble, but they’ve learned
the importance of having human connections! John said that they’re
moving more towards thinking of relationships, which is one of the
things I’ve gotten really interested in.

In the course of the chat, John asked me what languages I program in.
I rattled off a few – Emacs Lisp leading the list, of course. He had
seen my resume online, so he knew that practically all of my
experience was with free and open source software. I told him that was
because open source was how I could work on things that mattered, even
as an undergraduate in a Third World country. I loved learning from
other people’s code, and I still do. Microsoft won’t—can’t!—make me
spread fear, uncertainty and doubt about open source. =)

What about IBM? If I can do Enterprise 2.0 evangelism, then it would
be tremendously exciting to get in on the ground floor and help shape
the technology. I’ve gotten to meet so many amazing IBMers through
blogging and social bookmarking, and that kind of a connection isn’t
just something to walk away from! I also really, really enjoy mashing
together all the Enterprise 2.0 services. =) If IBM can help me make
*just* the right career for myself, then they’ve got dibs on my brain
for taking that chance on me and giving me all these wonderful things
to play with.

IBM doesn’t quite have an evangelist track, though. I’ve been advised
to look into technical pre-sales or business analysis. If Microsoft
comes up with something that’s an even better fit for my interests and
goals, I’ll consider them. After all, they have “evangelist” as a
proper career path! =) I really want to be around lots of other people
who do what I do or want to do, and I’d love to go to conferences and
summits to meet other developers and evangelists.

John asked me what I wanted in a position. I want products and
services that I’m passionate about and people I love working with. I
want to get out there, meet people, and help them succeed by
connecting them with other people I’ve met, showing them tools they’ll
find useful, and supporting them as they figure things out. I want to
always be learning something new, always be playing around with
something cool. The more I learn, the more I can give to more people.
I want to be part of the community, and I want to help start
communities elsewhere. I want to bridge worlds. I want to tell stories
about the cool stuff other people are doing, and what people can do.

I like the picture John painted of evangelism. I’m going to do
something like that. What company I do it with depends on a number of
factors: the specifics of the career, how I feel about the company’s
solutions, the connections I have, the testimonials of other people
within the organization… I’m looking forward to sorting that out
next year! If I go with Microsoft or another company, that’s okay – I
think I’m creating enough value for IBM to make my fellowship more
than worth it, and I’m going to keep ties with them. =)

Here’s a sample job ad for the “enthusiast evangelist” position John
mentioned. This isn’t for Microsoft Canada, but it gives a good idea
of the kind of work involved.

Come join the team that is changing the way Microsoft is connecting
with influential end users as an Enthusiast Evangelist for the EMEA
(Europe, Middle East and Africa) Headquarters. Our connection with
“influential end users” lies at the center of Microsoft’s continued
long term success as a platform company.

Candidates will be young graduates coming from a technical, marketing,
media or other appropriate background and can prove to have a deep
passion for technology. Participants must have excellent English and
interpersonal communication skills.

Candidates are strategic thinkers, able to balance individual
creativity with working as a team and will have a high degree of
customer and partner focus.

We have created for you a program called MACH (Microsoft Academy for
University Hires). Of this program, the candidate will participate in
the Marketing programme which is a two-year international graduate
course that will make the graduate familiar with the marketing culture
at Microsoft.

The first year is structured academy training, and the second focuses
on career development. The programme is for participants with less
than 18 months of work experience. Though challenging, they equip the
participants with the skills and know-how required for a rewarding
career.

Required Profile

  • Passionate about digital lifestyle and rich consumer experiences across different mediums and technologies.
  • Individuals may come from either a technical, marketing, media or other appropriate background.
  • A deep strong understanding of this end user community proven by participation in online communities and/or user groups.
  • Flexibility in regards to work schedule and travel.
  • Solid understanding of the competitive products (hardware and software) and how to differentiate Microsoft from its competitors.
  • Strong communication and negotiation skills.

Candidates are born communicators with a passion for, and solid
knowledge of the influential end users, the blogosphere and online
media and most things that are part of the Digital Lifestyle.

The candidate will need to show the potential to develop strong
leadership and program management skills as well as cross group
collaborations skill and knowledge of the field.

To be successful, this candidate will need to show pragmatism and
willingness to roll up the sleeves and get the job done!

I’d love to talk more with people in both companies doing the kind of
stuff I want to do so that I can get a better idea of what it’s like.
But yeah, exciting times…

On Technorati: ,

Random Emacs symbol: gnus-summary-catchup-and-goto-next-group – Command: Mark all articles in this group as read and select the next group.

So many resources!

Every so often, I just stop and wonder what I’ve been doing with my
time. This usually happens when I go on an academic reading spree and
I rediscover just how amazing it is that the University of Toronto has
full-text access to almost everything.

I’m *so* tempted to scale back everything as much as possible and just
pack lots and lots of information into my head. ;) I want to take
advantage of all the magazine subscriptions and the huge library just
two blocks from my residence.

I love reading!

Random Emacs symbol: gnus-summary-article-header – Macro: Return the header of article NUMBER.

43folders blogger and GTD guru Merlin Mann in Toronto tomorrow

Merlin Mann of 43Folders and uber-cool GTD/productivity lifehacking
will be in town for a podcast tomorrow (Tuesday).
http://upcoming.org/event/111696/

I will probably not be able to go, or if I do, I’ll be cramming for
school in the background. But go and have fun!

Random Emacs symbol: auto-coding-alist-lookup – Function: Return the coding system specified by `auto-coding-alist’ for FILENAME.

Must be a better way to reserve books at the library

I’m going on another reading spree, this time on relationship
marketing.

At some point in time, I will be annoyed enough to write a non-(mouse
and pageload)-intensive way to say “Request all selected books and
have them delivered to my nearest branch.”

Argh. Little inefficiencies like that annoy me. That is so getting
hacked. Probably during CASCON, even.

Random Emacs symbol: Info-edit – Command: Edit the contents of this
Info node.

Crazy Emacs: Personalized signatures with random taglines

Of course, that naturally leads to the crazy idea: “What if I can
personalize my signatures?” Knowing that Paul Lussier is an Emacs geek, I can reward him for reading all the way
to the bottom of my message… ;)

(defun sacha/gnus-personalize-signature ()
  "Personalizes signature based on BBDB signature field.
BBDB signature field should be a lambda expression.
First person with a custom signature field gets used."
  (let* ((bbdb-get-addresses-headers
          (list (assoc 'recipients bbdb-get-addresses-headers)))
         (records (bbdb-update-records
                   (bbdb-get-addresses
                    nil
                    gnus-ignored-from-addresses 'gnus-fetch-field)
                   nil
                   nil))
         signature)
    (while (and records (not signature))
      (when (bbdb-record-getprop (car records) 'signature)
        (setq signature
              (eval (read (bbdb-record-getprop (car records)
                                               'signature)))))
      (setq records (cdr records)))
    (or signature t)))
(setq-default message-signature 'sacha/gnus-personalize-signature)

So then all I have to do is add the following field to his record:

      signature: (concat "Sacha Chua - Emacs geek
                 What crazy idea can I help you hack next?
                 Random Emacs symbol: "
                 (sacha/random-tagline
                  "~/.taglines.random-emacs-symbols"))

Emacs. One crazy idea at a time. Now I can use this to select random
information, like my favorite networking books or a list of my
upcoming events…

On Technorati: , , ,

Random Emacs symbol: sort-coding-systems-predicate – Variable: If non-nil, a predicate function to sort coding systems.

Crazy idea for Emacs: Random Emacs taglines

Would anyone happen to know of a way to select a random symbol with a
description?

Actually. Hmm.

(progn
  (apropos ".")
  (write-file "~/.taglines.random-emacs-symbols")
  (delete-matching-lines "Plist")
  (delete-matching-lines "not documented")
  (replace-regexp "\n  " " - " nil)
  (delete-non-matching-lines " - "))

Et voila! Random Emacs taglines together with the code:

(defun sacha/random-tagline (&optional file)
  "Return a random tagline and put it in the kill ring."
  (interactive)
  (with-current-buffer (find-file-noselect (or file "~/.taglines"))
    (goto-char (random (point-max)))
    (let ((string
           (buffer-substring (line-beginning-position)
                             (line-end-position))))
      (kill-new string)
      string)))

(defadvice remember (after sacha-tagline activate)
  "Add random tagline."
  (save-excursion
  (goto-char (point-max))
  (insert "\n\nRandom Emacs symbol: "
          (sacha/random-tagline "~/.taglines.random-emacs-symbols")
          "\n\n")))))

On Technorati: , ,

Random Emacs symbol: eshell-remove-entries – Function: From PATH, remove all of the given FILES, perhaps interactively.

Sweet! The Peer Review: Graduate Studies and Academic Life

I opened my mailbox to find a small publication called “The Peer Review: Graduate Studies and Academic Life.” The cover advertised an article on “The Ultimate Guide to Scholarly Publishing: Editors of leading journals tell you how to make sure your research gets published *before* you hit the job market”. It continued: “Also inside: How to memorize all of your students’ names in just one class: + why some students hate new ideas (and what to do about it).” The trailer: “Grad research: The nurture of your true nature… do fish have feelings?”

I should just take a picture of it, really. ;)

I’m sold. I don’t remember signing up for this, but the first thing I thought was, “This is a terrific idea.” The second thing I thought was, “How can I help with this?” The third thing I thought was: “How can I send them warm and fuzzy thoughts for a job well done?”

So I’ve left voicemail (although the office will be closed for a few weeks), blogged this entry, and sent enthusiastic kudos to the Peer Review folks. I would totally subscribe to this in order to keep more of this content flowing, and I would love to write for it as well.

Check it out. A casual flip-through reveals both good U-of-T-specific
content as well as lots of other helpful things.

The Peer Review

Now I’m thinking: how can we syndicate this idea to lots of other
universities? I’m sure other universities have some kind of serious
grad-student-oriented bulletin…

Also of note: East West Books

I picked up a pretty set of postcards from East West Books in New York City (78 Fifth Avenue at 14th). The bookstore feels great. Check it out if you find yourself in the area. It’s open daily from 10 AM to 9 PM. http://www.eastwestnyc.com , +1 212 243 5994.

On Technorati:

Places to eat in New York City

Things to remember next time I’m in New York: Jim Suto highly
recommends Little Lad’s Restaurant and Cafe, which has a USD 2.99
vegan buffet special (eat-in) of homemade soups, salads, entrees, and
breads. 120 Broadway downstairs. Totally vegan – no animal products.
Way cool!

On Technorati:

Poetry

One of our friends blogs poetry between stories of his work. It’s always interesting reading, although you wonder sometimes if you should probe further…

Life!

Since childhood, I have had a gift for working with computers. For a
while, this seemed like the perfect fit for my life. My grade school
teachers were not surprised to find me interested in computers in high
school. My high school teachers were not surprised that I took
computer science in university. One of my university teachers told me
I’d do well in “hard” computer science and encouraged me to go for a
master’s degree, maybe even a PhD.

But I am also awakening to a gift I have with people. I want to reach
millions and millions of people over generations and generations. I
want to lift them up, inspire them, share my experiences with them.
I want to tell their stories and help make their dreams come true.
This is what I want to do with my life.

I don’t want to wait until I’ve made my money before I do good. I want
to get out there and live and love and do and write and speak and
share. I will keep my needs simple, my schedule flexible, and my
overhead low so that I can spend as much time as possible developing
myself and other people.

I belong to the world not just as a mind, but also as a heart, and I
will make a life that allows me to express both.

So, concretely, how can we make this happen?

  • I want to repay the trust the university has shown in me by finishing my master’s degree and doing well.
  • I want to set up a newsletter and topic-focused blog that inspires people and shares tips with them.
  • I want to write best-selling books. The second book will be easier than the first, so I should really just sit down, pull out material from my blog, do more research, and make this happen. Hey, maybe even before I’m 25. ;)
  • I want to be a totally awesome professional speaker. That way, I can reach *lots* of people with not only my message but with my communication style. It’s also a good reason to meet people around the world.
  • I want to set up an organization for generous connecting.
  • Lots more!

How can I make this self-supporting? I want to get as quickly as
possible to the point where I don’t have to worry about my expenses so
that I can follow these crazy ideas for free. Then I can build up my
crazy idea capital, and then we’re off!

The best way for me to do that is not to plan for retirement at 60
with a slow-and-steady savings plan, but to take advantage of my crazy
ideas, train my intuition, and get better at going from crazy idea to
reality.

If I open my mind and look for ways I can create value for other
people (like my networking business cards that list my favorite
networking books!), then I’ll probably be able to create enough value
to make the kind of life I want.

(Crazy idea! Trust in coincidence by having business cards with random
stuff on the back. Moo cards does this with Flickr photos. Why not do
that with whatever you currently want/have? I think business cards
should be short-run and current. That way, they’re more than just a
static piece of contact information, and you’ll have reasons to keep
giving people your cards and for people to keep reading yours! Maybe I
should start date-stamping my business cards… Ah, now there’s a
great idea…)

Right. That’s the ticket. I should keep a notebook of all these crazy
ideas. Probably a blog page *and* a paper notebook. Probably part of
my Moleskine. And I should go and make those crazy ideas happen, like
advertising on my laptop or tweaking my business card, etc.

I don’t mind giving the ideas away. I get terrific feedback. In fact,
if other people pick up the idea and run with it, that means I get to
train my crazy-idea sense for free!

Remember the movie Phenomenon? I want to be that guy, overflowing with
lots of ideas and improvements! I want to be someone you tell about
the cool stuff you’re working on because I’ll be enthusiastic about it
too, and I *might* just go “Hey, what do you think about trying out
…?”

Simon’s fantastic at designing systems from scratch. I’m good at
thinking about how to improve something that’s already there, finding
things to smoothen, noticing things that are missing… Come to think
of it, even my computing background points to this. Why do I love open
source development? Because I can build on what’s there! Why am I
totally addicted to Emacs? Because it indulges my crazy-idea thing!
Whee!

So I want the ability to explore all these crazy ideas even when I’m
working. I have lots of options in terms of the type of job, too.

  • A high-margin job that will train me up and take advantage of what I can do well and the crazy ideas I can come up with – marketing and sales, maybe?
  • A job that develops my skills even though it requires more work and concentration, such as writing. But not for long.
  • Something that pays for my expenses without demanding any mindshare, such as waiting tables ;) (Can’t do that on my work permit, though!)

Right. Getting a better sense of what I want in life. There we go. Does that sound like a plan? Let’s make it happen. =)

On Technorati: , ,

Compassion

I am also very, very lucky to have people who remind me that this
experience of great love is not yet universal. Some provide me with an
opportunity to be compassionate. Others remind me that I have been
extraordinarily lucky and loved, and that not everyone has the same
experience or awareness. Thank you for helping me grow as a person.

Reaching out and being human

Most of the time, I’m on the top of the world. People wonder where I
get the energy to be so enthusiastic and positive almost all the time.

Here’s the secret: I get that energy from other people. Being around
loving people fills me with great love, which spills over into
everything else I do and everyone else I meet. People don’t have to be
perkily happy. They just need to be real, and I’m lucky to be
surrounded by very real friends.

I get that energy from all the wonderful things around me, too. A
singing streetcar conductor. Sunlight glinting off a sign. Sentimental
letters. Crazy coincidences. My parents observed that it was very rare
for me to be disappointed or sad for more than twenty minutes or so.
What can I do? The world kicks in. =)

For longer-running, deeper-seated issues, though, sometimes I end up
returning to what threw me out of whack in the first place. Sometimes
the issue’s too big for me to deal with. When I’m running on empty,
that’s when the most amazing and wonderful thing happens: people and
the universe just infuse me with love (and, occasionally, vast
quantities of hot chocolate).

It never fails to amaze me how my moments of weakness are those which
draw me closer to other people. This is why I do not fight being sad,
do not deny it, do not hush it away or starve it of sunlight. The
other day, as Dan Howard comforted me, he said that he was glad that I
shared this with him. Before that day, I had seemed to be some
unapproachably, inhumanly happy person. Now our bond is stronger for
those tears: he knows more of me, and I know that he can know that me
and still be there.

The outpouring of warm and fuzzy thoughts from people I’d never even
met fills me with great gratitude and the determination to give even
more back to the world. My life has been too short and my work too
small for me to deserve the smallest fraction of the love I have
received, and so I am driven to be more and love more in order to
repay this tremendous debt—one of gratitude to the world. Not that I
ever can. The interest on this debt grows and grows. The principal of
it grows and grows. But it is a debt I am happy to labor under!

I am human, and these are the moments that make me love being so. I am
flawed, and as Quinn pointed out, that’s a wonderful opportunity for
others to show compassion—and for me to learn by their example.

Tim Sanders told me the story of how a reporter
once asked Albert Einstein what question he would ask if he knew he
would get an answer. Immediately—as if he had been thinking about it
for a long time—Einstein said, “Is the universe friendly?” To him I
would say: the world is not only friendly, but loving. To the world: I
love you too. I love you too. I love you too.

Waking up with wonder

I’ve figured out a great way to start my day. I love waking up to the
alarm on my cellphone, hitting the snooze button, and spending the
next five minutes slowly waking up and thinking of all the things that
make me happy and grateful to be alive. I also mentally sort through
my day and think of what I want from it.

Sometimes it takes more than one snooze button and sometimes I fall
asleep again. When I notice that I’m getting sleepier instead of more
awake, I focus on just doing the very next step: sitting up, for
example. I will graduate to doing this kind of five-minute meditation
sitting up, or maybe even over breakfast. I think it’ll be easier to
stay awake that way.

Speaking of breakfast, I need to clear out my part of the fridge and
go for more groceries…

Little joys

On the way back from Simon’s place last night, I took a streetcar with
a wonderful surprise. The streetcar driver sang out the stops in this
beautiful, beautiful voice! I was so tempted to take the car all the
way to Humber just to keep listening to him. On the way out, I told
him that I really wished I could tip on the TTC and that it was the
awesomest streetcar ride ever. I wish the other riders on the
streetcar were as appreciative. He deserved a lot of warm and fuzzy
thoughts!

I love it when people go above and beyond, turning even ordinary jobs
into something that brings joy to other people. I remember the
announcer for Delta Airlines at the Washington airport whose sense of
humor over the public announcement system made the four-hour delay so
worthwhile.

Wanted: real-time calendaring for get-togethers

My social calendar tends to stay relatively full. I have to
consciously schedule breaks into it because otherwise I just pack it
with stuff. Google Calendar’s monthly view is great for keeping things
sorta organized. I’m really, really tempted to write a social app that
makes it easier to manage these get-togethers – what Filipinos call
“gimmicks”.

Such an app would have a floating list of non-time-specific
activities, with people indicating interest or even availability.
People should be able to take events from that list and schedule it
onto a group calendar.

There should be *some* way I can easily manage having multiple
overlapping circles of friends. See, there’s a reason why I’d rather
blend groups!

And all of this, of course, should be available from a mobile
interface so that I can go from one event to another.

But that’s too much interface complexity, so it has to stay inside my
head. ARGH!

On Technorati: ,

A passion for social systems – clues to my next short-term step?

Each day brings an opportunity for me to reaffirm my decision that
connecting with people is important to me and that I want to learn how
to be really good at building and maintaining relationships. I’ve been
spending a fair bit of time thinking about the tools for doing so,
from my extensive customizations of the Emacs Big Brother Database
to why I like OpenBC.

Every time I use Emacs+Gnus+Planner+BBDB, LinkedIn, OpenBC or even my
little black Moleskine notebook and fountain pen, I always find little
things to improve. I’m in that zone again, and I’m having *so* much
fun. Emacs and my Moleskine are nearly infinitely hackable within the
constraints of computer and paper, respectively. As for LinkedIn and OpenBC—that *itch* is making me want to write code for someone else.

The last time I felt like this was when I was in the thick of Planner
development, working with a fantastic community of enthusiastic users
around the world. It was *amazing* being able to make all these little
differences in people’s lives. I stayed with the project until I found
myself too content, and then I turned it over to someone else because
it was something that deserved passion.

Maybe I’ve found my coding passion again, something wider in scope
than the little ways I customize my blog or my e-mail client or my
contact database.

The more I think about it, the more attractive it is. How strange that
low-key services like LinkedIn and OpenBC appeal to me more
than the big names in the industry! I have the feeling that I’ll be
able to make more of a difference there (at least for now) than in
companies like IBM, Google, or Yahoo – although those three are
certainly exciting in terms of the other cool geeks I’d get to work
with…

… but oooh, imagine the opportunity to work directly with really
cool users? I could so totally rock. I’d *love* to be able to bring my
technical *and* social passions to the table. That feels like a good
short-term next step.

Figuring out my options…

On Technorati: , , ,

Free Software and Open Source Symposium, Toronto, Oct 26-27

Via Kelly Drahzal: there’ll be a Free Software and Open Source Symposium in Toronto from Oct 26 to 27. Admission for full-time students to the symposium is just CAD 10.00! I will so be there, if only to hang out.

The workshops look like mainly intro courses, which isn’t bad. I’d
like to see more people get into development. I wanted to get into the
workshop for educators because I want to convince everyone that open
source development really should be part of all computing students’
experience. I can get quite passionate about that! The workshop seems
to be full, though, so I may need to talk my way in.

Coming? =)

On Technorati: , , ,

Networking tips: Bring your own nametag

I bought myself a pack of inkjet/laser self-adhesive name tags, which
turned out to be a remarkably good idea. Before heading to Dave
Forde’s networking get-together last Friday, I printed out a nametag
that not only gave my name but also included an experimental tagline:
“Tech evangelist, storyteller, conversationalist, geekette”.

Dave Forde’s networking get-together was a very informal one, just a
bunch of people standing around in a pub sipping beverages while
chatting. I was the only one with a nametag – a printed nametag, at
that! – and that garnered me quite a number of compliments for my
foresight. Despite the lack of nametags, I was generally good at
keeping everyone’s names sorted in my head. Having a printed nametag
on made it easier for people to remember my name in conversation,
though. Having felt the embarrassment of forgetting someone’s name
right after an introduction too many times, I’m glad I could make
things smoother for other people by wearing a nametag.

The nametag was also handy at the second networking event I went to on
the invitation of someone I’d just met at Dave Forde’s get-together.
At that event, people wore nametags of masking tape. Again, my large
printed nametag stood out, and the keywords on it prompted
conversations.

I think that bringing a prepared nametag to events is a terrific idea.
Even at events with proper nametags, preparing a nametag allows you to
pay more attention to design and to stand out from the crowd.

Clip-on nametags may be even more effective because then I don’t have
to worry about what material I’m wearing. They also allow other tricks.
I remember Richard Boardman’s nifty lifehack for
nametags. The CHI 2006 nametag holders were top-loading plastic, so he
put business cards behind his nametag. He also put business cards he
received into the nametag case. Very accessible location – no
shuffling around for a business card case.

Note to self: I should always carry masking tape and a marker to these
events. To help even more, perhaps I should always carry self-adhesive
nametags. Hmm…

Preparing a nametag was definitely a good idea. You should try it at
your next networking event!

On Technorati: ,

More Emacs goodness: Refresh your memory when you e-mail using notes from BBDB

Inspired by an e-mail-based customer relationship management system briefly described by Daniel Charles of digital ketchup at Shoeless Joe’s last Friday, I decided to hack together a system that would allow me to see the notes from my contact database (aptly named the Big Brother Database, or BBDB) when I write e-mail using the Gnus mail client in Emacs.

The first thing I needed to build, of course, was something that
removed my notes from outgoing messages. People really don’t need to
see the kinds of notes I keep on them. ;) Well, they’re fairly
innocuous notes: how we met and what they’re interested in, usually,
although sometimes I’ll have notes on people’s food preferences or
shoe sizes. I’ve recently started keeping track of the subjects of
e-mail I send them, too.

(defun sacha/gnus-remove-notes ()
  "Remove everything from --- NOTES --- to the signature."
  (goto-char (point-min))
  (when (re-search-forward "^--- NOTES ---" nil t)
    (let ((start (match-beginning 0))
          (end (and (re-search-forward "^--- END NOTES ---") (match-end 0))))
      (delete-region start end))))
(add-hook 'message-send-hook 'sacha/gnus-remove-notes)

Then it was easy to write another function that composed individual
messages to all the people currently displayed in the BBDB buffer,
adding notes to each message.

(defun sacha/gnus-send-message-to-all (subject)
  "Compose message to everyone, with notes."
  (interactive "MSubject: ")
  (let ((records bbdb-records))
    (while records
      (when (bbdb-record-net (caar records))
        (bbdb-send-mail (caar records) subject)
        (when (bbdb-record-notes (caar records))
          (save-excursion
            (insert "\n--- NOTES ---\n"
                    (bbdb-record-notes (caar records))
                    "\n--- END NOTES ---\n"))))
      (setq records (cdr records)))))

I use BBDB to display only the people I want to e-mail, then I call
M-x sacha/gnus-send-message-to-all and specify a message subject. This
creates a gazillion message buffers which I can then edit. If I feel
particularly paranoid, I can remove the notes section myself with C-c
C-z (message-kill-to-signature), but sacha/gnus-remove-notes does it
as long as it’s in message-send-hook.

This code works particularly well with these other customizations:

It supersedes More Emacs fun: Composing mail to everyone with notes.

On Technorati: , , , , ,

../emacs/dotgnus.el

I heart the Toronto Public Library

I can’t believe it took me a year to get around to making the most of
the Toronto Public Library. I grew up in a country without a good
public library system and thus had no idea just how cool one could be.
Fortunately, two of my friends are avid fans of the TPL. (Hi
Dan Howard! Hi Quinn Fung!)
Quinn’s always telling me about some book or other that’s available for pick-up, and Dan told me about the trick of reserving one gazillion books.

Today I gave the web-based library catalogue a spin, and promptly requested dozens and dozens of books. I knew they’d take some time to be delivered to the branch nearest me, but I headed to the College and Spadina branch anyway as it was just a few blocks away from my residence and I wanted to raid the stacks for interesting Wednesday night reading.

It was a good thing I took my wheeled grocery bag, as I ended up
checking out far too many books. I winnowed the list down from the
stack of books I’d pulled off the shelves for browsing, but was still
sorely tempted to push the library limit of 50 (50!) books checked out
at any given time.

I’ve already finished one: Beauty Fades, Dumb is Forever, by Judy Sheindlin (of Judge Judy fame). The main thing I took away from that book is that guys aren’t built to be nurturing, and there’s nothing wrong with nurturing myself. I knew that. =) Also, the book had interesting anecdotes from the life of a no-nonsense judge. Not a bad read.

I heart the Toronto Public Library. It’s pretty up to date – lots of 2006 titles, yay! – and the web-based reservation system totally rocks. Sweet!

UPDATE: See also Bookmarklet for the Toronto Public Library

On Technorati: ,

Pampering myself

Wednesdays are for catching my breath. I spent the evening pampering
myself.

I lathered my face and wiped the suds off with a soft washcloth,
poured boiling water into a large bowl and steamed my face for ten
minutes, and then used some tissue to extract some of the oil from my
skin. (Must get ingredients for clay or strawberry mask.)

I scrubbed my feet with pumice, soaked them in a warm bath (the
cleaning bucket is *just* wide enough to accommodate my feet
crosswise!), and scrubbed them again.

For good measure, I decided to have a proper bath, too. Self-massage,
mmm. I read a book until the water cooled a bit, then I ran cold water
in to energize me.

Sweet.

Next week, maybe I can try adding a few cups of milk or some drops of
essential oils. A little bit of indulgence…

Meeting about courses

I met with Mark Chignell about the courses I should register for this term. He suggested signing up for all of them, attending the first few lectures, and choosing the one I like the most. I’ll have to rely on my intuition for this because the course descriptions all sound good. If I get along with the professors, I might even be able to explain my personal background and goals and get their help in figuring out which course would be best.

We’ll meet again tomorrow to flesh out my research plan.

Next action: Brainstorm a few things I can prototype. Also, take care of some paperwork.

On Technorati:

Cross-fertilization

I’d love to take a business-related course to round out my education and widen my network. If I can convince the Rotman School of Management to let me take an MBA elective, that would totally rock. Alternatively, I could cross over into CS. Here’s what I’m looking at:

MGT 2019: Commercializing Technological Innovations
How *does* one value innovation, anyway?
MGT 2050: Skoll Project: The Technology/Management Interface
Directly related to my research into adoption of technological innovations. I might be able to talk my way into this. Geared towards large companies.
MGT 2017: Strategic Networks
Directly related to my interest in supporting social networking. I might be able to talk my way into this based on my research.
Marketing High Technology Products
Hmm.
CSC2527H The Business of Software
Sounds like a terrific course.

Details:

MGT 2019: Commercializing Technological Innovations

This course is intended to improve your ability to determine whether,
when and how to commercialize technological innovations. It will also
enhance your ability to manage your firm’s technology strategy
post-commercialization. As such, this course will be of particular
interest to students interested in technology-driven businesses and
new ventures, as well as financial analysts interested in how to
assess and value a firm’s technology-related activities and even
policymakers interested in formulating supportive technology policy.
This course is highly complementary with several other strategy
electives including Cooperative Strategy, Corporate Strategy, Game
Theory and Competitive Dynamics, Strategy in the Creative Industries,
and Technology Strategy.

Commercialization of technological innovation entails facing a host of
challenging questions including: What is the value of an innovation?
What is the right way to commercialize it – when is licensing
preferred to joint ventures or diversification? How can I understand
and anticipate technological change, and pursue strategies to take
advantage of my insight? Can technology strategy be a source of
competitive advantage?

This course will introduce you to the issues and analytical arguments
behind these questions and others, drawing on recent advances in the
literatures on competitive strategy, organization economics,
industrial organization and technology management. The theoretical
arguments developed in the course will consistently be applied through
case analysis and the course project. In addition, the course will
provide insight into current “hot” technologies, including
nanotechnology and information technology.

The overall objectives of this course are to provide you with
analytical frameworks and tools that will sharpen your ability to:

  • Recognize and evaluate commercialization opportunities;
  • Anticipate problems faced by technology-driven ventures;
  • Understand the relationship between market and organizational characteristics and the success or failure of an innovation;
  • Develop and assess an overall technology strategy.
MGT 2050: Skoll Project: The Technology/Management Interface

Technology and innovation must be actively managed. This course
focuses on the concepts, techniques and processes used to facilitate
successful technological innovations in firms. The objectives of the
class are to (1) introduce students to the multiple factors involved
in successful technological innovation in firms and (2) provide
students with opportunities to integrate and synthesize the multiple
demands and requirements faced by managers in innovative firms. This
course is a requirement for all students in the Skoll BASc/MBA
program. Other MBA students interested in technology are encouraged to
take this course.

MGT 2017: Strategic Networks

The purpose of this course is to learn how social networks affect the
organization and coordination of work, and create economic value. In
particular, we will focus on network entrepreneurs – individuals or
organizations that use social networks to discover and exploit
economic opportunities. We will begin with some recent examples of
network entrepreneurs, and then introduce the underlying network
principles, followed by a discussion of network forms of organizing.
The course will focus on the relevance of social networks for both the
formulation of strategy for new (i.e., entrepreneurial) ventures and
the implementation of strategy in existing organizations. Social
networks will be examined at the individual level (e.g., the pattern
of friendship relationships among individuals in a firm) and at the
organizational level (e.g., the pattern of strategic alliances among
firms in an industry).

Marketing High Technology Products

The rapid evolution of high-tech products and their technology offer
many new challenges to the marketer. Marketing start-ups as well as
established products, managing the introduction of upgraded or
innovative products, distribution channel selection, branding,
advertising, the use of media such as the Internet, and developing
strategies to profit from the convergence of previously diverse
technologies, are some of the topics covered.

The Computer Science department is also offering an interesting course this fall:

CSC2527H The Business of Software

The course identifies the principles for starting and operating
successful and growing software venture. Students are expected to
understand the “why” of these principles by the end of the course.
Student work is centred on building a real business plan for a
software venture with a group of other students. The intended audience
for these business plans are potential investors, including angel
investors and venture capital funds. Guest entrepreneurs and other
industry participants provide ‘real world’ perspective.

OBJECTIVES

The main objectives of this course include development of:

  • An understanding of the high-technology business environment in
    general and of the computer and software industries in particular.
  • An understanding of the basic principles involved in crafting a
    small healthy growing business within the software industry
  • The ability to write, present, and critique business plans and to
    formulate basic computer-based financial forecasting models.
  • A capacity to analyze the first-person perspective of entrepreneurs
    and other industry participants.

SYNOPSIS

Topics will include the definition and scope of the computer and
software industries; an analysis of the sources of innovative
opportunity; a discussion of strategy and, key trends such as open
source, outsourcing and ‘software as a service’; software market
planning and product planning; the management of R&D and software
development; software product marketing; software sales and sales
management; software support; the financing and financial management
of high technology ventures; legal protections for software as
intellectual property; and leadership, management, and human resources
for high technology industries.

The class will be enriched by the participation of guest entrepreneurs
– skilled practitioners active in the industry.

On Technorati:

On programming as a career

Raj Shekhar reminded me that software development is a career too, and that there are software companies that use exciting things like LISP.

My background is in computer science, and I spent almost all my
summers in high school training for programming competitions. I was a
geek’s geek, with algorithms and code coming out of my ears. I still
enjoy writing code to make things work. =) I’m much more comfortable
reading other people’s code and making sense of it than other people I
know – apparently, a rare thing. ;) I also enjoy writing
documentation. These two factors cause most people to doubt my
existence. What, a programmer who likes reading other people’s code
_and_ writing documentation?! Right up there with unicorns and
dragons, mate. ;)

But that’s not all of who I am, and I get the sense that’s not what
I’m best suited for.

In yesterday’s conversation about the meaning of life and other
things, Simon Rowland pointed out
that I’m more relationship-driven than technology-driven. When I
argued that I’m still a technologist at heart, he laughed and pointed
out that even my Emacs Lisp coding is motivated by contact with
people. The reason why I enjoyed working on Planner so much was
because I could make people really happy by writing code to fit their
editor and personal information manager to their particular needs. And
it wasn’t people in abstract, people in general, but rather one person
at a time, with completely idiosyncratic code that I might never
reuse.

I like working with technology on a human scale. I love personalizing
things. I love working one-on-one with people. I don’t like being
abstracted away from users. I want them to be able to yell at me when
something goes wrong, and I want them to be able to express their
appreciation when things go right. I don’t want to deal with market
studies and hypothetical users. I want names and faces and stories.

I guess that’s why software development or system administration don’t
really appeal to me as careers. I know a lot of developers and sysads
who enjoy their work and are doing cool things, but their work doesn’t
strike a chord in me. I love developing skills that aren’t part of the
traditional developer profile. I love writing and public speaking, and
I want to do that as part of my day job instead of just something I do
on the side.

Some people have advised me to take a code monkey job, just for the
heck of it. Just to gain experience and give myself more time here in
North America, you know. As tempting as it is, though, my instinct?
feeling? sense? tells me that there might be a better path. If it’s at
all possible for me to follow my passion at each step, I’d rather do
that and be exceptional rather than be a mediocre programmer.

When I ask myself what I’d do if I could work without thinking about
money, what I’d do even if no one paid me to, the answer that
consistently comes up is: spend the entire day reading, learning,
teaching, writing, speaking, meeting people. I don’t see myself
building robust, featureful systems or crafting beautiful code. I see
myself drawing attention to other people’s stories, connecting
different ideas, introducing people to people and things that could
change their lives. At the end of my life, I don’t want people to
remember me for some program I wrote, but rather for the changes that
I helped them make in their lives, what I inspired them to do, who I
inspired them to be.

So yes: although I can code, a job that involves only that aspect of
me will not be able to make the most of me.

This probably disappoints some of my college teachers who’d rather I
were in “hard” computer science – cryptography, graph theory, whatever
- but that’s the way it is, and I want to explore that aspect of
myself.

How does that translate into a career? It’s not exactly the kind of
thing you’ll find advertised on Monster.com. I’ll probably spend the
rest of my master’s thinking about enterprise social computing and how
people can make the most of blogs, wikis, social bookmarking,
podcasting, and related technologies. I would like to stay in North
America for at least a few more years because I’m learning so much
from the tech culture here, so I’ll need to offer enough value to a
company to sponsor my work permit. I’d like to think that I can create
enough value to justify the paperwork. ;)

In particular, I’d probably fit in well as someone who can support
consultants and other people whose job it is to know about technology
but who are too busy to learn about all these different things. I’m
good at reading about lots of different things and looking at the
connections. I’m also good at searching for supporting information and
recommending things that might be useful. I’ve been complimented on my
ability to get people enthused about something, and that extra boost
might help people close sales. If you know any company that would be a
good fit for me and that I would be a good fit for, I’d love to hear
about it!

I’m also interested in writing, but that might be more of a
medium-term thing. =)

If I can find a best-fit opportunity, all the better. If I’m not quite
qualified to do that yet and I can’t find a company that will take a
chance on me and train me up, I’ll consider other opportunities – but
I definitely want something that engages not only my technological
skills but also my social ones. =)

(Thanks for the comment, Raj! I love being prompted to reflect more
because that makes me clarify my thoughts.)

On Technorati: , ,

Random Japanese sentence: 私は犬の方が猫より好きです。何故なら前者の方が後者より忠実ですから。 I like dogs better than cats, because the former are more faithful than the latter.

More:

Going from pre-paid to post-paid

I want to keep in touch with enough people now that the limits on my
phone are Rather Annoying. I would like free incoming calls so that I
stop worrying about minutes and so that people feel free to call me
any time of day instead of saving it for evenings and weekends. I want
to be able to hear people’s stories and insights as they happen. I’d
also like unlimited text messaging, or at any rate more text messages
than most people here probably send all their lives. ;) I don’t really
need a lot of daytime or evening minutes.

Martin Cleaver suggested that I go for a 3-year plan without
hesitation. He said that I’d probably easily find a company here
that’s willing to sponsor me for a work permit. If I decide to work
elsewhere, the company that hires me might be persuaded to buy me out
of my plan. Even if I do end up going home after my master’s, I just
need to put aside enough money to cover the cancellation charge just
in case I don’t manage to sell my contract to someone else. It’s a
relatively small expense compared to the freedom of being able to
connect.

I don’t have a credit history, though, so that might take some more
persuading. I need to first establish a North American credit card.
I’ll try persuading President’s Choice Financial to grant me a credit
card, considering my bank account with them. If not, I’ll switch to
TD’s secured credit card, and I’ll probably switch my savings and
current account to them as well in order to facilitate payment.

Bell.ca is the only provider with an unlimited text messaging plan, I
think. It offers unlimited text messaging for $10 per month. That plus
the $25 unlimited incoming plan works out quite well. Additional
minutes are 30c (ouch!), but I have unlimited nights (9 PM onwards,
what the heck?!) and weekend minutes. Additional fees include the 6.95
system access fee and a 75c 911 fee. Unfortunately, it doesn’t seem to
offer the Treo as an option, and Bell phones tend to be, well,
Bell-specific… WAAH!

Rogers seems to be the only one offering Treo, but their plans suck.

Ooh, Fido. I can do Fido. $25 for unlimited incoming (sign up before
Aug 8), and then $5 for 100 messages or $10 for 1000 messages. 1000 is
close enough to unlimited, I think. <laugh>

Fido is GSM, so if I can find a second-hand Treo that I’d be happy
with, that would work too. I want a Treo or some other Palm-based
device because I want to be able to sync my data over from Emacs and
BBDB. The Treo’s picture-taking capabilities also sound really
tempting. It’s a rather expensive device, but if I can make it worth
it by writing – must look for more things to write for! – that would
be totally awesome. I’d love to be able to use it the way Martin
does…

The Hiptop looks tempting, but I’ll get it only if I know it works
with Linux. I want to be able to refer to all of my notes. Otherwise,
my current phone works fine. Rumor has it that I can run Linux on the
hiptop, but I’ll only do that if I keep access to all the interesting
functionality. I want to be able to take pictures.

… Maybe I should just look for a Linux-based smartphone.

Okay. Breathe. Priorities. First things first.

The very next thing I need to do in order to make this happen is to
get myself a Canada-based credit card so that I can sign up for plans
without getting it charged back to the Philippines.

The next thing I need to do is sign up for unlimited incoming and text
messaging plans. Wireless providers usually give a substantial
discount if you choose a phone together with a plan, and there’s a
$300 discount (reducing the cost to $200) if I get the Hiptop together
with a contract. However, I might be able to get a monthly plan
without a contract, then sign a contract if I’m firmly convinced that
it’s a good phone and that I can make it work.

But the very first thing I need to do is establish credit. I can do
that on Thursday.

Random Japanese sentence: 妖精は王子を猫に変えた。 The fairy changed the prince into a cat.

Goals

I want to be able to spend my days reading, learning, and trying
things out. I want to be able to share what I’ve learned with other
people through writing and speaking. I want to be a generalist,
learning about lots of different ideas and connecting them together. I
want to be able to introduce people to each other when I find synergy,
and I want to be able to pass ideas on to people who can make the most
of them.

The careers that resonate with me the most are technology journalist,
author, and speaker.

The best things I can do today in order to advance those goals are:

Physical Swap bicycles or get a skateboard
Social Keep in touch with family and friends
Mental Read a good book
Spiritual Share the results of my reflection on happiness

Random Japanese sentence: 強盗は屋根からあの邸宅に入ったに違いない。 The cat burglar must have entered the mansion from the roof.

Life on the A-list

Somewhere along the way, I managed to end up as the hottest blogger
within IBM, with over a thousand hits. I usually hover around third or
fourth on the list of the daily top blogs. This is the first time I’ve
ended up first, and that by a margin of around three hundred hits.

Some people at IBM have been gently teasing me about my A-list status.
Stephen’s one to talk: his blog post is currently the most-commented
entry. Pranam made sure I blogged about his cool visualization and
joked about how that resulted in such a jump in his hits. Mark isn’t
quite sure if my being a top blogger internally is a good thing or a
bad thing, considering how little I’ve written for research. (Meep.)

I procrastinate by learning and writing. Now if only we could figure
out how to translate that into research or business… ;)

Life on the A-list is cool, though. Because I read pretty much
everything on the internal blogosphere anyway, I like being able to
highlight cool entries and encourage people to leave comments. I
wanted to help IBMers discover related blogs, so I added an ultracool
Flash tag discovery thingy from another IBMer who actually spent some
time fixing a few problems that came up when I tried it on my blog.
And of course I love getting to meet people through my blog and
getting feedback on my thoughts…

When I post about social computing on my internal blog, though, I’m
basically preaching to the choir. No, not even that. I end up
preaching to other evangelists. ;) I need to figure out how to extend
beyond that. I owe my sponsors tangible results. That might be a good
place to start.

What can I do to give back to IBM and do some research? Must think…

On Technorati:

Random Japanese sentence: 私は彼女におもちゃの猫を買ってあげましたが、彼女はそれに満足しませんでした。 I bought her a toy cat, but she wasn’t happy with it. Watashi wa kanojo ni omocha no neko o katte agemashita ga, kanojo wa sore ni manzoku shimasen deshita.

On the way home after a late night

I’m starving and my hands are a little bit weak. I’ve had nothing but
hot chocolate since lunch, too pressed for time to even raid the
vending machines near the cafeteria. The data I needed for my paper
only came in today, and with deadlines for both the CASCON paper and
my article on social bookmarking for the lab newspaper, today was…
well… challenging. =)

It didn’t help that I spent most of the morning puttering about the
blogosphere, welcoming people in and updating my blog. I knew I was
supposed to work on the social bookmarking article and I had bits and
pieces of what I wanted to say, but I couldn’t quite sit down and do
it. On Monday, I think I’ll get that out of the way before I even
start catching up with the blogosphere.

Yes, yes, way too much hacking. Along the way, I’d installed a few
more extensions for my browser, including one that made it easier for
me to paste some boilerplate into textareas (good for blog newbie
tutorials). I wanted to chat with other IBM student bloggers at lunch,
so I wrote a quick and dirty Ruby script that generated an OPML file
given a set of e-mail addresses so that I could import that OPML file
into my blog reader. I turned up only three bloggers, though: me,
Pranam, and Kevin. Oh well. We’ll get there eventually…

Even the fresh data I received distracted me. I couldn’t wait to slice
and dice it in interesting ways! It was a good thing that Mark
scheduled a 3:00 phone call in order to check up on me. (Yay fantastic
research supervisor!) He reminded me about the CASCON deadline, but
also reassured me that it was doable and that he was around to help. =)

David also called me up to talk about some complications in the data
set. We figured out how to deal with some missing data, and I think
the workaround we came up with was okay. Then I went back to 1panicking.
Fortunately my editor moved the deadline for my social bookmarking
article to Monday so I could concentrate on my research.

So all I had to do was code the visualizations. I felt myself
performing a bit more sluggishly than I’m comfortable with – too
little sleep, not enough food – but I slogged through it anyway.
Fortunately I knew enough Ruby to squish the data into a form I could
easily work with, and I had learned enough about the Prefuse
visualization library to add filters to the dataset, allowing me to
get snapshots of the data. Yay.

So that worked out. My timing was perfect, too. I dumped screeshots
into (gasp) a Microsoft Word document, blogged a couple of interesting
things on my internal blog, and ran to catch the bus. I waited around
five minutes for the bus – ompletely anxious, of course, as those
buses run only once an hour!

So now I’m on a bus – the second on this trip – a little bit weak – I
really should always bring emergency food in my backpack – but I’ll be
fine.

The coding was almost fun, even, playing around with Ruby for text
processing and Java for visualization…

On Technorati: ,

Random Japanese sentence: この種の猫にはしっぽがない。 The tail is absent in this type of cat.

RIP, PDA

I discovered to my chagrin this morning that the Compaq iPaq no longer
retains a charge, perhaps because its internal battery has gone kaput.
That’s what I get for leaving it dormant for almost a year. Like this
stubborn girl who occasionally just Wants to Stay in Bed, Darn It!,
the iPaq will grudgingly work if you keep it supplied with power, and
it’ll go back to sleep immediately after.

In retrospect, I should’ve paid more attention to the flashing orange
LED as I copied my (very few) phone contacts into the PDA using
Bluetooth. =) I had too much fun categorizing contacts and thinking
how cool it would be to be able to broadcast a text message to, say,
all of the Graduate House people for an impromptu barbecue, or give
you a filtered list of all the people I know who are into both AJAX
and Ruby, etc. I rather enjoyed filling in my calendar for the next
few weeks. I even played around with transferring some of the images
from my phone to the PDA, where I could view them with Internet
Explorer.

Oh well. =)

The good thing about that, though, is that it’s made me realize that
the commute is not really hopeless, and that my Fujitsu Lifebook P1110
laptop is more portable than I give it credit for. I can usually snag
a seat on the train, even during rush hour, and my laptop’s small
enough that it can fit on my lap without requiring any elbow space.
Glare is not a big problem. Even if it were, I could just switch to
speech synthesis and use headphones. (See, I _knew_ there was a reason
why I was into wearable computing in college!)

I don’t mind batching my mail and my blog entries. I’ve gotten quite
used to it, and it gives me time to think (and cancel stuff!). I also
don’t really mind looking phone numbers up on my laptop and keying
them into my phone to dial. I don’t do that too often, anyway. Most of
the time, I get in touch with people through e-mail.

One of the coolest things about my computer, though, is that it can
start conversations. I don’t think the Fujitsu Lifebook P1110 is sold
here, which is probably why it always draws comments. It’s cute! It’s
small! It’s different! (Take _that_, all you “Think Different” Mac
geeks! ;) ) Sure, it’s scuffed and held together with masking tape
(had some complications during open-heart disk-replacement surgery),
but that just gives the computer more character.

Besides, people smile when they see the sticker reading, “The geek
shall inherit the earth.” I think I need aother sticker reading
“emacs” just to drive home the point. I hope that means vi geeks will
still talk to me, though. ;) What I need, really, is something that’ll
allow me to indicate my changing interests. A tagcloud. An updateable
tagcloud, preferably. Not that I have much back-of-laptop real estate
left. There, I’ve made Stowe’s sticker
vertical instead of horizontal, which will give me more sticker space
to play with. Maybe I should add sticker paper so that peeling off and
resticking stickers is easier, or maybe I should just let stickers
accrete in layers to give people a better reflection of reality…

Oooh! Magnetic poetry for laptops using stickers and sticker paper!
That might be fun to try out. Or maybe I could add a little plastic
sleeve and have a “Thought for the Day” index card / Post-it. It would
be nice to have an index card holder for this, anyway. That sound like
a job for duct tape…

Battery life’s holding up, too. The commute is an hour and a half
long, which fits quite well. I might want to get a new extended
battery so that I can go back to advertised battery life (my current
one drains in 2 hours or so instead of the 8-10 promised, waah!), but that’s
not a particularly high priority right now because the cafe I most
like to work in is clueful enough to not only allow geeks to plug in,
but also to provide power bars so that we don’t have to fight over
outlets. ;)

A better battery would be handy for conferences, though, as I take
_way_ too many notes. It’s fun!

You know what would be really, really cool? A wireless chording
one-handed keyboard – like the Twiddler, but Bluetooth, but not one of
those homebrew Bluetooth hacks that might fall apart in my backpack.
Or a wireless mouse/remote so that I could control ebooks while my
laptop is in my backpack. I had this totally sweet deal going with my
Twiddler before, because I could just leave my laptop in my backpack
and control the speech synthesis output from outside.

I should try out the Vaio again to see if that’ll be a bit more
portable. That one was designed to be used while walking around, so it
might be an interesting experience.

Okay, I should stop writing about gadgets… <laugh> I don’t
have a pressing need for anything extra at the moment, and I’m still
learning to make the most of what I have. =)

On Technorati: ,

Random Japanese sentence: テーブルに猫の足跡が付いている。 There are footprints of a cat on the table.

Social Tech Brewing

Last night’s Social Tech Brewing social was lots of fun.
(Notice how lazy I getabout linking? ;) )

  • Phillip Smith arrived shortly after I did. He told me about CopyCamp, a copyright and art get-together on September 28, 29, 30. All sorts of luminaries! Lawrence Lessig, Cory Doctorow, Michael Geist… Awesome lineup. I totally have to be there and blog it.
  • Jason Doucette came next. Phillip asked him if he was into podcasting, and it turned out that Jason podcasts for the Toronto Vegetarian Association, which is at 17 Baldwin St. I should take a look at that. Phillip is vegetarian, and I’m a semi-vegetarian-wannabe. (I want to learn how to cook vegetarian food!) TVA’s attendance has been dropping off, but their podcasts attract attention from people from other cities. Their podcasts are generally 20 minutes long.
  • Phillip Smith knows about a progressive podcast host / aggregator which might be interested in the vegetarian podcasts. Other interesting links: http://veganlunchbox.blogspot.com , http://www.veganporn.com ,
  • Liam O’Doherty of avoid.net came too. He mentioned the Personal Propaganda Kit (T-shirts, stickers, etc) tie-in with avoid.net. He’s partnering up with OCAD people to produce that, I think.
  • Phillip recommended a few books: Ingenuity Gap, The Upside of Down.
  • We also chatted about ideas for a Toronto wiki, something to collect information about Toronto. Interestingly, Rob Hyndman owns the domain. Good model – Davis wiki. (Hey, Himy would be a great fit for a project like that. He’d fill it with so many interesting stories!)
  • Colin McGregor mentioned a group called Serial Diners. They’re making their way through a phonebook of restaurants, and currently at K.
  • Judy Chicago is with Women’s Space.
  • Gabe Sawhney’s into the memory project and T.Ode.
  • Jonathan found Social Tech Brewing through upcoming.org, as did Jason and Gabriel. So did I, for that matter.
  • Introductions: Tempted to have “Hello, my URL is…” nametags. Reprogrammable nametags also sound interesting, as suggested by Colin.
  • Jonathan’s involved with Habitat for Humanity, which is somewhat interested in moving to open source.
  • Introductions protocol idea: three words / tagline, name. Putting the description before the name makes it easier for people to hear interesting things and pay extra attention.
  • Social Tech Brewing modeled on501c tech clubs, nonprofits.
  • New network: Mobile Mondays.
  • Jane attended DrupalCamp and is with DigitalEve, which is based in Lawrence West
  • Chatted about Linux Caffe and social spaces. Seattle has free wireless in cafes, even to the point of having tables for two with outlets. People addicted. Some cafes turn off internet during weekends…
  • Net neutrality
  • Gabe mentioned that Dory of Wireless Toronto and a few other people are working on “Turn off the internet day”.
  • Jonathan’s into $100 laptop, too. Pays attention to news.
  • Chatted about gender segregation in bars, funny anecdote from Judy: “Don’t be scared.”
  • Phillip described freegeek, an open non-profit computer part reclamation thing that’s now self-funding. Break computers apart into components for melting into gold, assemble computers from working parts, keep one.
  • Toronto Hydro goings-on

Updates:

On Technorati:

Random Japanese sentence: 私は犬の方が猫より好きです。なぜなら、前者の方が後者より忠実ですから。 I like dogs better than cats, because the former are more faithful than the latter.

It’s alive! Reviving my iPaq

I’ve decided to experiment with carrying an electronic device around
again. Several people have reported seeing Moleskines coexist with
PDAs, so I want to see if the two will play nicely together for me. ;)
This is a Compaq-era iPaq (but not the research lab iPaq they sent me
before; I miss that). Nostalgia alert!

I am once again impressed by Microsoft Transcriber, which understands
my script/chickenscratches. Totally awesome.

I might use this to keep track of my calendar. If I can figure out how
to get data out of it easily with my Linux laptop, then I might be
able to use it to compose blog entries. At the very least, I can use
it to read ebooks. Oh, and maybe I should grab a CF, reflash the Ipaq
with Linux, and put Ruby and Python on the thing… And… >laugh>

(Hey, you know, this would be perfect as a ping-tracker!)

On Technorati: , ,

Random Japanese sentence: その猫は私のそばで寝るのが好きだ。 The cat likes to sleep beside me.

Tagging blog posts

At some point I really should write my own tag indexing thing. =) That
way, it’ll be easy to find out, say, all of the stuff tagged
“purpose”.

Random Japanese sentence: かれの時ならぬ発言は秘密をもらしたばかりでなく、平和運動の計画をも、くつがえしてしまった。 His untimely statement has not only let the cat out of the bag but also upset the apple cart for the peace move.

Blackberry goodness

Sandy read my post on networking and saw my note about Blackberry, that addictive little e-mail-anywhere device. I keep itching to connect with people or otherwise _do_ something during the downtime when I walk from place to place or while I’m waiting in line. Sales people swear by their Blackberries because they’re hardly ever
at a desk. (Ooh, let me go ping one of the people I know in sales to
ask if he’s on a Blackberry…)

When I think of it, though, I don’t actually spend that much time away
from the internet, just the time in transit. I sometimes bring my
laptop out and type e-mail anyway, although it’s not quite as
convenient. I guess that’s one of the reasons why I occasionally
daydream about having a Blackberry or a similar portable device.

Is that really the right step for me, though?

Maybe I should be spending that time soaking up the scenery and
working on becoming comfortable enough to strike up conversations with
random strangers. Mike Fletcher told me about one of his friends who
carries around a bag of gifts and just gives stuff to random
strangers, meeting tons of awesome people along the way.

Maybe I should look up and connect with people. It’s going to be
tough, but Toronto’s a pretty safe place to do this. I won’t have to
worry too much about giving people the wrong impression, I hope.

I’ll just have to be better at managing my time and pinging people
more often so that I can keep in touch. =)

I’ll put aside time this weekend to ping maybe one of the evangelists
you wonderful, wonderful readers (friends!) have suggested and ask how
he or she keeps in touch with people. If I talk to lots of evangelists
and they love the Blackberry, then I’ll either make room for it in my
budget or figure out how I can earn extra to make it cost-effective…

On Technorati: ,

Random Japanese sentence: 悲しいことに私の猫はどこかへいってしまった。 To my sorrow, my cat has gone somewhere.

Ubuntu: kid-tested, mother-approved

Dominique had a very interesting conversation with his mom. Turns out she prefers Ubuntu over Slax. =)

Parents are cool. =)

Random Japanese sentence: じらさないで、そのニュースを私に聞かせてくださいよ。 Stop playing cat and mouse with me and tell me the news.

Poi

Went to Drummers in Exile, a drum jam at Queen’s Park every Tuesday. Brought my poi and diabolo, and had plenty of good exercise. Didn’t bring batteries for the glowpoi, though… =) Anyway, it was tons of fun!

Conversations

Anthony and I went to a Korean restaurant. We had slices of beef
cooked at the table. It was a great dinner. We had a lot of fun
chatting about Japan and other places. I’m really glad that my parents
took us on trips and that I had all these opportunities to travel.
Those stories make it much easier for me to connect with people. =)

I can explain my research to other academics easily. All I have to do
is talk about collaborative bibliographies and they immediately
understand why social computing is just _so_ cool. Talking about my
research made me understand it a bit more, too.

At coffee time, I ended up talking about Toastmasters with Brian, the
pilot taking up biblical archaeology. Yeow Tong, Brian and I chatted
about teaching, presentations, and other things about academic life.

I’ve figured something out. If I’m going to eat out, I might as well
eat out somewhere nice, having something I can’t easily prepare
myself. It doesn’t have to be extravagant, but a little bit of
atmosphere and style would be good. Dinner today was much more of an
experience than grabbing pizza somewhere. =)

That said, I’m still looking forward to learning how to prepare
fancier meals…

On Technorati: ,

Random Japanese sentence: テーブルに猫の足跡が付いている。 There are footprints of a cat on the table.

Pictures from Brian’s party

http://www.bubbleshare.com/album/23305.c632b93a729

In the thick of things

Come to think of it, my social life really is very different from,
say, what I’d gotten used to in high school. I used to be part of one
or two clearly identifiable groups, but now I’m a part of all these
different groups and dyads. I’m a lot better at introducing myself
based on something completely random, too.

And yes, I’ve actually said that talking to people is fun. I love
establishing some kind of common ground with people, appreciating
their differences and the insight I gain from their perspective. I
look forward to cooking for friends, meeting people for lunch or
dinner, running into random strangers in the piano room, and chatting
with people over billiards or table tennis. I also love keeping in
touch with my friends and family back home. I miss them, too! =)

As long as I don’t forget to pay attention to my own life, it should
be fine. <laugh>

On Technorati:

Random Japanese sentence: この種の猫にはしっぽがない。 The tail is absent in this type of cat. Kono shu no neko wa ni wa shippo ga nai.

Brian’s birthday party

That was tons of fun, and very much worth it. =) I blocked off all
evening starting from 4:30 for Brian’s birthday party, and I really
enjoyed hanging out with him and his other friends.

We ate at a fancy steakhouse. I didn’t go for a full steak, opting
instead for a delicious chicken dish that made a light dinner. (Wise
choice, as I’d been eating all afternoon!) After dinner, we had
another party in Brian’s suite. We played Apples to Apples, a
hilarious party game of strange comparisons. I got to meet a few new
people, too. I took plenty of pictures which I promise I’ll edit and
upload by Wednesday, after my next major requirement is done.

Spending $20 on a single dinner is quite odd for me because I
sometimes think in terms of my starving-grad-student budget, but I
felt it was very much worth it. They’re a great bunch of people. If
it’s all right with my parents, I try to think of it as making the
most of the opportunities I have here to get to know people well. I
feel somewhat guilty about the fact that I’m not scrimping and trying
to stick to a strict budget. I hope it’s like taking the first circus.
I won’t be extravagant – eating out all the time or buying expensive
things – but I _do_ like the company of friends, and I’ll spend for
that and for experiences. =)

A lot of fun was had by all, and a lot of good conversation too.

On Technorati:

Random Japanese sentence: 私はこの猫の世話をしなければならない。 I have to look after this cat. Watashi wa kono neko no sewa o shinakereba naranai.

Backlog – 2006.04.01: Breakfast: Bacon and eggs

Steve deserved a break from all the hospital food, so I decided to
cook him breakfast. It always takes him a while to get up, so I walked
to Dominion and bought bacon and eggs. Trent let me into their suite
and showed me where to get all the things I needed. I discovered the
joys of having a proper crepe pan. =)

I fried bacon, prepared eggs, and toasted bread. Steve was touched
that I had prepared both sunny-side-up and scrambled eggs for him, and
kept praising my cooking. We had chai latte (well, just milk for me)
with Trent and Keri. Apparently, Trent’s quite the chai latte master.
=)

It was fun chatting with Trent and Keri as well, although some aspects
of that were just a little bit odd, like that singing in the shower
thing… <laugh> It was good having breakfast with friends,
though – it gave me something for which I should wake up early. Might
do it again sometime. Heck, might even do it tomorrow…

On Technorati: , ,

Random Japanese sentence: テーブルに猫の足跡が付いている。 There are footprints of a cat on the table. Teiboru ni neko no sokuseki tsuite iru.

Income tax info

From the Graduate Students Union digest:

Your T2202A (the tuition fee receipt from U of T) is not
mailed out – you must download the receipt from ROSI. If you deferred
your Sept.- Dec. 2005 tuition, it will not appear on your T2202A but
you can still claim it on your 2005 tax return. You can get a revised
T2202A once you pay your tuition – call Student Accounts, 416-978-2142
for info about how to get a revised T2202A if needed. International
students: check the International Student Centre’s website for
specific income tax information -
http://www.isc.utoronto.ca/iscservices/taxsession.htm. You can file
your income tax, on-line, for free – this is a service of the Canadian
Federation of Students. For information: http://ufile.ca/home/cfs.asp

E-Mail from Cezary Niewiadomski

Working with LEGO

Thanks to Calum Tsang, I’ve been able to play around with the LEGO
Mindstorms robotics kit without actually having to mess around with
anything that requires spatial visualization. I’ve never really gotten
the hang of getting gears and whatnot to work together. Fortunately,
Calum is absolutely brilliant when it comes to that sort of stuff, so
all I really need to worry about is just making sure that I produce
the right output given the input.

LEGO presents quite a challenge. We use Not Quite C (nqc) to program
the robot, and it _really_ is not quite C. I’ve run into the parser’s
limitations a gazillion times, from wondering why on earth some of the
binary operators don’t accept variables to wishing I could define a
function that returns a value instead of having to pass everything
around in global variables. It’s fun working within those constraints,
though.

Debugging is a mission, too. No println debugging here! Numbers and
beeps are all I have, and the compile-download-run cycle can be a bit
slow. We’re still having problems with the infrared communication
between two of the control modules, but Calum thinks it’s because I’m
flooding the communication buffer. We’ll try twiddling that on Friday
to see if we can get it to work before the competition on Saturday.

Maybe he can teach me how to put together some of the really simple
assemblies – the bumper, perhaps? I’m completely pfft when it comes to
spatial things, but that could be a way for me to ease into it. Just
as Kathy’s circus stuff helped me learn coordination and rhythm, maybe
LEGO can help me learn how to hold spatial structures in my head. In
the meantime, I actually enjoy working within the constraints of the
system.

It’s also a refreshing break from the kind of programming work I
normally like doing. As Calum pointed out earlier, I’m one of the
near-mythical programmers who actually prefers maintaining other
people’s code and (gasp) writing a little documentation here and
there. For these little LEGO contests, all I need to do is hack
together some code that will be thrown away afterwards. It feels more
like a logic puzzle than a proper program. I don’t have the feeling of
working on something that makes someone’s life easier and better, but
I do feel that it exercises my brain and keeps me limber.

So, yeah. LEGO is fun. =)

On Technorati:

One-man Linux army

My boyfriend is a one-man Linux army. While all the rest of the people talk about promoting Linux, he actually goes out there and does it all by himself! He’s writing press material, manning booths, giving talks and seminars… Wow.

That’s one of the things I really admire about him. He promotes Linux
and open source not because someone’s paying him or because he hates
certain proprietary software companies, but because he believes it can
make people’s lives better. Free software can help schools spend money
on more important things, like facilities, textbooks, and teacher
salaries. Open source software can help people learn and grow. He
wants people to discover it, so he’ll go ahead and stand under the
scorching sun and talk about Linux to people who don’t see why they
shouldn’t just go and pirate software.

It’s a thankless job among people who don’t appreciate it as anything
beyond an opportunity to get another signature for their visit sheets,
like the way many people attend seminars only for the certificate. But
there’s always the chance that he’ll get a kid interested in free and
open source software, and who knows what will happen then?

I love him even more for doing it, and I wish I could be there to
help. Dear reader, here is a man who cares about the world and does
something to help it, even when other people are apathetic or
pessimistic. This is one of the reasons why I think he’s just so
amazing, and I wanted to share it with you.

On Technorati: , ,

MIE1407F results

… although my day isn’t all _that_ bad. I just got my results back from MIE1407: Engineering Psychology and Human Performance:

85%. Waaah.

By some weird calculation, though, 85% ends up as an A.

Whee!

Gave a talk at Toronto Interacts

I was part of a panel on transitioning to AJAX (Asynchronous
Javascript and XML) hosted by the Toronto Interacts society for
usability professionals. I had to modify a lot of my talk on the fly,
as most of the audience had heard about the basics and weren’t really
interested in code. I spent more time talking about the usability
challenges and opportunities of something as small as autocompletion,
which was probably a good decision.

I forgot the recorder, though. Waah.

One of the attendees invited me to a nearby gathering of game
developers. I was surprised to find that it was a social event hosted
by the International Game Developers Association. I know about IGDA
because Ranulf’s the chair of the Manila chapter. It was a lively

Downside, though: I fell down the stairs while leaving the
restaurant… Nothing broken, but I can feel the bruises forming.
Worse: I broke the camera! Waaaah!

I feel terrible about that. In fact, the whole day’s been kinda iffy.
I really hate waking up to overcast skies and grey concrete walls…

Well, at least that speech is finished. It was nice meeting people, though.

Looking forward to Monday

I am _so_ looking forward to being finished with my enggpsych paper. Grumble,
grumble. Humbling and annoying to think I’ve only written ~ 4160 words
so far. I have no idea how the people who wrote the A+ papers he
posted managed to write that much. C’mon, 26 pages, single-spaced?
Okay, well, the 26 page single-spaced one was a bit fluffy in terms of
language… But still. <mumble>

I am relatively happy with it now. There are a couple of paragraphs
here and there that I still might want to write, but overall I won’t
be too annoyed with myself if I handed this in. It’s been a good way
to review the textbook, too…

Another picture posted

New readers to my blog: No, this blog isn’t primarily about photos of
me. It’s just that I’ve had two photo deadlines (my mom’s Christmas
letters and Calum’s Lego thing), so I decided to go ahead and post
them here.

I’m quite finicky about portraits. It’s a side effect of being the
daughter and sister of professional photographers who don’t mind a
little photo-retouching here and there. My mom told me that I once
steadfastly refused to have my picture taken by the school
photographer. I had to have the best photographer in the world—my dad! =)

Check out yesterday’s page for a self-portrait that almost manages to look okay.

More about teaching

Teaching is the most humbling of experiences. There is nothing like
standing there in front of the students and finding yourself speaking,
finding yourself creating meaning. I taught only a little today, but I
taught it well; just enough to give people an idea, just enough to
tempt their interest.

Then it was time to talk to the department chair about leaving. The
department chair peered at me over his papers. “You were a special
admission,” he said. “I’ve never met you until today. I just looked at
your file and thought, ‘This is someone we want to have in our
department. This is someone we want in front of our classrooms.’”

Who am I that these people should take such interest in me? Who am I
that they should trust me with even the smallest responsibility in
marking projects and guiding students through laboratory experiments?
The reason why I hate teaching is that I love it too much to think
myself worthy.

There were some things he didn’t quite understand, or maybe I didn’t
understand them. He told me how teaching assistantships form an
essential part of the university’s funding and how leaving the course
at this point would essentially mean that I might never get a teaching
assistantship again. With the way recommendations work, it might even
mean I never teach in front of a classroom again. He didn’t quite
understand that I was willing to take that failure if that means that
students would get the education they needed—even if that means I
have to go home, master’s degree unfinished and plans awry.

Why do I care so much about a class most people will not even remember
next year? I don’t know. I just do. I’m not arrogant enough to think
that this one class will change their lives, but I can’t tell myself
that it doesn’t matter and that I shouldn’t care.

But I also recognize the trouble I caused the department. At this
point, there is no one who can take my place. Perhaps there has never
been. They knew about my concerns in the beginning, but they
encouraged me to take it. And now we must move, inexorably, toward the
end of the term.

Even now, I’m certain my hesitation has made them think twice. I’ve
caused them a problem. They expected, perhaps, a cooler and more
composed teacher. Someone with plenty of experience, someone who no
longer struggled with the imposter syndrome. I’m not that kind of
teaching assistant yet. I don’t just fit into the system.

I wanted to escape. I wanted someone else to take over so that the
students would be able to learn more than they could otherwise. I
wanted someone who knew the nuances of the field, who could tell
stories about how these things work in the real world.

The department chair reminded me that there are more resources that I
haven’t tapped. There are people I haven’t yet talked to, avenues I
haven’t yet explored. I need to plan better. I need to work better.
I’ll e-mail the previous teaching assistant and ask her to help me
brainstorm project ideas. Why didn’t I think about doing that before?
I guess my brain locked down.

Now that he’s told me about all these things I can do to help cope,
now that I’ve given a class about Weka and found curiosity instead of
the myriad of deep, technical questions I dreaded, now that I’ve
checked things with the students… the class seems more doable. More
workable. I may not know the specifics of Weka and Jess, but I know
enough about them to tell stories, to make them curious, to hint at
the possibilities.

Should I have kept quiet and not told Prof. Shepard about this crisis
of mine? I’ve not been professional. I’ve not handled it with the best
of grace. But I needed to hear that reassurance, and I needed to see
and face the challenge head-on. I accept the consequences of letting
the world know about my insecurities. <wry grin>

My evaluations with the class will suck, no doubt. I’ve called their
attention to my mistakes and my shortcomings. They know that I am not
the best they’ve had, nor even the best I could be.

Practice is hard. Growth hurts. But it’s worth it. I’m learning a
little bit more about dealing with difficult subjects, and I’m growing
much more than I would have teaching something well within my
capabilities.

I am thankful that this is a university so responsive to people’s
cries for help that even a teaching assistant’s panicked concern was
listened to and addressed a day after it was raised.

ACM controversy

For the most part, Ateneo handled their first ACM Intercollegiate
Programming Competition wonderfully. But there was one thing that
perhaps could have been handled better, and that was the
disqualification of 30-year-old Nix Garcia from iAcademy on the basis
of his age.

Oh, I _hate_ it when my friends are on both sides of an issue.
From one point of view, it’s iAcademy’s fault for not reading the fine print.
According to the official ACM ICPC rules, Nix Garcia’s coach should have
petitioned the ICPC eligibility committee at least three weeks before the regional contest.
From http://icpc.baylor.edu/icpc/Regionals/About.htm :

Basic Requirements

  • A student must be willing and able to compete in the World Finals.
  • A student must be enrolled in a degree program at the sponsoring institution with at least a half-time load. This rule is not to be construed as disqualifying co-op students, exchange students, or students serving internships.
  • A student may compete for only one institution during a contest year.
  • A student who has competed in two World Finals is NOT eligible to compete.
  • A student who has competed in five Regional Contests is NOT eligible to compete.

Period of Eligibility

  • A student who meets the Basic Requirements and FIRST began post-secondary studies in 2001 or later is eligible to compete.
  • A student who meets the Basic Requirements and was born in 1982 or later is eligible to compete. (emphasis mine)

Extending the Period of Eligibility

  • A coach may petition the ICPC Eligibility Committee to extend the Period of Eligibility for a student whose full-time studies have been interrupted or extended. This includes military or civilian service, illness, work/studies, or personal reasons.
  • The coach must demonstrate that such an extension would not provide an unfair advantage to the team.
  • A petition will be approved routinely if the student meets the Basic Requirements and has not completed more than the equivalent of eight semesters of full-time study as of the date of the regional contest.
  • To make such a request, the coach must petition the ICPC Eligibility Committee at least three weeks before the regional contest. The ICPC Eligibility Committee will render a decision within five business days.

I think Nix’s extension would’ve been granted. He had dropped out of
college to pursue writing for a while, and I don’t think he gained an
unfair advantage from that. But iAcademy didn’t apply for it, and so
Ateneo was right to disqualify them.

Ateneo officials probably noticed their oversight and corrected it,
perhaps when someone else complained. It was probably a very, very
tough call, and they must’ve thought, “Better late than never.”

Again, it’s probably too late _now_ (I _hate_ being on the
sidelines!), but I hope that the coach of the iAcademy team read this
part of the rules:

(Within 2 business day) The coach may file a complaint by
sending an email containing a text message with no enclosures to the
Regional Contest Director and copied to the Contest Manager.

The Appeals committee would probably not overturn the decision, but at
least they’ll know about it, and perhaps contests around the world
will be better at double-checking eligibility before the final run.
Coaches could be reminded about eligibility requirements, for example.

It wouldn’t be the first time contest results were changed after the
contest. During our first year of participating in the ACM, my team
moved from 13th place to 12th because one team had been disqualified
after the preliminary contest results were announced. A student on
that team had been to the World Finals one too many times. You’d
expect them to be very familiar with the fine print of these contests,
but in the rush and excitement leading up to a contest, who was checking?

Yes, coaches are responsible for making sure they know the rules. Yes,
iAcademy would’ve probably gotten the extension if they had appealed
for it, but they relied on the contest organizers to verify their
application—and contest organizers simply deal with too many teams to
do that. But it hurts when something is taken away from you after you
think you won it, even though the rules require disqualification. I
wish Ateneo had handled that part of the contest gracefully. Perhaps
they did. I know Dr. Rodrigo and the other Ateneans would’ve tried
their best to make sure their decisions were reasonable and
well-supported.

(Ateneo has been screwed by politicking at contests before, and I’d
like to think that we don’t scheme. We’ve hated it too when forces
beyond our control or understanding muck about with the contest
results. Anyone remember that Asia Students .NET contest? Doc
Sarmenta’s chagrin over winning a hastily-created “Most Creative”
prize was balanced by his delight that the organizers had found such a
wonderfully intricate solution to a delicate political situation. Or
at least that’s what we told ourselves… <laugh>)

ACM ICPC is a programming competition, yes, and so on the surface it’s
about finding the best programming team in the region and then in the
world. But it’s always been more than that for me. I think it’s a
fantastic opportunity to develop and maintain collegial respect for
people in other schools. The ACM ICPC is not about just competing in
that contest and then going home. I hope people realized the awesome
opportunities ACM ICPC gives them—look, here are the people each
school believes to be its best! The ACM ICPC should be more of a
social event, like the way our high school International Software
Competitions helped us get to know other people from different
countries. That way, people go home with far more than just numeric
results. They go home having met other _people._

I respect both Ateneo for the tough decisions it had to make and
iAcademy for the challenges it went through. They may be disqualified
according to the rules, but that in no way diminishes their
accomplishments. I do not think that their performance depended on Nix
Garcia’s experience. iAcademy is relatively new to the contest scene,
and I remember when they first competed and failed. They have gone
far and done well.

Our Atenean teams are far guiltier of taking advantage of our
experience. If you look at our performance in the past, we have never
been unknowns. We have never been dark horses coming late to the race.
Even the newcomers—and by newcomers we mean people who started
competing in college instead of high school, the laggards ;)—were
picked up early and trained along with people who had been competing
since their high school days. Our success is probably more due to a
constant stream of contest veterans than it’s due to the strengths of
our curriculum. I’ve been both a student and a teacher. I should know!
<wry grin>

Congratulations, Nix Garcia and the other people at iAcademy. You
might have been disqualified, but your performance is certainly not
something to be ashamed of. Take what you’ve learned from the contest
and help train the next generation. You’ll get better and better, and
I hope someday iAcademy will challenge Ateneo for the top spot. Until
then, remember: there’s more to contests than just the final results.
Prove your worth by teaching the next generation. I look forward to
next year’s contest!

Teaching Carnival

Check out the Teaching Carnival for excellent blog posts about education. Good stuff!

Picked up the link from Marcia Hansen’s blog. Read her wonderful reflections on her first experiences as a teacher. Awwwwwwwwww!

Penguin powwow

We, the Penguins of Sacha Chua, are delighted to welcome four additions to the Penguin Circle.

Penguin powwow

Candle-penguin tried its best to stay serious, but the Sock-penguins
and Purse-penguin just couldn’t stop clowning around. As the Linux
penguin, Tux felt slightly jealous because _it_ had started this
entire penguin thing in the first place.

Anyway, we had a nice chat while Sacha went off to watch
March of the Penguins. She came back and told us about the amazing
stuff other penguins go through in the Antartic just to ensure the survival of our species.

If she doesn’t find us tomorrow, you know where we’ll be!

Waaaaaaaaaaaaaaaaaaahoooooooooooo! Published!

Bob Erb wrote:

Reading Linux Journal at work today, I get to the article
about todo lists, browsing through it, getting interested when it
started talking about plain text files, then excited when planner-mode
was mentioned, then thinking, “I’ll have to tell emacs-wiki-discuss
about this!” as the discussion of planner-mode continued, then, wow,
it’s you!

Waaaaaaaaaaaaaaaaaahooooooooooooooooo! I’ve been published!
My article on Taming the TODO came out in
Linux Journal #138, October 2005. Buy a copy!

Thanks in no small part to Travis Hartwell (who poked me into actually
_doing_ something that had been on my TODO list for ages), Dominique
Cimafranca (who helped me fix my absolutely horrible first draft),
Jill Franklin and Don Marti of Linux Journal, and of course the
absolutely wonderful Planner community…

Happy happy joy joy! Happy happy joy joy!

E-Mail from Bob Erb

Book notes: Life Matters

Title Life Matters
Authors A. Roger Merrill, Rebecca R. Merrill

I totally, totally, totally like this book. It’s just _packed_ with
gems. A few pages into the book, I realized I had another must-read in
my hands. This book talks about balancing work, family, time, and
money, and it’s full of very real and warm stories. Don’t be
intimidated by its size. It’s really fun and easy to read!

Let me give you an example of how deep and wonderful this book is. In
the section on work, you won’t find tips on how to cut corners on the
job so that you can spend more time with your family. You won’t find
wheeling-and-dealing tips to help you get ahead. You will, however,
find them not only quoting Kahlil Gibran’s “Work is love made
visible,” but infusing every page with that creed. You’ll hear about
how involving your children in work can help give them an appreciation
of the joy and dignity of work. You’ll learn how to make the most of
your time, and how to stay energized and loving after a long work day.
This is Really Good Stuff.

What I really like about this book is that Rebecca’s stories show the
value of homemaking and how you can learn important lessons from that
underappreciated kind of work. I rarely find women’s insights in
productivity books unless the books are oriented toward women.
Rebecca’s stories about her family and her society, her writing and
her life were given just as much importance as Robert’s stories about
business.

There’s even an audio CD version for all of you podcast- and
CD-listening people out there. Get this book. It’s good. In fact, I
want to buy several copies of this to give to friends. It’s _really_ good.

Book notes: Rules for the Road

Title Rules for the Road
Author Eve Luppert
ISBN 0-399-52411-8

Luppert’s guide to surviving an entry-level job is a good read for fresh
graduates who need tips on surviving the mindless drudgery of their
first year. “Do stupid things brilliantly,” Luppert counsels, giving
hundreds of tips on surviving everything, including office gossip.

Of particular interest to me was the short segment on managing a
hands-off boss (hello, Mark! ;) ) on page 28. Luppert suggests finding
other people who have done what I’m trying to do and asking them
questions. Saving questions and ideas will help me make the most of rare
moments of contact, and I should take care to update him with tidbits
and stuff. Because he won’t give me constant feedback, I’ll need to give
myself whatever encouragement I need. Hmm.

Book notes: Financial Freedom on $5 a Day

Title Financial Freedom on $5 a Day
Author Chuck Chakrapani
ISBN 0-88908-952-3

Like most personal finance books, Financial Freedom on $5 a Day
suggests a regular savings plan, dollar-cost averaging for no-load
mutual funds, and eventual diversification into investments that can
weather recession, inflation, and growth markets. The book also talks
about other investment options such as gold and silver trading.

I did find a nifty little tidbit, though: three different techniques
for saving a chunk of your income so that you can invest it later on.
On page 17, Chakrapani describes:

Minus Ten Automatically deduct 10% of your paycheck and put it into a savings account before you even see it. (Pretty standard advice.)
Plus Ten Every time you spend, put aside an extra 10% for your savings. Think of it as extra tax.
Day’s Due Save every day. Minimum recommended: Annual income / 3500. (Was that gross or net?)

The suggestion of saving $5 a day will be difficult for me to meet
considering my already-trimmed budget, but if I stick to my savings
plan and relieve my book expenses by satisfying my addiction at the
libraries, it might actually be doable.

The copy I read was so old that Amazon doesn’t carry it any more, but Amazon lists the 7th edition for USD 2.50 (used). Not worth shipping, though. Read this one at your local library.

Casualty: portable umbrella

The trouble with me is that I can keep track of only two things at the
same time. I’ve told myself again and again to look back before I
leave a place, and generally I’ve gotten very good at that. These
blanks, these unthinking moments are the chinks that I have to fill
in. Today’s casualty: a portable umbrella.

Losing an umbrella is certainly a more attractive prospect than the
thing that caused me to put all of the stuff on the ground in the
first place. See, I thought I had lost my cellphone. From that
perspective, an umbrella doesn’t seem so bad, does it? It’s a waste to
have to spend for another umbrella, but I can file that under life
lessons. And just look at all the _other_ days when I didn’t lose
anything! (Yes, most people have far more impressive records, but
every little bit counts for self-esteem.)

Do I need to replace the umbrella? Well, I’ve got a raincloak in the
closet, but it’s too bulky to take with me all the time. Another
microumbrella would be good, but the more pressing need is to fix my
lugging-around system so that I’m carrying only one item.

I saw a close-to-ideal tote in Staples Depot the other day. It was a
Roots microfiber tote wth two main compartments, one of which had a
separate laptop sleeve. The tote bag could hold legal-size documents,
making it larger than I needed but still acceptable.

The deal-killer, though, was the fact that the store didn’t have a
full-length mirror that would let me check proportions. Being a rather
small girl, I’m mindful of style guides that tell me not to overwhelm
my frame with huge bags. (Advice I have cheerfully ignored over the
years, but there’s no time like the present to start paying attention
to these things.)

I did, however, spend a fair bit of time looking at fancy three-ring
binders with both handles and zippers. Zippered binders give me peace
of mind when I carry loose items: combination pens that don’t fit into
standard pen holders, coin purses, etc. Put proper handles and a carry
strap on a zippered binder and ooooh…

But there’s still all the paraphernalia I carry with me: laptop, keys,
lunch box… A binder large enough to contain all of those comfortably
would be too large to balance on one hand while writing and too
unwieldy to lay out on a desk while I take notes. So I reluctantly
turned away from bright displays and advertisements for binder models
I hadn’t even imagined (Z-shaped! double-binders! expanding file
binders!) and headed out of Staples, wondering what would fit into my
personal filing system.

I think I need some kind of tote. A briefcase is too business-y; a
backpack, too casual. Messenger bags offer possibilities, too. I just
need to find something that’s large enough to fit my things but still
small enough to fit my frame.

And _then_ I can get an umbrella to match it.

On Technorati:

Chicken adobo and rice

The clinking and clanking of plates and bric-a-brac could be heard
clear across the room as I rummaged through the cupboards.

“Are you looking for anything?” asked Ye, my roommate of a few weeks.

“Would we happen to have any measuring cups?”

“You can use the mugs in the drawer. What are you cooking this time?”

“Rice. Let’s see… Gah, this rice cooker is too big. And it doesn’t
come with instructions.”

“Use a pot.”

“Okay… Hmm. “Step 1: Add rice. Step 2: Add water. How much rice?”

“It doesn’t really matter, as long as the water level is 1 centimeter
above the rice.”

What did one centimeter look like again? I knew other Filipinos have
this magic trick involving the joints of one’s fingers, but I never
quite figured it out and I didn’t know if the rule was valid given my
small hands. Resisting the temptation to fetch the ruler from my cute
pink stationery set, I decided to eyeball the measurements. There,
just about right. Oh, wait… “Should I wash the rice first?”

“I usually do.”

Swished, swished. Poured. Swished. Poured. Swished. Poured. Gave up
and refilled pot to former level. “Mmkay. Then…?”

“Boil it, and then turn the heat way down until it absorbs all the
water.”

So I did.

I thought it would be a good idea to try out chicken adobo while
waiting, and I had recently splurged on a pack of chicken breast
fillets. I rummaged some more for vinegar (this strange Chinese thing
that smelled nothing like the vinegar I remembered seeing back home)
and soy sauce. I had the foresight to grab bay leaves and garlic on my
last grocery trip, so it was easy to throw everything together.

- 2 pieces chicken
- 4 cloves garlic, crushed
- 2 tablespoons vinegar
- 2 teaspoons soy sauce
- 1 bay leaf
- 1/4 teaspoon pepper
- 1/2 cup water

I boiled that, too, and then simmered it until I felt confident about
the chicken being more-or-less cooked (erring on the side of more, I
hope) and the sauce was reduced to a fraction. By simmered, I mean
that I alternated between accidentally reboiling it and getting some
satisfyingly mild bubbling action.

I didn’t get to try the adobo, so I don’t know if it’s really adobo or
some weird thing. I did get to try the rice, though, so I feel pretty
good about that. Of course, as I started cooking at around 9, I got
_pretty_ hungry by the time the rice was done. The chicken didn’t
inspire confidence at that point, so I did what any sane, starving
student would do: I raided the refrigerator for something to eat with
the rice. Pastrami may be a strange companion to rice, but I thought
it tasted like a rather expensive version of vienna sausages.

We’ll see how the adobo turns out tomorrow evening. If I survive, I’ll
have joined the ranks of adobo-cooking Filipinos around the world!

On Technorati: ,

Toastmasters is fun

I attended another Toast I.T. meeting
today. The table topic set by Natasha was a bit of a stretch for me.
If I was in the elevator with the CEO of my company, what would I say?
Other people naturally brought up small talk examples from real-life
situations. You know me and small talk. I’m not going to disrupt the
silence by asking about the weather! Grasping at straws, I ended up
doing half of a conversation where I played an eager employee asking
for more responsibilities.

I have no idea why people thought that was the best table topics
speech. But hey, I love speaking, and I’ll do it at the drop of a
hat… <laugh>

My icebreaker speech is coming up next week. I’m going to have so much
fun preparing for it! =)

On Technorati: ,

Gah, my website doesn’t print properly

Print-outs lack pagebreaks. Is it a Firefox problem or a CSS problem? Any suggestions?

On Technorati:

Side Jobs

Keep track of your freelancing projects with
Side Jobs, a free
online service that helps you manage tasks and clients. Nice, clean
interface and well-thought features. Well worth paying for if it weren’t free!

コンピュータはよく人の頭脳にたとえられる。 The computer is often compared to the human brain.

On Technorati:

In Case of Emergency

A popular e-mail forward urges people to make it easier for people to
get in touch with your emergency contact just in case something bad
happens to you. Emergency contacts would be marked with “ICE” (In Case
of Emergency) in your phonebook.

ICE is a bit too obscure an acronym for me, though. You need to have
read the forwarded e-mail about ICE before you’ll even think of
looking for it. I’d rather put people under “Emergency”, or add
numbers to the start of their names so that they’re first on the list.

I need to get one of those organ-donor cards anyway…

E-Mail from Inc. Adphoto

今日はほとんどの子供が持っているビデオゲーム機でさえコンピュータである。 Even video-game machines owned by most children today are computers.

On Technorati:

Lifehacking your groceries

One of the coolest things about having
delicious:lifehacks in my inbox
is turning up all the craziest lifehacking tips. Today’s treasure is
about lifehacking your groceries by using index cards to keep track of ingredients, simplifying a week of shopping and cooking. _And_ it comes with index card templates!

ここ数年、コンピューターは仕事に限らず広く利用されるようになりました。 Recently, the increasing diversity of computer use has extended far beyond the realms of the office.

On Technorati: , ,

The changing face of Katipunan

My sister had an appointment in the Katipunan area today. She dragged
me along because she wanted to do a market study of the billboard ads
along the route, so I took pictures and videos while she drove. She
warned me in advance that I’d have to wait for about an hour. I agreed
anyway, knowing that it would give me time to reacquaint myself with
the area around my university.

The ill-considered and inconvenient Metro Manila Development Authority
(MMDA) anti-pedestrian fences were still there, cutting off access to
Ateneo de Manila University. Not relishing the idea of a long walk to
the pedestrian overpass in the noon sun, I decided to wander around
the area near KFC.

A striking addition to the landscape is My Place,
an upscale high-rise dormitory with full amenities, which I plan to write about later.
Parts of it are still being finished, but I heard that there are already over a dozen tenants.

Eyrie is no more. I had planned to eat lunch there, remembering the
kind, pudgy proprietor who was familiar enough with us to mock-scold
me one time for being late for a dinner appointment. I loved meeting
people there for good food at reasonable prices, chatting over baked
macaroni or that wonderful vegetarian pasta with portabello mushrooms.
Alas, it joined Martha’s Kitchen as yet another victim of progress—or
regress, considering the MMDA obstruction is probably to blame for all
of this.

The building that used to house Eyrie, The Filipino Bookstore, and the
Ti Breizh cafe has fallen into the shadow of Blueskies, an Internet
cafe and gaming arena formerly limited to the second and third floor
above the corner flower shop. Internet cafes stretch from edge of
Katipunan to the empty lot before Eagle Star Condominum.

Even the tutorial center at the corner near Tapa King has repurposed
most of its space into an Internet cafe and video editing workspace.
The only remnants of its past: a few stools, a narrow study area and
some posters advertising a 50-hour tutoring package for math, English
and abstract reasoning. Such a stark contrast from the quiet, spacious
place I remember peeking into before. How you can create a conducive
study environment crammed in between computer tables is beyond my
imagination.

Well, that’s the changing face of Katipunan for you. The MMDA
pedestrian barrier, much cursed by people on both sides of the divide,
choked the casual lunch and dinner-with-school-friends crowd. Good
food isn’t enough to make people walk, but gaming works. Go figure.

I have no idea how KFC survives, but then again, it’s KFC.

Update: Allan adds:

The ones who owned the tutorial center beside tapaking
also own the computer shop. Their tutorial center (i forgot the name)
has moved above rustans beside pc express

近年では、電子コンピュータがますます重要になってきた。 In recent years electronic computers have become increasingly important.

On Technorati: ,

Cleverer and cleverer

My mom called me in a panic. “I just got this message from info AT
adphoto.com.ph saying that my e-mail account has been suspended.”

I grumbled. Yet another notice. Our e-mail had recently been suspended
because people weren’t deleting their old mail. I had just spent a few
days with ipowerweb tech support and
Adphoto employees working out the
issues. Another notice? I was going to track down and scold the errant
employee.

_After_ helping my sister, who paged me to come down so that I could
help her with the market study along the highway. And meeting my
friends. And tracking down that planner bug. ARGH!

My mom poked her head into the Internet room. “SACHA, fix my e-mail
now.”

Informal tech support people the world over know that when moms use
that tone of voice, everything else gets bumped down the priority
list.

I trudged over to her Mac and brought up the Ipowerweb help support.

Kathy called to follow up. My mom picked up the phone and said,
“Sacha’s here fixing my e-mail.”

“No no no, I’m just going to show you how to ask for help. Where’s the
message?”

“Why don’t you fix it first and then you can teach me how to ask for
help next time?”

“I _can’t_ fix it. It’s up to the Ipowerweb people. Where’s the
message? Okay. Hmm. Temporarily suspended… check account details…”
I didn’t catch any typos during my cursory glance, but it didn’t feel
like the other notices we’d gotten from Ipowerweb. The message felt
wrong. I read further. “Adphoto Support Team… Wait a minute, we
don’t _have_ an Adphoto Support Team.” I looked up. Sure enough, there
was an attachment named “account-details.zip” just begging to be opened.

“So what’s wrong with my e-mail?”

“Nothing,” I replied, disgusted. I reread the message. Clever of them
to work the first part of the domain into the message. “It’s one of
those fake messages with attachments.”

“Wait! How do I tell which ones are real and which aren’t?”

How do I explain that feeling of something being wrong? It’s a blink moment.

  • Messages that ask you to look at attachments are immediately
    suspicious, even if they come from someone you know. Most worms fake
    the From: address to be someone you might now. Write the person who
    supposedly sent you the message and ask if that’s really the
    intended attachment.
  • Don’t click on random links, too. This could open you up to more spam
    or attacks that exploit browser vulnerabilities.
  • If the message says it comes from an automated system and you
    shouldn’t bother replying, see if there’s a human somewhere you can
    get in touch with.
  • Tech announcements shouldn’t be coming from info AT adphoto.com.ph,
    but rather an ipowerweb account. This is particularly true when
    they’re announcements I don’t remember making.
  • Make life easier for other people. If you send an attachment or link
    to someone else, include enough outside-the-computer information to
    let the other person know you’re human. For example, you could give
    some details about the job just finished.

I’ve had to enable e-mail access from the PCs. I’ve made the employees
promise not to click on strange links or attachments, and Internet
access is restricted to a set of government websites and the Adphoto
website itself. That should provide us with some modicum of protection
because there’s no way for them to establish a direct connection to
the outside.

With social engineers getting cleverer and cleverer, though, will that
be enough?

コンピュータがこの会社に導入されつつあります。 Computers are being introduced into this company.

On Technorati: ,

On teaching programming

why do I have to write all this syntactic sugar to just do the canonical “Hello, world”?

I firmly believe that the canonical “Hello, world” program is one of
the worst ways to introduce Java, or even programming in general.

I like BlueJ. It’s a nice, clean, object-oriented environment that
immediately visualizes the difference between objects and classes and
allows students to interact with objects before they even see Java
code. I like the way BlueJ lets you interact with complex systems,
learning about control structures and logic along the way.

A popular Python tutorial starts with using Python as a calculator
instead of just getting it to print strings. Isn’t that a great way
for people to see how immediately useful a programming language can
be?

I wouldn’t start an Emacs Lisp tutorial with (print “Hello, world!”).
I would start it by taking a look at an existing function and
modifying it.

Languages should not all be taught the same way. Just because we might
have learned with “Hello, world” doesn’t mean that “Hello, world” is
the best way to learn how to program. I think there are better ways to
teach computer science, and I want to spend a fairly significant chunk
of my life looking for them.

You can, too. Just remember that you can improve on the way things
have always been done.

E-Mail to True Computer Science Mailing List

彼女は娘のためにパソコンを買ってやった。 She got her daughter a personal computer.

On Technorati: , ,

Productive day!

I had so much fun writing today. 500 words for my m-ph entry, 1000 for
the Linux Journal article on taming the todo (okay, I wrote maybe half
of that last week), and 55 for the short story “Gluttony”. I e-mailed
the people I was supposed to e-mail from the game journalists’ meet. I
also released another version of Planner (3.30) and started setting up
better version control.

WHEW!

_And_ I got to bond with my dad this morning, too. We looked for
music. Couldn’t find any decent musicals at Music One. They had the
movie soundtrack for Phantom of the Opera, but I want the Broadway
version because Raoul sounds like such a wuss in the movie. ;) Time to
look for Rent, Cats, and all of those other musicals…

私はこのコンピューターに精通している。 I am familiar with this computer.

On Technorati:

xtla and Gnus

There is a feature in xtla.el to send/review patches via gnus.

To set it up, you need the following lines for your .emacs:

(tla-insinuate-gnus)
(setq tla-apply-patch-mapping
      '(((nil "planner" nil  nil nil) "~/work/planner-dev/")))

Replace ~/work/planner-dev/ with your planner working directory

The patches are sent as .tar.gz files.

When you receive such a patch (I will send one soon), You can hit

K t v to view the patch

K t a to apply the patch

I can even provide a log message in the mail.
You can insert the log message via C-c C-p in the tla-log-edit buffer.

E-Mail from Stefan Reichör

その限られた性能のために私はコンピユーターに幻滅を感じている。 Its limited capability has disenchanted me with computer.

On Technorati:

Introducing the Hipster PDA

by Sacha Chua

(Sneak preview of m-ph entry for tomorrow)


“I’ve found the perfect PDA,” I gushed. My friends perked up. Knowing
how much of a geek I am, anything I was that crazy about was bound to
be interesting. They leaned over and watched as I reached into my bag
and brought out…

Hipster PDA
… my Hipster PDA.

“SACHA?!”


Introducing the Hipster PDA

One of the hottest topics in the productivity blogosphere right now is
the Hipster PDA, a surprisingly effective low-tech way to
organize your life. Grab a pack of 3″x5″ index cards and a fold-back
clip and you’re set to go!

What’s so cool about the Hipster PDA?

  • Gets rid of worries. You don’t have to worry about running out of
    battery during a critical meeting. You can drop it and it will still
    work. Even if you dunk it in water, you’ll still be able to recover
    your data.

  • Grows along with you.
    Don’t be constrained by software or hardware limitations! You can
    easily experiment with different ways of planning, and you can expand
    your Hipster PDA’s memory simply by buying another pack of index cards
    at your nearest bookstore.

  • Helps you stay focused. The Hipster PDA helps you stay focused
    and on-track by not supporting addictive games like Tradewinds. To
    help you pass the time, the Hipster PDA comes with a few built-in
    two-player games like Tic-tac-toe and Hangman.

  • Organizes real-life data. Receipts? Business cards? Movie
    tickets? No problem! Just tuck them into the fold-back clip and
    process them when you get home.

  • Beams anything to anyone. You can easily “beam” information
    to other people—just scribble a note and give it to them. 3×5 index cards don’t crumple easily
    and can easily be shared with other people no matter what mobile device they use.

Here’s what you can do with your own Hipster PDA:

  • Get a good pen or mechanical pencil. Keep it with your Hipster PDA at all times.
  • Write down one task per index card. You can write down subtasks and notes there as well. Rip up the task card up after completing the task for a satisfying finish.
  • Alternatively, divide your tasks into projects and write down your tasks. Check the tasks off as you finish them.
  • Scribble notes and ideas down on index cards.
  • Write down a month calendar so that you can easily see when you have appointments.
  • Print important contact information on an index card. You can probably fit 50 names and phone numbers. Good backup if your phone is out of battery or gets lost.
  • Print birthdays on an index card, sorted by month and day.
  • Label your Hipster PDA with your contact information just in case it gets lost. (name, phone number, e-mail address)
  • Clip a cheap pen to your Hipster PDA for people who borrow pens. Never lend your good pen.
  • Keep newly-written cards in an “inbox” section (front or back) so that you can process them when you get home.

For more information, check out the following links:

43 Folders: Introducing the Hipster PDA

Technorati: Hipster PDA

Check back on Wednesday for tips on making the most of your Hipster PDA!

そのデザイン・ハウスにとって、コンピュータ製造にさらに急進的な色彩を導入することは適切な戦略であった。 For this design house it was an appropriate strategy to introduce even more radical colors into computer production.

On Technorati: , , , ,

Flash fiction: GLUTTONY – 55 words

GLUTTONY (55 words)
Flash fiction by Sacha Chua

“Gluttony is indecent and a catalyst for sin,” said his devoted
mother, measuring rice grains for the famished boy.

“But mom!”

“Forgiving it would be like sending you to hell. No.” She controlled
everything he ate and did.

Eventually she died, still dogmatic and unrepentant. Traumatized, he
satiated himself on junk food. He died obese.

E-Mail to [email protected]

コンピュータの操作の仕方を知ってますか。 Do you know how to operate a computer.

On Technorati: , , ,

Where to find entries

My mom noticed I hadn’t been updating this blog. If you’re looking for
some news on my life, they’re over at
http://www.livejournal.com/~sachachua/ . Many of the entries are
friends-only, but so far I am fairly liberal with the definition of
“friend” and will probably add you if you want. =) Set up an LJ
account at http://www.livejournal.com and add me to your Friends list;
I routinely check to see if anyone new has added me.

That way, I don’t have to clutter up
the tech-related aggregators like Pinoy Tech Scene
with my sentimental mush. ;)

私は先月新しいコンピュータを買いました。 I bought a new computer last month.

On Technorati: ,

Major website revamp

I changed my website layout and added blurbs about Planner and some of
my other pages. =) It’s rather cute now. It should read better than
the previous design did in non-CSS browsers like w3m, links and lynx.

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

On Technorati:

Dr. Oposa’s party

Went to Dr. Oposa’s 81st birthday party last night. I was surprised to
find Jess
there. Turns out Dr. Oposa’s her grandfather. Small world, isn’t it?

Dr. Oposa had some dance instructors over. Had tons of fun ballroom
dancing, particularly doing the swing. I love dancing. =)

彼女の猫、また四匹も産んだんだ。 Her cat had another four kittens.

On Technorati: ,

Mob?

Sean Uy wrote:

Congratulations, everyone. We put a stop to an issue that
‘insulted’ the dignity of women in the IT industry.

And we did it as one big unruly mob.

Are we a mob?

I don’t know. I don’t think so.

We stand on our individual pulpits or post in our individual columns
and we simply speak our mind, letting other people decide what they
think and how they feel about the issue. Even my
http://del.icio.us/sachac/digitalpinay links feels like a
shopping-list of other people who wrote about the issue, and I’m sure
there are other blogs out there I hadn’t seen.

Nowhere on those blogs did I see anything even remotely close to a
physical threat. People joked about having “Digital Pinoy”, a male
version of the contest. People suggested flooding the mailbox with
fake application forms or complaints, or calling them up to register
their protest. In fact, some people suggested just promoting it as a
beauty pageant instead of something different. I did not see a single
thing directed toward the potential contestants. I don’t work that
way, and chances are, neither do you. I do not know anyone who’d make
such a threat. As a rule, the geeks I know prefer the pen over the
sword. This is not to say, of course, that no one out there can make
that kind of threat. All I’m saying is that there are many, many of us
who are more moderate than the press release implies.

I was outraged enough to want to raise hell about it. I didn’t want
this to be an issue that quietly slipped by. I wanted them to know
that I thought what they were doing was wrong. They were perfectly
capable of continuing with the original plan, I knew, but maybe they’d
listen to the points I raised. I helped spread the word to other
people because it was something far bigger than my little corner of
the Internet or my little perspective on life, and I was not
disappointed by the variety of insights I gained.

I am not against PCS, and I am certainly not against promoting
technology. This was not some master plan to bring down PCS nor was it
a symptom of crab mentality. I sincerely want to promote computer
science in our country, and I spoke out because I strongly felt that
the contest I heard about would do more damage than good. I pointed
out flaws and offered suggestions. I knew they wouldn’t be able to
remove the ‘beauty pageant’ stigma from the event if they continued
with their criteria, so I suggested other things they might do
instead.

Was it really all the outrage from blogs? Companies have sponsored
highly-criticized events before. The Miss Universe contest has legions
of detractors. No, I don’t think it was sheer outrage. I’d like to
think that the sponsors pulled out not because the contest attracted
lots of bad publicity but because the sponsors listened to our
thoughts and thought we made sense. Money speaks, and it took the
sponsors to make PCS consider other ideas. We argued as well as we
could, and that resulted in slight modifications of the event. PCS
thought it could deal with the other objections, but it took sponsors
to really drive the point home.

It’s a pity that PCS focused on extreme reactions in their press
conference. Instead of making bloggers feel respected and listened to,
they polarized the issue, turning it into an us-versus-them fight.
That wasn’t the best way to deal with this kind of issue. I would have
respected them more if they calmly outlined the issues and thanked
everyone involved, but I understand why they said those things. They
are also human, and it is hard to be calm when you see a pet project
fall apart. Other critics are also human, and it’s hard to accept
someone’s words as face value when you see it more as a cover-up.
There must have been better ways to deal with the whole mess, but it’s
done now, and all that is left to do is to reflect on the whole
matter.

I must confess being guilty of taking pot shots at PCS when I think
what they say doesn’t make sense. For example, I think their
cancellation is yet another example of bad PR, and I’m half-tempted to
volunteer to edit their press releases from now on. I’m allowed to
have and express opinions. I’m not a journalist, just a geek. I care
not only about my work but also the culture and environment I work in.

That said, they’re fine, and they did have good intentions. I can’t
imagine Leo Querubin waking up and saying “I think I’d like to have a
sexist contest,” and I believe them when they say they weren’t
thinking of making it a beauty contest. They just didn’t think about
it hard enough. Who here hasn’t made mistakes like that before? Who
here hasn’t been defensive about mistakes, trying to rationalize them
as long as possible before realizing they were wrong? I appreciate how
they invited us to join the press conference, although the timing was
bad for practically everyone. (A Saturday would’ve been better,
really, or they could’ve just held it online. That would’ve been much
more fun!) I appreciate how they asked someone who understood the
other side to serve as a consultant. (Hi, Ranulf!) I appreciate how,
to the very end, their intentions were sincere. I don’t think they
were in this just to make money. I think they just picked the wrong
way to achieve a goal, and then a wrong way to save face.

PCS still serves a valuable purpose. They have other projects and they
don’t need to be replaced or destroyed. Besides, there is no
organization ready to step into the gap. I hope that the lesson they
carry away from all of this is not that the public does not understand
them, but that we understand their objectives too well to let them
quietly make mistakes. We speak because we care.

Are we a mob? A thousand voices exploding on the Internet may seem
like a chaotic mess, but if you listen carefully you would be able
to discern the clear, calm tones of people like
Dominique,
Joey, and
Sean.
You would hear people who spoke from their hearts _and_ their minds, like
Clair and
Xenia.
You would even hear non-IT people with a clear understanding of the issues, like
Marcelle.
We are not a mob. We are simply people who know what we believe in and who care too much to be silent.

I will reflect some more on this if other people have interesting
posts, but in the meantime, I would like to thank the bloggers who
shared their thoughts, the journalists who helped us raise awareness
of the problem, and the rest of the gang for listening in.

Although it could have gone better, it was good that we did this.

On Technorati: , , , ,

My answers to [[http://home.uchicago.edu/~alexis/ostan.htm][Which OStan are you?]]




You are Linux. You’re not as well known as the others, but you have a devoted following bordering on the fanatical, and with your penguin suit and GNU helmet, you will someday bring Microsoft toppling down.

1. The alarm goes off in the morning. Your first thought is:
(*) Time to get up and fight evil!

2. You get out of bed and start to get dressed. Today you are wearing:
(*) a long coat, some high boots, my glasses

3. Now that you're dressed, you check your reflection in the mirror. How do you look?
(*) I'm probably cute, but I'm too busy to look in the mirror.

4. Okay, so you're pretty cute. Now how about some breakfast?
(*) No time for breakfast! There's work to be done!

5. Okay, now off to work! Are you a good worker?
(*) I'm an expert at behind the scenes work

6. Work can be quite stressful. Just how stable are you?
(*) I'm usually pretty stable until I blow up your monitor.

7. Well, how about siblings?
(*) Yes, but I sort of do my own thing.

8. So how do you feel about rival OSs?
(*) I battle daily to bring about the downfall of windows.

9. So, are you popular?
(*) Most people don't know or like me much, but those who like me are devoted.

10.And now the question no quiz is complete without: what is your favorite color?
(*) black and white, or possibly red

On Technorati: ,

flashcard-import-from-kill

The following code snippet makes it easier for me to import segments
from my dictionary files. It uses ../emacs/flashcard.el.

(defun flashcard-import-from-kill (deck)
  "Import cards for DECK from the clipboard, which should be colon-separated.

Question : Answer"
  (interactive (list flashcard-deck))
  (unless (eq major-mode 'flashcard-mode)
    (error "You're not in a deckfile."))
  (with-temp-buffer
    (yank)
    (goto-char (point-min))
    (while (re-search-forward "^ *\\(.*\\) +: +\\(.*\\)$" nil t)
      (flashcard-add-card deck
                          (flashcard-make-card (match-string 1)
                                               (match-string 2)))))
  (when (and (interactive-p)
             (not flashcard-card))
    (flashcard-ask)))

../emacs/flashcard-config.el

On Technorati:

PCS cancels Digital Pinay contest, cites violent reactions

Check out Philippine Computer Society cancels ‘Digital Pinay’ tilt for PCS’ announcement.

Asked what he has learned from the experience, Querubin said:
“Well, actually a lot. One is that people really think differently.
I was very surprised at the public briefing that some people
apparently feel that others don?t have the right to use a word
[such as] ?digital? differently from the way they use it.

Hmm. Apparently, they managed to annoy more than just
us crazy bloggers. Who’d
have thought?

The organizers added that threats to splash acid on the contestants
and flood the contest’s e-mail address with spurious application
forms, also contributed to their decision to cancel the event.

Splashing acid on contestants isn’t our kind of thing, although the
_organizers_, now… *ahem*. No, no, we’re not into physical damage.
We’d be happy to flood their e-mail box or otherwise inconvenience PCS,
but we don’t cross over into meatspace. Definitely some other angry group. What fun.

Asked what he has learned from the experience, Querubin said:
“Well, actually a lot. One is that people really think differently.
I was very surprised at the public briefing that some people
apparently feel that others don’t have the right to use a word
[such as] “digital” differently from the way they use it.

Now that is a rather strong spin.

I know the people who went to the public briefing. They’re nice, rational people who were willing
to give PCS a chance. We might not like the way PCS just throws around the word “digital”, but we
said it might be very misleading, not completely wrong for PCS to use.

That’s probably just because we’re more in tune with geeks today than they are.

Anyway, good riddance to that Digital Pinay thing. I hope they go back
to focusing on the national programming contest, and I hope they do it
better this time. I did that schtick throughout high school. Great
experience, although PCS screwed up every now and then too.

(Psst! They have a professional category! Reunion, anyone?)

On Technorati: , , ,

Luxury

The onsen had a wine bath. Wine! With that and the different kinds of
saunas, my head feels finda fuzzy… But yeah, today was lots of fun.

On Technorati: , ,

Reflections on what I value

- I love teaching. I love getting people to understand and appreciate

technology. I want to help people develop a sense of control over
their computers. I want them to be able to have fun while
programming, to see the creative side of technology. I also enjoy
exploring new ways of teaching, and I want to be able to experiment
with lots of techniques while adapting to individual differences.

- I love learning. I want to keep computer science fresh in my mind. I

also like exploring new technologies. I like playing around with
ideas, keeping a rough index in my head of things that may be useful
to other people.

- I want freedom. I want to be able to learn whatever I want to. I

want to work on projects of my own choosing and teach lessons I want
to teach. I want to be able to take off in the middle of the week
for a conference or a meeting.

- I love presenting ideas, tools. I want to present to and receive

ideas from as many people as possible in as many places as possible.

- I like writing. I want to write about new technologies and new ways

of working, turning the spotlight on past work and contributing new
knowledge to the world.

- I love working on open source.

This will be followed by a long reflection on teaching and other
options tomorrow.

One-hour hacks

Do tell me what happened with your web development company. At the
moment, I’m wondering what caused you to initiate your one-hour hack.

Just Because I Can. <impish grin> Never underestimate an annoyed
geekette with a block of free time.

Seriously, keeping track of how much time it takes me to actually
implement things… Wow. Thanks to
../emacs/dev/planner/planner-timeclock.el, I can tell you how long
something took to implement. That’s given me a newfound appreciation
for lunch hour and (formerly) free time. Lunch hour is another new
planner feature, or a new website look, or a few new discoveries on
the Net.

I don’t think we’ll be needing the web dev company any more. I think
that at this point we aren’t likely to see significant improvements
with professional design, given that the company isn’t into
copywriting. I would’ve greatly appreciated the services of a real
copywriter who can, say, review our documents and write for the web,
but the web firms in the Philippines don’t offer this as a service. I
suppose I’ll just have to trust my senses when it comes to the Net.
The current Adphoto website is still
too marketing-fluffy for my tastes, but I can tweak that when I get
better ideas.

Slashdot humor

From nyteroot‘s comment at
http://slashdot.org/comments.pl?sid=131235&cid=10961947 :

 1n r3sp0ns3 t0 th1s, 1 h4v3 0nly 0n3 th1ng t0 s4y:

    $ m4n scr33n
    -bash: m4n: command not found

...d4mn1t.

Tokyo LUG December nomikai, tentative list

- 1. Chris Sekiya
- 2. Vic Thacker
- 3. Stephen Turnbull
- 4. Michael Moyle
- 5. Sacha Chua
- 6. Alberto Tomita
- 7. Kinichi Kitano
- 8. Michael Reinsch
- 9. Mudreac Nelu
- 10. ITSUMI ken-ichi
- 11. Rena Abe and Kensuke Chigusa (My friend)
- 12. Zev Blut

Stephen Turnbull! Stephen Turnbull of XEmacs!

E-Mail from Stephen J. Turnbull

The one-hour hack strikes again!

http://www.adphoto.com.ph

Not bad for a one-hour hack straight out of bed. Time to change
clothes and eat breakfast…

Emacs on Mac OS X

Sven Kloppenburg said:

using Emacs on Macosx myself, I can tell you that emacs 21.2.1 comes
with macosx. If you want a more recent version, you can just checkout
the CVS-Emacs and cd mac; ./make-package —self-contained to get an
installable macosx-app that plays nice with planner.

btw.: a .dmg file is mounted by double-clicking it ;-)

Ooooh, nifty. I wonder if it comes with pretty widgets. I want my mom
to have a menubar right away. <grin>

Thanks for the tip!

E-Mail from Richi’s server

Web site design

After seeing the quotation from the web design firm my mom’s thinking
of using, I have gotten sufficiently annoyed about the current design.
I will apply my one-hour hacking challenge to
http://www.adphoto.com.ph tomorrow. That is, in one hour, I will try
to whiz through as many improvements as possible.

It’s been enough time that I’ve forgotten what their design looked
like. I’ll sit down tomorrow and hack up something small and simple.
Neat. No frills. Clean and elegant, though, and search-friendly. It
won’t get picked up by the search engines right away, but I’ll see
what I can do about that also.

If they think the design resembles theirs too much, I can modify it.
<shrug> Still, better to have code I understand than autogen
code I don’t.

Some insights:

- Websites can be tweaked over time, just like software. I can improve

it incrementally. I should think of it like planner.

- I wanted a professional design firm because I wanted a real

copywriter to go over the stuff. I don’t want people to just
copy-and-paste blocks of text from the company profile.

- I also wanted someone to do the initial implementation so that I can

just do maintenance, which I enjoy. If I’m sufficiently annoyed,
though, I can just evolve the site. One of the most effective ways
to get me to do something is to make me annoyed enough with the
current situation.

- Design: As long as it isn’t horrible, it’s okay. People will visit

for photos and information, not for website design tips.

- Future: Stock photos CMS, delicious-style tagging. But not now.

Small hack forward.

Today

We reviewed all the grammatical structures taken up over the last 25
chapters. I found grammar easy to remember. I think it’s because I
remember patterns well. That’s probably why I can pull almost-random
information out of my head. On the other hand, I have a hard time
remembering details, so I’ll need to revise a lot for my kanji test on
Monday afternoon.

After lunch, I got several bug closes back from happy Planner users.
I just love it when that happens. =)

I also e-mailed someone with Japanese page about emacs-wiki. I told
him about the change of maintainers and the new way of getting
versions. =) It was a good opportunity to practice translation, and
I’m slowly getting the hang of it. I love practicing with
documentation of my own software… ;)

I met some people from my host company
this afternoon. Apparently, there aren’t a lot of Linux projects these
days, so they’re changing our training program. I’ll be learning
Delphi instead. That should make Ranulf quite happy. I’m looking
forward to learning Delphi. =) (It’s a heck of a lot better than
working with VB, and there’s always Kylix for us Linux geeks…)

Managed to survive using Japanese. Understood most of what they said.
Way, way, cool.

Practiced poi. Took video of what I think might be a fountain. Video
will be uploaded to http://www.adphoto.com.ph/sacha/ eventually.
(Probably today.)

Tonight is planner packaging night. After that, I’m going to upload my
poi videos and relax before tomorrow’s cramming session.

I wonder what this means

plannerのPlansディレクトリを無理やりWikiと合わせた。こんなことしていいのか
、わからないけど、まあいいか。

Planner’s Plans directory has been forcibly combined with Wiki. I’m
not sure if this is a good thing. I guess it’s okay.

2004年4月のコンピュータ駄目日記

Reply from Mom

For your info, the two Perla bars are real laundry SOAP -
not detergent. They would be less convenient to use- they don’t sud as
quickly – but they would be gentler on your clothes and your hands,
and on the environment as well. There was a time when Kathy was in
grade school when she campaigned against detergent – in powder or bar
form – so we switched back to Perla. Our labandera was not too happy
but maybe our rivers and seas were – if they could only speak.

Hey, cool. I guess that means I have to figure out where I left that
bar of soap. I think I left it in the laundry room by mistake. Chances
are it will still be there. I have another bar of soap, though. I also
need to figure out how to make sure what I’m using doesn’t have
bleach, as I anticipate having to buy laundry soap one of these
days…

Haven’t even dipped into the money my parents have set aside, so I
guess I’m still okay. =)

Japanese test

Whew! The AOTS Japanese test was a diagnostic exam to help them figure
out what level we should start classes at in Japan. Got 98% on the
kana test because I misheard one of the sound samples and guessed
instead, and 89% on the first course test. Whee!

STUDYING FOR THE BAR — 55er

“Could you help me analyze this?”

“Give me that.” Pages flipped. “The bar’s tomorrow and you’re still
having problems? You’d be so lost without me to help you review. It’s
your textbook asset preservation prenup. Can’t see what’s wrong with
it.”

“Last page.” Nervous cough. “Doesn’t have your signature.”

Pause.

“Of all the ways… Yes!”

- Written for flashxer prompt “Letter from a lawyer”

Zaurus accessibility

I know someone who has one, and has been using it. But his immmediate target
is people with intellectual disabilities (he’s the guy behind
http://www.peepo.com – which incidentally should be accessible for blind
folks too, if not necessarily your choice of subject matter).

There is also a group in Columbia who have been working on accessible linux
applications for blind users on a PDA. They are the folks behind Blindux, a
linux distro with a simple set of applications, designed for ease of use over
extensive power. I’ll chase up the details (if I vanish, feel free to ping
me and remind me of this).

E-Mail from Charles McCathieNevile

Imagine Cup

Fanny Sy wrote:

I’m so proud to announce that our team representative for the Imagine Cup
competition has won the Imagine Cup country finals.

The team is composed of 3 students from Ateneo namely Charles Yeung (4 MIS),
Erwin Lee (3 MIS), and Mark Punzalan (3 CS) and 1 student from La Salle
namely LJ Chiu.

They will be flying to Brazil next month to represent the Philippines and
compete in the Imagine Cup World Finals.

Go Ateneo! =) See, Ateneo de Manila University _is_ a cool school for
computer science…

E-Mail from Stephanie Sy

Much productive hacking last night

- Dusted off CoursesSubmission and started hacking on it again: minor

template tweaks (tables instead of lists, for example) and some code
refactoring into objects.

- Almost done with JavaCd. Just need to download Eclipse RC1 and

update the installation instructions, then we’ll be all set. I don’t
think I’ll be able to put my material on the CD, but at least I’ve
included the PPT slides from the aegis website as well as the
excellent chortle tutorial.

- Sent Ching a formal thank-you note for the lunch with Som Mittal.

- Upgraded my kernel to 2.6.6.

- Started work on PlannerDatabase, which will get around the problem

of having tasks in different places. Should probably consider
working with one of the real database packages like EDB, but will
have fun coding it anyway. Actually have a test-suite with decent
coverage.

- Have also figured out how to use testcover.el. Am pleasantly

surprised to find out that it’s actually in main Emacs, so will
remove it from my ../emacs directory. Have not yet figured out
how to properly use 1value, but that’s okay.

- Am changing the way I use planner. Have realized that I don’t

actually need planner-align-tasks, planner-renumber-tasks and
planner-renumber-notes in my write-file-functions, and will probably
remove those from the default.

- Used Gnus to pull data out of old Eudora mailboxes. Whee! My mom

needed to find mail related to her business trip to Malaysia. The
semi-fuzzy search was fun.

- Found my apartment keys. Yay!

Why am I interested in short stories?

Flash Art

Who can paint summer in fifty brushstrokes and three colors? Brushes
and palettes clattered throughout the warehouse, artists bent on a
challenge beyond mind-numbing portraits and caricatures. It didn’t pay
the rent, but it kept us sharp.

Hours passed. Still a blank canvas. The judges grew impatient. “The
competition’s only until three.” I took no notice. Someone won. I
don’t know who.

Alone in a warehouse. Brush on paper – a broad, confident stroke. I
smiled.

E-Mail to [email protected]

nowikilink

It would be nice to have a tag that turns off implicit wikiname linking…

LEO

http://leo.sourceforge.net

I think this is a pretty cool idea, but I want it inside Emacs, not as
an external application – not even if I can use Emacs as an external
editor. I remember running across something vaguely related – some
form of category browser.

Nice, but I’ll only use it if it works within Emacs. ;)

CS21B meeting

- Design patterns
- Make your own questions: 2 questions, 10 points
- Composite (shapes), Observer (listeners), Strategy (sorting), Decorator (files)

Procedure for thinking about network programs
- Who are talking? “hosts”
- What info does each need? Think about data objects that will be passed on network
- Who has what?
- Sequence

encapsulation

A: design patterns or data structures
B+: infinite connections
B: no obvious bugs
C+: documentation for install and play
C: networked, two-player, multi-threaded

Sacha: linked lists today, announce extension and schedule of defense

NetHack progress

Another new character. Now level 11 and camping near an altar.
Have picked up a couple of magic markers, blessed two of them,
wrote ?oCharging. Recycling spellbooks: wrote +oIdentify and +oCM
on the same spellbook. Have Magicbane, hope to get spellbooks off
god.

So far so good. Potions and scrolls in short supply, though.

Miguel Paraz on Livejournal

Miguel Paraz has a new blog on
http://www.livejournal.com/users/mparaz/ .
http://www.mparaz.com/wordpress/ still has some notes.

More geek personality tests

http://www.innergeek.us/geek.html

Old computers

http://www.old-computers.com

E-Mail from Dominique Cimafranca

Jerome topped the JITSE!

(Unofficially) topped the exams :-P. Got the word from
the JITSE trainor Amil’s talking to re training.
Amil’s 3rd, so we’re figuring Neil’s 2nd.

Nifty. Respect++. ;)

E-Mail from Jerome Punzalan

Family businesses

My parents both work in advertising photography. My father is one of
the most famous commercial photographers in the country. My mother
manages the business. They started from practically nothing and built
a very successful business. Their partnership works. My father is
passionate about his work and enjoys creating beautiful images. My
mother makes sure that the company runs smoothly.

My father will probably take pictures until it is physically
impossible to do so. I don’t think he’ll willingly retire. My mother,
on the other hand, does the behind-the-scenes work so that my father
can pursue his dream. She looks forward to a quiet retirement and time
to read, write, knit, think, dream… Still, as long as my father
wants to shoot, she’ll be there keeping the company running. I think
that’s really wonderful of her, although I wish she could pursue her
dreams more often. I think she really enjoys travelling, reading
poems, and seeing beautiful landscapes.

I am the youngest of three children. Our house has always been part of
the office, so my sisters and I grew up watching them work. Our
passions lie elsewhere. Ching used to be an IT manager at Proctor and
Gamble before transferring to HP because of the company move. Kathy’s
interested in photography, but is thinking of being a flight
attendant. I really love teaching.

Kathy is the most likely successor to the business, but she doesn’t
really see herself doing advertising photography right now. We’d
rather see the employees inherit the business because great business
requires great passion. G-nie looks like she’ll do a great job, and
she’s learned a lot from my father. My mom will be hard to replace,
though.

We never felt pressured to join the family business. Our parents are
open about the different paths we want to take. Sometimes, though, I
worry about what will happen when the torch must be passed. I don’t
want to see Adphoto dissolve because there are so many people who have
worked there almost all their lives, and I just can’t imagine them
looking for work anywhere else. I know, however, that I’m ill-suited
for the job – at least if I want to pursue my own dreams.

Stuff to think about.

Reading exercises

Another major hack for this month would be the collection of at least
25 code-reading exercises covering basic Java syntax. This will help
students practice their code reading abilities and test their
understanding of Java syntax. These should be arranged by topic and
should cover variables, expressions, conditionals, loops, and Boolean
logic.

Monthly hacks: vc-arch.el

I will finish at least one major hack per month. This month’s special
is vc-arch.el, which for some reason does not seem available on the
Net. I have sketches of it up at ../emacs/emacs-wiki/vc-arch.el. I
feel that if nothing else, at least I’ll have a mode that makes it
easier for me to manage my planner work.

Getting a diff through C-x v = already works. I want to be able to
commit my changes with a quick C-x v v. If more than one file has been
modified, I want a dired-like buffer displayed so that I can select
which files to commit.

emacs-wiki-id.el

../emacs/emacs-wiki/emacs-wiki-id.el contains a first attempt at
an ID system for emacs-wiki and indeed is quite nice. Following IDs works.
I’ll figure out how to automatically add, create, remove, yadayada them soon.

Code Reading: The Open Source Perspective

Playing on my strengths as all-around puzzler-out of weird software,
perhaps I should explore software archaeology and code reading a bit
more. The http://www.spinellis.gr/codereading/index.html looks
like exactly my kind of book, and I think it’s worth getting. I will
need to save up for it, though. Addison Wesley, 2003. ISBN
0-201-79940-5.

google:code+reading

{{1:2004.01.02,ComputerScienceEducationSites}}

emacs-wiki sites

In fit of insanity, searched for sites that used emacs-wiki. Quite a list.

- http://www.self-core.org/~kaoru-k/wiki/EmacsWiki.html
- http://larve.net/people/hugo/2003/scratchpad/EmacsWiki.html (has RSS)
- http://www.oranda.demon.co.uk/planner/EmacsWiki.html (uses planner)
- http://members.iinet.net.au/~mtriggs/emacs-wiki.html (has a gallery)
- http://gohome.org/teranisi/EmacsWiki.html (has recent changes)
- http://www.gohome.org/teranisi/news/ (hey, nice linking)
- http://www.naney.org/personal/diary/2002/04/c.html#200204224 (like planner, but several days on a page)
- http://senzai07.poly.kit.jp/~iwata/EmacsWiki.html (uses the emacs-wiki-rss module, I think)
- http://www.geocities.co.jp/SiliconValley-SanJose/7474/EmacsWiki.html (nice index)
- http://www.iris.dti.ne.jp/~yoshimik/EmacsWiki.html
- http://homepage.mac.com/yenlung/WebWiki/EmacsWiki.html
- http://www.apollostar.com/k-ishii/EmacsWiki.html
- http://db.cs.hit.edu.cn/people/WangChunyu/wiki (zope, also)
- http://verify.stanford.edu/satyaki/emacs/EmacsWikiTricks.html (fontlocking)
- http://verify.stanford.edu/satyaki/backpacking/EmacsWikiAlbumCreation.html (album)
- http://satosan.jp/EmacsWiki.html (looks like some planner, too, but very old version)
- http://tkskkc.at.infoseek.co.jp/WebWiki/emacs-wiki.htm
- http://senzai07.poly.kit.ac.jp/~iwata/ChalowForEmacsWiki.html (changelog on the web)
- http://gnufans.net/~deego/DeegoWiki/WikiIndex.html (deego)
- http://www.frankgerhardt.com/WikiIndex.html (indexed by date)
- http://www.math.tu-berlin.de/~baier/WebWiki/Public/WikiIndex.html
- http://www.archi.is.tohoku.ac.jp/people/yusuke/Emacs-wiki.html (planner and remember, but some old workarounds)
- http://mux03.tdiary.net/20031206.html (nonplanner diary with headlines on the side, but actually running on tdiary not emacs-wiki)
- http://air.zive.net/emacs-wiki/EmacsWiki.html
- http://www.biostat.umn.edu/~nali/AboutThisSite.html (source link, good idea)
- http://www.ntu.edu.sg/home5/PG04878518/EmacsTools.html (grid computing)
- http://www.self-core.org/~kaoru-k/wiki/EmacsWiki.html (planner, looks old style and custom)
- http://www.teria.com/~koseki/emacswiki/EmacsWiki.html
- http://www.xatax.de/phobos/WelcomePage.html
- http://aadis.de/wiki/PageIndex (referers, index, search)
- http://supermon.sourceforge.net/ (on sf for work)
- http://www.tc.bham.ac.uk/~matt/WikiIndex.html
- http://home.earthlink.net/~rdtietjen/Hypersphere/BackLinks.html#wikiweb (hmm, backlinks might be fun)
- http://ne.cs.uec.ac.jp/~miya/WebWiki/WikiIndex.html (simple)
- http://www.8ung.at/rotty/Software.html (planner)
- http://www.ceres.dti.ne.jp/~george/jdiaryA21001.html#2002100701 (brief mention)
- http://www.apollostar.com/k-ishii/TableOfContents.html (internationalized links, too)
- http://saslab.is.titech.ac.jp/~nakaya/WikiIndex.html
- http://tao.uab.es/jao/ – just one page
- http://www.cs.unc.edu/~lastra/Courses/Verilog/talk/html/WebLinks.html (for courses)
- http://kind.cs.kun.nl/~kiniry/Wiki/WikiIndex.html (planner custom)
- http://www.contactor.se/~matsl/WikiIndex.html
- http://viz.aset.psu.edu/ga5in/WikiIndex.html
- http://www.nongnu.org/xmakemol/WikiIndex.html
- http://dev.gentoo.org/~mkennedy/WikiIndex.html
- http://www.ipd.bth.se/mhy/KB/WikiIndex.html
- http://www.aoc.nrao.edu/~bwaters/Wiki/WikiIndex.html (planner)
- http://www.daimi.au.dk/~terryp/WikiIndex.html
- http://www.geocities.com/CapeCanaveral/Lab/6422/WikiIndex.html
- http://www.1729.com/wiki/WikiIndex.html (not sure)
- http://elektrubadur.se/WikiIndex.html
- http://home.t-online.de/home/c.ehbrecht/WebWiki/WikiIndex.html
- http://alcor.concordia.ca/~peter/WikiIndex.html
- http://www.ime.usp.br/~renato/WikiIndex.html
- http://www.cs.brown.edu/people/roth/WikiIndex.html
- http://www.geocities.co.jp/SiliconValley-PaloAlto/7043/WikiIndex.html
- http://www.cs.utexas.edu/users/hllu/WikiIndex.html
- http://www004.upp.so-net.ne.jp/nagae-r/WikiIndex.html (diary file)

Google for WikiIndex and find many, many more.

Notes

- http://www.me.ics.saitama-u.ac.jp/~hira/emacs/howm/ has some ideas for guids and grep.
- http://d.hatena.ne.jp/tengsama/20030704 mentioned emacs-wiki

Emacs-wiki community wiki

http://www.emacswiki.org/cgi-bin/community/SiteMap

Didn’t know there was something like this – or that we now enjoy near
links in oddmuse. What a cute feature!

Blogging is alive and well under Emacs

in reaction to http://www.sfu.ca/~gswamina/BlogsAreDead.html

I’ve had a blog for roughly a year and a half now, and I think I’m
pretty much settling into the routine. Reading Ganesh’s BlogsAreDead post, I think about how I use Emacs to keep track of my notes.

Linearity – Blogs are linear, ie usually in chronological
order. My knowledge/experience is non-linear (fortunately). There is
an obvious mismatch here. I don’t see how I can write coherently about
recursive functions, pipelines, privacy and chicks in the same
post.

I split this up into several remember-to-planner-plan-page-dwim posts,
usually cross-linking them with a topic page.

Lack of time – Everybody seems to be bringing this up. I
don’t post very often, but when I do, they are long ones. If you’ve
noticed, my titles are usually one or two words – “Skills”, “04-1
Registered”, “Talks”, “Its Tuesday”, $(rand dict). Not very
descriptive. Often, I remember writing about something, but not able
to track it down. Sad, really.

My titles aren’t all that descriptive either, but that’s what M-x
planner-search-notes in planner-experimental.el is for. And yes, I
really hate it if I know I blogged about something but I can’t
remember how to bring it up.

Non-conformance to standards – When you put together an entry, do
you check if it confirms to W3C standards every time ? Honestly,
that’s insane. A standard transformation mapping will make life so
much easier. I now face a problem, how do I convert my old entries ?
I seem to have used three to four different ways to post my code,
all of them every inelegant, except for the last.

I work with plain text.

Immature – Blogging software is not powerful enough. What
if I want to quote an email message, or a news thread ? Or simple
syntax highlighting ? Or even on the fly spell checking (known as
flyspell-mode in emacs, BTW). Couple this with my non-descriptive
titles, how do I cross reference things ?

Emacs is wonderful!

Not cool – Blogs aren’t cool anymore, since every kid
happens to have his own. When you come across somebody’s blog which
appears to be very interesting, do you take the time to read through
his archives ? Ofcourse not. More bit bricks.

I often read through other people’s archives. I hope that the
cross-references with plan pages make it easier for people to see
related stuff, but I plan to have some kind of search someday.

Stagnant – “The only thing that is constant is change.”
Spring->Summer->Fall, so many things change around you. About 28.5%
(eh !) of your content is stale. Your views on life constantly change
(you may deny it). Going back and changing stuff just doesn’t make
sense when your entries are chronological.

I frequently go back and post updates. I also tend to reorganize the
plan pages fairly often, although that does mean semi-broken day
links. (Must get those GUIDs up and running!)

Emacs is way cool.

Emacs-wiki and RSS feeds

http://www.sfu.ca/~gswamina/EmacsWikiPatches.html . Check this out
sometime and steal all the cool ideas (with appropriate credit, of course). ;)

Places to visit

AU: Basser Department of Computer Science, The University of Sydney

- Problem-Based Learning for Foundation Computer Science Courses
- Mike Barg, Alan Fekete, Tony Greening, Owen Hollands, Judy Kay, and Jeffrey H. Kingston
- Kathryn Crawford, SMITE Research Unit, Faculty of Education

Why am I trying to learn arch again?

More about arch

Okay, I’ve finally created and imported planner.el into an arch
repository. It certainly doesn’t seem as handy as RCS, but I guess
it’s supposed to be a Good Thing. That said, arch seems like overkill
for the kind of maintenance I’m doing right now.

E-Mail from Damien Elmes

emacs channel logs

http://tunes.org/~nef/logs/emacs/

w00t! Hacked the ground beef!

Thanks to Dominique’s advice, have figured out how to get nicely spiced ground beef. Had absolutely wonderful bite-sized tacos for lunch. Let Eric and Andrei taste it; they were much impressed.

Finished three tomatoes, a fourth of a head of lettuce, and 1/8th kilo of ground beef. (Actually, 1/10th looks like it’ll suffice.) Hadn’t touched onions at all.

Having hacked the taco / taco salad, must now find other things to do with ingredients in ref. Perhaps can begin with egg?

tla on debian

I needed to use tla add-tag *.el instead of tla add *.el.

Formulaic song

http://www.emba.uvm.edu/~mdebowsk/titleofthesong.html

E-Mail from evidal

Midterms for CS21A

Scheduled for 2003.12.16

- Refactoring
- UML
- other stuff

w00t! Wireless works!

Had to configure the encryption key.

iwconfig wlan0 key xxxx-xxxx-xxxx-xxxx-xxxx-xxxx-xx

Wireless

Apparently, it’s called hostap now. The 2.6 patch in hostap-source
applied without a hitch. Now let’s see if it’ll compile…

http://angerman.net/articles/wap/

Oooh, Perl is cool

perl -e 'print "*" x 80 . "\n"'

I didn’t know about x number…

Intrams and Pisay Curriculum

This rant’s from Julius B. Legaspi III:

Thank you for those who sent their comments so far.
Rest assured I will try to accommodate your inputs.
Before we engage in endless debate (all talk no
action), the SA’s appeal is only to try bringing back
the Intrams again (as any other high school, special
or not does). Sports development is a basic teenager
right! The disappearance of the Intrams and support
for varsity teams are just symptoms of a BIGGER
problem. We cannot solve EVERYTHING right away but we
have to start somewhere.

I’m MAD because I see those who really wish to work
hard and yet their efforts are never enough to do
well. I’m not talking about the exceptionally gifted
but the ordinary Pisay scholar who simply strives to
be the best he/she can be. Ito yung tipo na may
schedule pero pag pinagkasya nila lahat ng gagawin,
kinakain ng mga kung anu-anong requirement pati oras
ng pagtulog at weekends. Isn’t anything SACRED
anymore? Besides you are only YOUNG once! Kahit high
IQ ang isang bata, bata pa rin siya. I’m not defending
the SLACKERS although some of my students and
non-students accused me of coddling them. NO! I really
wished to understand EVERYONE! To answer the
naysayers, I can cite a lot of students who were
written off in high school who are now the BEST
persons they could be. Since I gave them leeway then
and guided them accordingly, they have gained the
confidence they may have lost during their Pisay
years. There might be a loophole in the entrance exam
but still we have to hope that you have to take it
twice, somehow mahirap na mambola to get yourself in.
Sabi nga ni Dr. Penano-Ho, head ng Phil. Gifted
Association, these are the ‘cream of the crop.’ How
come in certain subjects most of the students fail?
Shouldn’t we be alarmed with that na parang charade
lang pala ang klase? Teachers try to finish the
lessons kahit konti lang nakakaintindi. Estudyante,
magpapanggap na kaya na hindi naman. Tapos, pagdating
ng exams, bagsakan. Ano, solusyon? Tutors? (No offense
to those who offer this service, it was my bread and
butter then in college). But dependence on tutors only
make the classroom irrelevant. Di na makikinig sa
teacher dahil may magpapaliwanag naman later. Nagturo
pa ang teacher. Umattend ka pa ng klase.
Magkanya-kanyang tutor na lang sila lahat. MORO-MORO
(no offense to the Moros) ang nangyayari.

Yes, Pisay is a special school so don’t give
importance to the arts and non-science endeavors. We
can still true to our mandate when we provide AVENUES,
OPPORTUNITIES for students to dabble from time to
time. Take note dabble not really specialize. Who
knows? Their calling might really be in the arts.
MAGPAKATOTOO NA TAYO. All your college life, di ka
masaya sa course mo dahil may kontrata ka sa Pisay.
Ano mangyayari? Matagal ka gagraduate dahil babagsak
sa walang gana o di talaga kaya. You end up becoming
miserable and might even commit the greatest
injustice, take away your life, ending all of your
posssibilities. If you’re meant somewhere else, follow
your HEART. Even Pisay acknowledges people like Butch
Dalisay, Jessica Zafra, a music conductor, a
powerdance instructor, chefs, homemakers because
though they didn’t end up as strictly scientists and
engineers, their Pisay training made them more
effective in those non-science endeavors. Being
scientific means being effective in whatever you do.
Making things better is TECHNOLOGY. You are only
effective if you LOVE what you do. If you love what
you do, you do it BETTER then SOCIETY benefits.
Development is never far for people who are happy and
at PEACE with themselves. They have a sense of
purpose.

I’m not pulling YOUR legs. Go to Friendster, read
those testimonials. I think in my own small way, I was
able to empower each and every one student I met.
Since they believe in THEMSELVES, I know CHANGE will
come. It may not be NOW but IT WILL. These replies to
my sincere letter are only the tip of a snowballing
affirmation that we are zeroing in on something. Some
of them might teach in Pisay, become directors, become
DOST staff, or even government officials. If they
don’t forget that they were once students, they will
be more sympathetic.

Why am I very optimistic? I have some students who
already graduated and still studying who have
developed attitudes that will help this country rise.
You may accuse me of grandstanding since I’m
migrating. I won’t be part of the change. Love for
one’s country knows no distance. I can still inspire
people even when I’m away. Some are already doing it.
I’m so happy this school year that I have also gained
the courage to also reach out to students who are not
in my class. I may not be able to teach the lower
years but some are already enlightened.

Proof that things are changing. This Thursday they
agreed to give students a break. Especially for the
4th year, this was IMPORTANT! Do you know that after
periodic exams, they had to put up the FAIR in October
take note! Yet, while they were doing that some were
still taking post-quarter requirements. Ang intindi ko
pag post-quarter para lang sa mga mag-mamake-up pero
ibang usapan na kung buong klase may post-quarter. Any
logical person would ask: di pala kaya sa isang
quarter bakit pinipilit? If you recall my point in the
earlier letter, some of the topics uulitin din naman
sa college. Case in point: among the science subjects,
bio lang ang wala halos bagsak and most of those who
graduate end up taking bio. Why? The Bio unit really
took to heart their students pleas. They reviewed
their curriculum and only retained the essential ones,
yung talagang basic na kelangan nyo in the future if
you wish to pursue the field. Masaya sila sa Bio. May
sense of wonder. They really feel they are learning
not just cramming stuff in their heads. Sabi nga ni TJ
of 01, pakialam ba nya sa mga equations kung sa field
niya wala naman siyang relevance. Imagine if all
teachers insist that the world revolves around their
subjects. If you are a HS student, you are like
working for 10 bosses. Sa mga nagwo-work na or
nag-O-OJT, di ba isang boss pa lang ang hirap na
pakibagayan, tapos may mga asungot ka pang co-workers.

They are wondering how come students in Diliman are
not achieving in contests, passing the UPCAT like
before. If you really know your Pisay history, then
classes ended at 2pm. So as your older teachers
attest, students then could be free to explore some
more and be more creative (which is a basic ingredient
of any innovation). Being free doesn’t mean your idle.
It means you relax your mind by playing sports, engage
in clubs, chat with your teachers. These informal
chats are actually more enriching because the teacher
will be more able to connect the lessons to a
student’s life.

STOP the INSANITY! Why are we such in a hurry to cram
everything in a teenager’s head even if he has a HIGH
IQ? Quality over quantity! Less is more! The geniuses
can take care of themselves, these are the type who
don’t care about anyone else. We must help those who
strive but certain structures make it difficult for
them to achieve their potential.

Please don’t hesitate to react because after we get
the Intrams approved, curriculum review is never far
behind.

Ito ang totoong pakikibaka! Remember corruption of the
best is the worst. We are making sure we are educating
the cream of the crop right so they can help more. The
massses will always follow anything that leads. A
pisay scholar is born to lead.

Your reactions affirm that small efforts DO make a DIFFERENCE!

________________________________________________________________________
Want to chat instantly with your online friends? Get the FREE Yahoo!
Messenger http://mail.messenger.yahoo.co.uk

To unsubscribe from this group, send an email to:
[email protected]

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/

Head First Java

20 Questions

<http://y.20q.net:8095/btest>

Gino says:

I gave this as an exercise to my CS119.2 class. Too bad I couldn’t stretch
it too much because it’s not really course-related, but I put it as a “CS
exercise which CS students ought to think about.” :)

Had a lot of fun with this — unfortunately, the guys behind it don’t want
to show their implementation to the world (yet?). :)

Communication problems

I talked to 1 today because he and 2 aren’t getting along very
well and I feel that something must be done.

He said that he had taken a part-time job. He also said that 3
pressed 1 for details, but he didn’t want to say where he worked.
(This may have been a good move, as after all, 2 seem to be under
the impression that 1 name-drops a little too much.)

The reason 1 gave for not wanting to say where 1 worked, however,
was the “crab mentality” of other people, and that he didn’t want to
say until “the air was clear” (memory fuzzy). I noted that that
statement could be taken to imply that 3 had “crab mentality”, and

1. confirmed that that was what he meant.

I was concerned about that. I did not agree that these
miscommunications are the product of “crab mentality”. I said that the
way we act toward others shapes the way they act toward us, and
personally, I find the department very supportive. I find it hard to
believe that 3 has crab mentality, as 3 has accomplished much on
his own, actively helps other people learn, and has no need to put
other people down in order to raise himself.

(Note to self: must ask 4 for the transcript)

I suspect that he1 needs to think about what he implies.

More thoughts about it sometime. I should probably send him a summary
of points to confirm/deny/elaborate.

Array review — cs21a, education

Drew from ACM problems today – used a simplified Lights Out! for their array game tomorrow.

Open content textbooks

http://textbook.wikipedia.org/

Created WearableComputingPlans

WearableComputing contains the general public stuff. =)

More about life, the universe, and everything

Jerome seems to have been rather busy. He was here just yesterday,
(errata: Saturday, it turns out, so things aren’t that bad) and if I
had not joined the other teachers at The Grind, I might have met him.
I usually eat at Eyrie by myself, anyway.

I suppose it’s for the best. If I were there, it would have been
somewhat awkward. They planned to review, after all. It would probably
be hard for them to leave me eating alone, and it would be hard for me
to eat alon