March 2008

Internet experiment #2: Ordering clothes – success!

March 2, 2008 - Categories: life

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. =)

Weekly review – week ending March 2, 2008

March 2, 2008 - Categories: weekly

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.

Trying out the high-flying lifestyle

March 4, 2008 - Categories: sketches

080305-04.20.47.png

I have to confess that I’m more than a little anxious. That’s a lot of time spent in conference centers and airports.

What the heart has once owned and had, it shall never lose

March 4, 2008 - Categories: sketches

080305-04.29.27.png

You know what it’s like to make a choice you really don’t want to make, but have to because it’s the right thing to do?

I will probably not be bringing my cat over from the Philippines.

It is the choices we make that show who we truly are, far more than our abilities

March 4, 2008 - Categories: sketches

080305-04.35.29.png

“It is the choices we make, Harry, that show who we truly are, far more than our abilities,” said Albus Dumbledore to Harry Potter in JK Rowling’s The Philosopher’s Stone.

It’s always been a little intimidating, having all these doors open. It can be a struggle to find and listen to the small voice of my intuition when I’m surrounded by so many good suggestions and opportunities. I need to make sure that I’m growing at a sustainable rate, that I don’t overcommit or burn myself out, that I don’t lose myself. I need to make sure my priorities are right, and that I actually follow them.

He loves his new white hat

March 4, 2008 - Categories: sketches

080305-05.23.02.png

Working on the book

March 6, 2008 - Categories: wickedcoolemacs, writing

Now that I have an idea of what a good Wicked Cool Emacs book chapter looks like, I find it much easier to write and edit chapters. I’ve just finished revising my first three chapters based on my editor’s feedback, and they will be finding their way to my technical reviewer soon. Bursty productivity indeed.

Oh, that and productive application of structured procrastination… =)

Wow. Physics can be phun.

March 6, 2008 - Categories: geek

Props to Michael McGuffin for this awesome find: Phun – 2D physics sandbox. Watch the demo or download it and start playing.

Wow. Physics can be phun.

March 6, 2008 - Categories: geek

Props to Michael McGuffin for this awesome find: Phun – 2D physics sandbox. Watch the demo or download it and start playing.

This makes me want a Tablet PC.

You have received a painting from Sacha

March 6, 2008 - Categories: sketches

080307-05.28.25.png

Generational differences

March 7, 2008 - Categories: gen-y

One last big post before I focus on my vacation preparations.

I’ve been thinking a lot about generational differences because of my upcoming presentation on I.B.Millennials. I had a hard time figuring out how to speak about my generation without dealing with too many generalizations, and what to say to people who think that oh, it’s just about age. Today, I finally came to understand why I want to talk about this topic. It’s not about drawing lines, it’s about connecting people.

No one will argue that society today is very different from society in the 1950s or in the 1900s, and that there have been massive technological and social changes. One way to see this is to look at ads and newspaper articles from fifty years ago, many of which would be unacceptable today.

Why is a discussion about generational differences important? You have lived through these changes and adapted your ways of thinking to them, but for people of my generation, this is all we know. We will have all sorts of assumptions. We will take all sorts of things for granted. We will understand some things intuitively, and be stumped by others. ("What was life like before the Net? before mobile phones? What’s job security? Why would you want to work for just one company? Wouldn’t that be boring? If I can do my job in half the time it takes other people to do it, why shouldn’t I get the rest of the day off?") Perhaps some of these differences come with being young. Perhaps some of these differences come with growing up in societies that are radically different from the ones you grew up in. Perhaps we face our own questions and challenges that we are only now learning how to articulate.

Most of us will have neither the experience nor the perspective to recognize these differences or work around them. That’s why it’s important for leaders to be aware of trends, to spot opportunities and weaknesses, to bring people together. And that’s why this conversation about generational differences is important: not to draw lines, not to praise one generation over the other, but to recognize potential conflicts and work around them, and to build on each other’s strengths.

I don’t want to make excuses for my generation. I want people to be able to challenge us to be all we can be instead of shrugging things off with "Oh, they’re kids, they’ll change as they grow up." But the world can’t wait until we grow up. We can’t wait until people of my generation are thirty or forty, settled, ‘normal’. We are here and there are more of us coming; how can we all work together more effectively?

People of my generation are coming into a workplace that’s very different from the workplace you started in. The long time between generations can make companies forget the lessons learned the last time around. Every generation brings unique strengths and weaknesses. That does not make a discussion of those challenges irrelevant. Indeed, it shows that if organizations can learn to manage this transition well, they will reap the benefits with succeeding generations.

And why is making the most of this generation important? Many organizations recognize a need for massive cultural change when it comes to adopting new collaborative and social technologies that can require not only changes in behavior, but even changes in corporate culture and values. It reminds me of the very things that bewilder many parents – my generation’s reliance on electronic communication and virtual social networks, collaboration despite previous norms in education and other areas, and an inescapably globalized world. If organizations can make the most of our energy and our skills, then they can ride that wave into organization-wide cultural change. If not, then they will miss opportunities that their competitors will take.

Generational differences is a political topic, an emotional topic. No one likes being reminded that they grow older each year. It is easy to dismiss it with the same words used to dismiss the voice of youth: "They’ll grow up eventually." But if we can harness those differences to bring us to where we want to go as an organization and as a society, if we can anticipate and deal with the potential conflicts that many might encounter, then wouldn’t that be a valuable conversation?

I need to revise my TLE presentation. I’ve just found the kernel of passion in my talk. I’m not going to have the time to link this to all the conversations happening around this topic, so please feel free to cross-reference the other great discussions happening around this. But anyway, that’s what I had to say.

You have received a painting from Sacha

March 8, 2008 - Categories: sketches

080308-05.56.52.png

You have received a painting from Sacha

March 8, 2008 - Categories: sketches

080308-06.15.42.png

Vacations are essential

March 8, 2008 - Categories: sketches

080308-05.57.22.png

(color balance on my DS is a little off… How can I calibrate the color profile of this thing?)

You have received a painting from Sacha

March 8, 2008 - Categories: sketches

080308-05.58.55.png

Wicked Cool Emacs: BBDB: Use nicknames and custom salutations

March 24, 2008 - Categories: bbdb, emacs, wickedcoolemacs

Update 2014-05-13: The original code is for BBDB version 2. Thomas Morgan sent this update which makes it work with BBDB version 3 – see below.

I like starting my e-mail with a short salutation such as “Hello, Mike!”, “Hello, Michael”, or “Hello, Mikong!”, but it can be hard to remember which nicknames people prefer to use, and calling someone by the wrong name is a bit of a faux pas. Sometimes people sign e-mail with their preferred name, but what if you haven’t sent e-mail to or received e-mail from someone in a while? In this project, you’ll learn how to set up my BBDB to remember people’s nicknames for you using a custom “nick” field, and to use those nicknames when replying to messages in Gnus or composing messages from my BBDB.

The nickname code worked so well that I started thinking of what else I could customize. It was easy to go from nicknames to personalized salutations. This hack started because one of my friends is from Romania, so I thought I’d greet her in Romanian with “Salut, Letitia!” instead of just “Hello, Letitia!”. The code in this project uses a “hello” field to store these salutations in your BBDB.

To set up personalized nicknames and salutations, add the following code to your ~/.emacs:

For BBDB v2

(defvar wicked/gnus-nick-threshold 5 "*Number of people to stop greeting individually. Nil means always greet individually.")  ;; (1)
(defvar wicked/bbdb-hello-string "Hello, %s!" "Format string for hello. Example: \"Hello, %s!\"")
(defvar wicked/bbdb-hello-all-string "Hello, all!" "String for hello when there are many people. Example: \"Hello, all!\"")
(defvar wicked/bbdb-nick-field 'nick "Symbol name for nickname field in BBDB.")
(defvar wicked/bbdb-salutation-field 'hello "Symbol name for salutation field in BBDB.")

(defun wicked/gnus-add-nick-to-message ()
  "Inserts \"Hello, NICK!\" in messages based on the recipient's nick field."
  (interactive)
  (save-excursion
    (let* ((bbdb-get-addresses-headers ;; (2)
            (list (assoc 'recipients bbdb-get-addresses-headers)))
           (recipients (bbdb-get-addresses
                        nil
                        gnus-ignored-from-addresses
                        'gnus-fetch-field))
           recipient nicks rec net salutations)
      (goto-char (point-min))
      (when (re-search-forward "--text follows this line--" nil t)
        (forward-line 1)
        (if (and wicked/gnus-nick-threshold 
                 (>= (length recipients) wicked/gnus-nick-threshold))
            (insert wicked/bbdb-hello-all-string "\n\n") ;; (3)
          (while recipients
            (setq recipient (car (cddr (car recipients))))
            (setq net (nth 1 recipient))
            (setq rec (car (bbdb-search (bbdb-records) nil nil net)))
            (cond
             ((null rec) ;; (4)
              (add-to-list 'nicks (car recipient))) 
             ((bbdb-record-getprop rec wicked/bbdb-salutation-field) ;; (5)
              (add-to-list 'salutations 
                           (bbdb-record-getprop rec wicked/bbdb-salutation-field))) 
             ((bbdb-record-getprop rec wicked/bbdb-nick-field) ;; (6)
              (add-to-list 'nicks 
                           (bbdb-record-getprop rec wicked/bbdb-nick-field)))
             (t (bbdb-record-name rec))) ;; (7) 
            (setq recipients (cdr recipients))))
        (when nicks ;; (8)
          (insert (format wicked/bbdb-hello-string 
                          (mapconcat 'identity (nreverse nicks) ", "))
                  " "))
        (when salutations ;; (9)
          (insert (mapconcat 'identity salutations " ")))
        (when (or nicks salutations)
          (insert "\n\n")))))
  (goto-char (point-min)))

(defadvice gnus-post-news (after wicked/bbdb activate)
  "Insert nicknames or custom salutations."
  (wicked/gnus-add-nick-to-message))

(defadvice gnus-msg-mail (after wicked/bbdb activate)
  "Insert nicknames or custom salutations."
  (wicked/gnus-add-nick-to-message))

(defadvice gnus-summary-reply (after wicked/bbdb activate)
  "Insert nicknames or custom salutations."
  (wicked/gnus-add-nick-to-message))

For BBDB v3

;; This version is for BBDBv3 - thanks, Thomas!

(defvar wicked/gnus-nick-threshold 5 "*Number of people to stop greeting individually. Nil means always greet individually.")  ;; (1)
(defvar wicked/bbdb-hello-string "Hello, %s!" "Format string for hello. Example: \"Hello, %s!\"")
(defvar wicked/bbdb-hello-all-string "Hello, all!" "String for hello when there are many people. Example: \"Hello, all!\"")
(defvar wicked/bbdb-nick-field 'nick "Symbol name for nickname field in BBDB.")
(defvar wicked/bbdb-salutation-field 'hello "Symbol name for salutation field in BBDB.")

(defun wicked/gnus-add-nick-to-message ()
  "Inserts \"Hello, NICK!\" in messages based on the recipient's nick field."
  (interactive)
  (let ((recipients (bbdb-get-address-components))
        recipient nicks rec net salutations)
    (goto-char (point-min))
    (when (re-search-forward "--text follows this line--" nil t)
      (forward-line 1)
      (if (and wicked/gnus-nick-threshold 
               (>= (length recipients) wicked/gnus-nick-threshold))
          (insert wicked/bbdb-hello-all-string "\n\n") ;; (3)
        (while recipients
          (setq recipient (car recipients))
          (setq net (nth 1 recipient))
          (setq rec (car (bbdb-search (bbdb-records) nil nil net)))
          (cond
           ((null rec) ;; (4)
            (add-to-list 'nicks (car recipient))) 
           ((bbdb-record-xfield rec wicked/bbdb-salutation-field) ;; (5)
            (add-to-list 'salutations 
                         (bbdb-record-xfield rec wicked/bbdb-salutation-field))) 
           ((bbdb-record-xfield rec wicked/bbdb-nick-field) ;; (6)
            (add-to-list 'nicks 
                         (bbdb-record-xfield rec wicked/bbdb-nick-field)))
           (t
            (add-to-list 'nicks
                         (car (split-string (bbdb-record-name rec)))))) ;; (7) 
          (setq recipients (cdr recipients))))
      (when nicks ;; (8)
        (insert (format wicked/bbdb-hello-string 
                        (mapconcat 'identity (nreverse nicks) ", "))
                " "))
      (when salutations ;; (9)
        (insert (mapconcat 'identity salutations " ")))
      (when (or nicks salutations)
        (insert "\n\n")))))

(defadvice gnus-post-news (after wicked/bbdb activate)
  "Insert nicknames or custom salutations."
  (wicked/gnus-add-nick-to-message))

(defadvice gnus-msg-mail (after wicked/bbdb activate)
  "Insert nicknames or custom salutations."
  (wicked/gnus-add-nick-to-message))

(defadvice gnus-summary-reply (after wicked/bbdb activate)
  "Insert nicknames or custom salutations."
  (wicked/gnus-add-nick-to-message))

After you add this code, you can store personalized nicknames and salutations in your BBDB. Nicknames and salutations will be looked up using people’s e-mail addresses. While in the *BBDB* buffer, you can type C-o (bbdb-insert-new-field) to add a field to the current record. Add a nick field with the person’s nickname, or a hello field with a custom salutation. When you compose a message to or reply to a message from that person, the salutation or nickname will be included. If no nickname can be found, the recipient’s name will be used instead.

A number of variables can be used to modify the behavior of this code(1). For example, you may or may not want to greet 20 people individually. The default value of wicked/gnus-nick-threshold is to greet up to four people individually, and greet more people collectively. If you always want to greet people individually, add (setq wicked/gnus-nick-threshold nil) to your ~/.emacs. If you want to change the strings used to greet people individually or collectively, change wicked/bbdb-hello-string and wicked/bbdb-hello-all-string. If you want to store the data into different fields, change wicked/bbdb-nick-field and wicked/bbdb-salutation-field, but note that old data will not be automatically copied to the new fields.

Here’s how the code works. First, it retrieves the list of addresses from the header(2). If there are more addresses than wicked/gnus-nick-threshold, then wicked/bbdb-hello-all-string is used to greet everyone. If not, each recipient address is looked up. If the recipient cannot be found in your BBDB, then the recipient’s name or e-mail address is used(4). If there is a personalized salutation, it is used(5). If there is a nickname, it is used(6). If the person has a record but neither salutation or nickname, then the name of the record is used(7). After all recipients have been processed, the names are added to the message(8), followed by the salutations(9). This function is added to the different Gnus message-posting functions, so it should be called whenever you compose or reply to messages.

Jetlag-assisted wakefulness

March 24, 2008 - Categories: travel

I was out like a light last night at maybe 8:00 or so. Jetlag. Today I woke up at 3:30. I meant to stay in bed until at least 4:00, but I felt time slipping past, and I wanted to do something with it. That’s okay. Maybe I can turn this into a jetlag-assisted early-morning wakeup. I hear many productive writers wake up really early, write, and then go about the rest of the day.

I spent most of yesterday putting together a photo book. There were many memories omitted because we didn’t take pictures. I may work on something a little more verbose some other time. Still, it’s not a bad first photo book. There, that’s one new thing I did this week that I’ve never done before.

What are my goals for this week?

  • I need to finish and rehearse the two talks I’ll be giving over the next two weeks.
  • I need to prepare for all the networking opportunities by having business cards printed and by getting a card scanner.
  • I need to finish my article on personal finance with ledger.
  • I want to develop a blogging plan for the various blogs I need to contribute to.
  • I want to write about 4000 words for my book. My goal is to finish the raw material for the chapter on BBDB.
  • I want to exercise first thing every morning, slowly inching up what I can do. I’m keeping track of my progress on a chart in the kitchen.

That should be enough for starters. =)

Vision + Value + Voice = Connection

March 24, 2008 - Categories: social

Gary Brown e-mailed me this insightful manifesto from Michael Lee Stallard, an expert on client and employee engagement. In it, Michael describes the key ingredients of a connection culture: vision, value, and voice. More and more companies are focusing on developing deep, rich connections between their employees and their customers, and this document has a number of good examples of the benefits of this approach. Check it out at ChangeThis :: The Connection Culture: A New Source of Competitive Advantage.

Optimizing my day

March 25, 2008 - Categories: kaizen

My old routineMy new routine

Maybe there’s some truth to the advice, “Early to bed and early to rise makes a man healthy, wealthy, and wise.” Thanks to jetlag, I’ve been up uncharacteristically early. I like the new rhythm my day has taken.

Before this jetlag-assisted early start, I used to stumble out of bed, scarf down a quick breakfast, and head to the office. Waking up was a gradual process, and it took me about an hour or so to warm up for more creative work. After I returned from the office, I tried to squeeze in some personal creative time in the evenings. I found it difficult to write when my brain was tired from work. Finding the time to exercise was low on my list, as it took me away from other things I would rather be doing.

Yesterday, I simply couldn’t stay in bed past 3:30 in the morning. That gave me plenty of time to exercise, plan my day and my week, and write a thousand words for my book. I arrived at the office at 8 o’ clock and worked on my most important tasks. Because I had breakfast earlier, I got hungry earlier, too. Fortunately, I had brought brownies from the Philippines, and that helped me last until lunch time. I felt myself winding down in the afternoon, so I worked on some more routine tasks. When I got home, I spent some time tidying up and chatting with other people. This was a good way to relax and get ready to sleep. I was asleep by 8.

Today I’ll find out if I can repeat that rhythm. This morning, I woke up at 4:30. I prepared oatmeal, then exercised while the oatmeal simmered. Exercising first thing in the morning meant that I woke up quickly and with lots of energy. I even found the time to bake peanut butter cookies. The only hiccup was that I had some filesystem problems with my laptop, so I didn’t get around to writing as much as I wanted. I spent some time sketching instead.

Tonight, I’ll see if preparing breakfast and lunch in the evening is a good way to use my downtime to free up some of my personal creative time. Tomorrow, I’ll set my alarm clock for even earlier. I’d also like to move my morning writing session earlier, perhaps even before breakfast. Kaizen: relentless improvement.

Morning Pages

March 26, 2008 - Categories: writing
  • Kathryn Everest has the most vivid figures of speech I know. Yesterday, she described social media adoption as “You can hear the rickets of the rollercoaster.” Beautiful.

  • I woke up at 3:30 today. Did 53 jumping jacks, 23 semi-pushups, 23 crunches, 8 dips, and 34 leg raises – all one up from yesterday. I keep having to rest during the leg raises, maybe because they’re at the end of the exercise and I’m tired. Or at least my muscles want a break – the rest of me is up and raring to write.
  • I finally ordered personalized business cards yesterday. They won’t make it in time for my first two conferences, but they’ll be pretty handy during the rest of the conferences. I like using business cards and index cards as handouts during presentations, so I still want a color inkjet printer so that I can make my short-run cards. Shipping would get pretty expensive if I keep ordering custom business cards for each presentation. The Canon Pixma ip3000 looks ideal, but FutureShop only stocks the ip4500. Wish it did duplex index cards, though. Is any printer actually capable of doing so? Please tell me before I head to FutureShop tomorrow. =)
  • Those high-protein breakfasts we had in the Philippines might be a good idea after all. Oatmeal at 5 in the morning vanishes by 9. I finished both the carrot sticks and the peanut butter cookies way before lunch. Today I’ll try cooking garlic rice and longganisa, of which many varieties are available at the T&T Supermarket. Yay!
  • I’m thinking of setting aside some money every month for shared experiences – you know, go out and do something with people. Pottery lessons? A photography walk? A weekend getaway? Fortunately, there are now all sorts of experience sellers: Xperience Days, Virgin Experience Days, Cloud 9 Living… There’s also Perfect Day Gifts here in Toronto. Hmm…

Three tips for long flights

March 26, 2008 - Categories: travel

Flying to the other side of the world means almost a full day in transit. Here are three tips to help you get through your next long flight:

  • Drink plenty of water. It’s easy to forget to drink water on a plane. I usually ask the flight attendants for two glasses of water. This has the side effect of also making you stand up and exercise once in a while, which is good for avoiding deep-vein thrombosis.

  • Bring noise-isolating earphones. An eye-mask is also helpful. You can usually plug the earphones into airline seats, giving you better audio than the earphones provided by the airline.
  • Bring a variety of things to do. A pen, a pad of paper, and an MP3 player will keep you busy throughout the flight.

How do you fly over the ocean?

Morning pages

March 27, 2008 - Categories: Uncategorized
  • Yesterday, I got up early and made garlic fried rice, longganisa, and scrambled eggs. The high-protein breakfast worked! I didn’t get hungry until about lunchtime, which meant that I didn’t dig into my emergency stash of peanut butter cookies. This is good. I’m going to make garlic rice, breakfast sausages, and scrambled eggs today. I should pick up some buttermilk so that I can make pancakes.
  • I still need to figure out what to do about my short-run business cards, as no card-printing business will take runs of 50, much less do them in less than a week. I’m leaning towards printing on card stock and doing the cutting myself. I’m going to see if I can use the Xacto knives we already have. If not, time to spring for one of those big rotary cutters…
  • Yesterday’s mentoring chat with David Singer was a lot of fun. I enjoyed being able to talk about some of the things I was excited about, such as the conferences I’m attending next week. He gave me a useful way to think about what I like to do, too: I’m a pollinator. Interesting…
  • Despite going to bed at 10 last night, I was up at 3:30 again this morning. A little sleepier than the previous four days, but I wanted to keep my schedule more than I wanted a few more hours of sleep. I exercised again this morning. This is good. =)
  • I like this. Working at the office from 8 to 4-ish means that I don’t have to squeeze into the subway and I can take advantage of the quiet times at the office.
  • I’m still looking for a better blog editor under Linux. Something that can handle posting dates and multiple blogs would be nice.
  • Work continues on my Ledger article. I wrote 771 words in one hour yesterday, and that’s just all about the envelope budgeting. I’m going to finish that section and start on regular budgeting today. It’s kinda funny how I write backwards. I started working on the second-to-the-last chapter of my book, and I’m moving towards earlier chapters. I started at the second-to-the-last part of this article, and I’m moving towards the beginning. Maybe it’s because that allows me to think about where I want people to be after they finish reading my article, and then work backwards until I get them there. It intimidates me less than starting from the beginning and figuring out where I want to take people.
  • I’ve brainstormed a list of topics for my work blog, and hope to write enough of them to schedule posting over the two weeks that I’ll be away. It’s like dipping a toe into the problogging life. If I plan the topics well, then I’ll get to learn and write about things I wanted to learn anyway. Also, I’m still looking for a terrific outline program for the Palm. Hmm…
  • Life is great. =)

Weekly report

March 30, 2008 - Categories: weekly

One week on the ground–that’s all I have in between flights. We got back from a two-week vacation in the Philippines. I was glad to see that I’d tied everything up neatly before I left and things had gone on in my absence. Between catching up and getting ready for my next set of flights, my week was just packed (but in a very good way). Here’s what happened:

  • I made my first photobook. Well, I didn’t bother with captions or anything… Just dumped all the pictures into Picasa, did a little photo correction, uploaded them to Shutterfly, and organized them into roughly logical groups. We’ll see how well that worked when the photobooks arrive.
  • The jetlag-assisted early start was terrific for my productivity. Unfortunately, it didn’t last all week. A few late evenings set me back to my pre-trip schedule. At least I’ve tasted the productivity of an early-morning schedule. If I can get away with following that schedule during the next few weeks’ conferences, I think that would be awesome. If late-night networking means I can’t get up at 3:30 or 4:00 without zombie-ing out during the conferences sessions, I’ll stick with the usual day schedule, and I’ll try going back to an early schedule after this month of conferences.
  • Most of my week was spent doing internal work for my team, preparing for the various conferences that are coming up. I managed to do a little client work, too. I feel reasonably happy with my preparation for the next few conferences.
  • I finished my article on personal finance with Ledger and Gnuplot for the Linux Journal. Hooray!

Next week, I’m flying to IBM Palisades in New York for the Best Practices Conference, and then to Florida for the Technical Leadership Exchange. If I can survive both conferences with plenty of networking opportunities and without falling flat on my face during my presentations, I think I’ll count that as a win.