March 2011

Dealing with intimidating projects

March 1, 2011 - Categories: career, ibm, work

I’m working on my first big IBM project, something that goes beyond Perl scripts and Drupal websites. My manager thinks it will be a good assignment for me. The component diagram looks like alphabet soup, and I haven’t worked with any of the pieces before. It’s intimidating.

Open source projects like Drupal or Rails don’t scare me as much, even though they require a lot of figuring out and hacking as well. I think it’s because I’m confident that I can figure things out from the source or from the Internet, and because I can hold more of it in my head. This project will involve quite a few IBM components, and I can’t work with, understand, or even remember everything. It’s big.

But I know this feeling of incipient panic, and I’ve dealt with worse before. It’s the same feeling I got as a teaching assistant at the University of Toronto, doubting myself because I was helping people learn something I was just learning about myself. I remember feeling uncertain. I remember feeling like an impostor. I felt like giving up. Then my department chair set me straight, and I made it through.

I can deal with this. My manager thinks I can handle it. IBM has a great support network and I’ve got plenty of mentors. I’m learning a lot from the other people on the team. It’s going to be okay. And at the end of the day, I’ll learn how to work with a pretty decent-sized IBM software stack, integrate with lots of middleware, work with complex web services, and maybe even turn things that scare me into things that I enjoy.

Here’s what I’m planning to do:

2011-03-01 Tue 16:26

Get More Value from Blogging, part V: Communication Matters

March 1, 2011 - Categories: blogging, tips, web2.0, writing
This entry is part 5 of 8 in the series Get More Value from Blogging

Paul Gillin invited me to do a tweetchat on the professional and personal value of blogging on March 3, 2011 (2pm-3pm EST, #infoboom). When I brainstormed some of the things I’d like to talk about, I ended up with a big list: not just the value I get from blogging, but also tips for how you can build that too. I hope you enjoy this blog series!

You might feel awkward in the beginning, but trust me, all that writing practice from your blog will pay off. Blogging is a great way to figure out not only what you want to say, but how you want to say it. Better communication skills will help you at work and in life!


1. Writing


2. Visual communication

Whether you’re writing a professional blog or a personal blog, it can be good to add visual interest through photographs or drawings. You can develop an eye for images and visual communication by including Creative Commons-licensed photos or stock photos in your posts, appropriately attributed when necessary. You can also take your own pictures or draw your own illustrations, adding more of a personal touch to your blog while helping you develop your skills.

My blog–and the presentations that grew out of it–helped me rediscover drawing. You can see the evolution of my sketches from scrawny stick-figures on a Nintendo DS to slighly-less-scrawny stick figures on a tablet PC. I’ve come to enjoy drawing, and sometimes people even ask me to draw something for them.

Tips:


3. Presentation

If you give presentations, a blog can be an incredible resource. You can use your blog to draft and share ideas, collect material, get feedback, share your presentation, and follow up with people.

Many of my presentations have grown out of blog posts, and I’ve received a number of invitations to speak from people who’ve come across my posts. My blog gives me a place to try ideas out, refine them, get feedback, and put together presentations.

Tips:


4. Conversation

Blogs make conversations so much easier for me. When I talk to people, I often find myself thinking about or referring to things I’ve written. It really helps to have thought about some things and be able to express them clearly, and I love sharing additional resources.

My blog posts have also led to all sorts of conversations I wouldn’t have had otherwise. I sometimes find it difficult to start a conversation. Fortunately, people read my blog and start the conversation with me, both online and in person.

Conversations lead to blog posts, too. There, my blog gives me the opportunity to continue the conversation, reflect on things I’m learning, and share them with a wider audience. I get to show my appreciation for the insights people have shared with me, and I get to learn from other people’s perspectives.

Tips:


5. Avoiding the curse of expertise

Many people don’t want to write about things they don’t feel are their expertise. Experts are experts because they’ve achieved unconscious competence; they’ve forgotten more than other people have learned. Experts often have a hard time explaining things to other people because they’ve forgotten the details that stump newcomers. So experts aren’t really the best people who can write about things, especially for beginners. It’s better to write along the way, while you’re learning, so that people can understand and so that you won’t take things for granted.

Tips:

 

Questions and answers from #infoboomSC tweetchat on blogging

March 3, 2011 - Categories: blogging, tips, web2.0, writing
This entry is part 8 of 8 in the series Get More Value from Blogging

Paul Gillin invited me to do a tweetchat about blogging. I learned so much from it, and I hope others do too! Here’s what we talked about.

On making the time to write

Your output is amazing. I don’t know where you find the time to post daily. How do you do it? @infoBOOM
Writing != extra work. Making it part of the way I work helps me be more effective. http://sachachua.com/blog/p/21845. Also, I think about ROI on my time. No TV; yes writing, reading, experimenting. http://sachachua.com/blog/p/22053.

How much time do you spend per blog? What time of day do you do it? @dgriess
I’ve tried writing morning pages, but I usually just write whenever I’m learning or solving problems.
Let me ask another way, about how much time goes into each entry? @dgriess
Depends on topic. Usually 5-15 minutes extra, or 30+ if I’m braindumping tips for others / exploring something new.

What would you recommend for those who try to blog on behalf of their company? How can they carve out time? @KevinMGreen
It’s marketing, professional development, networking, and all sorts of good stuff. Great ROI. Makes sense to do it.

Finding time always seems to be the biggest challenge. @KevinMGreen
Try tweaking your workflow so that you write along the way. Check importance/efficiency of other things you do.

On perfectionism and personal branding

My question for this chat: What would help _you_ get more value from blogging? What are your challenges / goals?
kurtisgriess: Hardest thing abt blogging for me is planning and perfectionism… takes me forever!
pgillin: Hardest thing for me abt blogging is feeling I have to always be profound. Worried about wasting ppl’s time.  (Sacha: Reading is optional, skimming is easy. You don’t have to be perfect, or profound, or even interesting. ;) )
KevinMGreen: likewise Paul #infoboomsc always trying to deliver can be intimidating
Sacha: Me, I’m looking forward to writing about more things (life! work! awesomeness!), and getting better at organizing for discovery.

What are common mistakes you see/experience? @KevinMGreen
Perfectionism and the related fear of having to publicly change your mind or admit room for improvement. ;) Partly our collective fault, because we scare people re: the unforgiving memory of the Internet. I disagree with that. You are never going to be perfect. You’re also never going to get better unless you try. ;)

I wrestle with “perfecting” a thought. Probably thinking too hard on my individual entries. @dgriess
It’s easier to work with a draft or post than with a blank slate. There will always be a better way to say things.

I can imagine there would be some folks out there who may not feel comfortable about blogging their work. @elsua
Blog transparency may not be for everyone just yet, but it’s surprisingly less scary than most people think.

How can people bypass that risk aversion and dive into it slowly, but steadily? Don’t fear, just blog? @elsua
Small steps can help people get over fear, experience immediate benefits: http://sachachua.com/blog/p/7316

… Ideally that people should understand how blogging is perhaps the most powerful trait for their personal brand @elsua
I wish people worried less about “personal brands” and felt better about connecting as _people_. =)

On finding ideas

Many people have trouble coming up with ideas for their blog. Any tricks you can share? @infoBOOM
Write about everything (http://sachachua.com/blog/p/22082). Don’t worry about niche (http://sachachua.com/blog/p/7046).

Can you share any tricks for what to do when you run out of ideas? Or does that ever happen? @infoBOOM
Do you ever run out of things to learn, or things you can help other people learn? No lack of material.

What’s the one tool/resource you rely on to create such compelling content? @KevinMGreen
Best resource for blogging: Life. Best tools: the questions: “Why? Why not? How can we make this even better?”

On practices

Do you write in your blog more for yourself or for others? What’s the balance? @kurtisgriess
Mostly myself (can’t trust my memory). Often for (usually specific) others, just in case others find it helpful.

What’s your thinking on comments? Do you try to respond to them all? @infoBOOM
I reply to as many comments as I can. I’m sure some slip through cracks. Easier than e-mail. =) Also, warm contacts.

How would you describe your voice? Or does that even matter to you? @infoBOOM
My blogging voice? Me. I’m like this in real life. It makes writing much easier — and living’s easier, too. =)

You don’t use gimmicks like “top 10″ lists or “best and worst.” Is that by design? @infoBOOM
Can’t stand reading or writing generic blog posts with arbitrary rankings. I’ll use mnemonic structures, though.

You post weekly review lists. What’s the reason? @infoBOOM
On the practice of a weekly review: http://sachachua.com/blog/p/6946

In your opinion, what’s the ideal length of a blog post? Or does it depend on the topic? @elsua
I try to stick to one clear thought per blog post, saying as much or as little as I have to say about that. Lengths vary.

What do you use to manage your editorial approach? I still send myself emails which is not really effective. @KevinMGreen
I keep a big text file on laptop with rough notes and ideas, and I post snippets on a regular basis or by plan.

When someone sends you a question by e-mail, do you often post answer to blog and send them link? @infoBOOM
Shift e-mail conversations to blog posts when possible. Widens the conversation, reaches more people, saves more time.

You do write about a lot of topics. Do you ever worry that you lack expertise in these areas? @infoBOOM
When you’re learning, that’s the best time to write. Don’t wait until you’re an expert and you’ve forgotten.

Miscellaneous

When you started your blog, did you set goals on spec. milestones (traffic, subscribers)?  @kaeppler
Early: class notes, Emacs snippets, things to remember. Didn’t care about traffic or subscribers, but happy I helped. Still don’t focus on traffic or subscribers, although honoured to see them. It’s not about numbers, it’s about people.

[…] Was “living an awesome life” your first blog at all? @kaeppler
It’s actually just an alternative name for sachachua.com – livinganawesomelife.com is easier to remember/spell. ;)

You’ve written that blogging has made you a better presenter. How? @infoBOOM
Practice in figuring out what to say, how to say it. Archive of potential material. Better ROI and reach. Invitations. Also, feedback on content, delivery, and technology. Continuous improvement. Confidence. Connection.

Many bloggers are too focused on the audience and less about the personal value they receive. @KevinMGreen
Tons of immed. indiv. value.http://sachachua.com/blog/p/22119 New bloggers, take heart, even if no one reads you! #infoboomsc

Can you tell one or two stories of remarkable things that happened to you because of your blogging? @infoBOOM
Got job created for me (http://sachachua.com/blog/p/6456), found mentors (http://sachachua.com/blog/p/6928)…

Sacha, would love for you to share insights on how you use blogging to narrate your work @elsua
Blogging is a great way to understand complex issues. It also helps shape culture of knowledge-sharing – many benefits!

Is there one blog post that stands out as particularly memorable to you? And why? @infoBOOM
It’s like asking me what my favourite book is. ;) Lots of context-sensitive favourites. A recent highlight: http://sachachua.com/blog/p/22017, but that could be because I cut my finger in the process. ;)


We’re thinking of doing another tweetchat with #infoboom in three months. In the meantime, if you have any questions, thoughts, suggestions, or tips, please feel free to share them through comments, blog posts, and Twitter! Would you like to host a conversation about a topic I’m passionate about? Let’s talk about it!

Get More Value from Blogging, part VI: Let’s Get Down to Business

March 4, 2011 - Categories: blogging, business, career, tips, web2.0, work, writing
This entry is part 6 of 8 in the series Get More Value from Blogging

Paul Gillin invited me to do a tweetchat on the professional and personal value of blogging yesterday. When I brainstormed some of the things I’d like to talk about, I ended up with a big list: not just the value I get from blogging, but also tips for how you can build that too. I hope you enjoy this blog series!


1. ROI

Blog your work to increase your return on investment or effort by remembering more effectively and by reaching more people.

How much time do you spend solving problems similar to what you’ve encountered before, answering questions you’ve already answered before, or remembering information you need to solve new challenges? Take notes and save that time.

How much time can you save other people if you share your notes with them? Are there other people in your organization, client base, or network who could benefit from your solutions? Share your notes.

Tips:


2. Questions, updates, resources, and serendipitous conversations

One of the challenges of blogging is that you don’t know who’s going to read it. That’s also one of the advantages. When you ask a question, you might be surprised by who answers it – perhaps someone you wouldn’t have thought of asking. When you post an update, you might make an unexpected connection with someone else, and learn about resources you might not have discovered on your own. When you talk about something you’re working on, you might end up in a serendipitous conversation with someone who can make use of it or help you with it. It’s the online equivalent of the lucky hallway chat, except with a lot more people in the virtual hallway.

Tips:


3. Connection

If you add personal touches to your professional blog, you can make it easier for potential clients and coworkers to connect with you through common interests. Write about why you do the work that you do and what you love about it. Write about your other interests, too.

Tips:

Example:


4. Reputation

Blog your work to build your reputation. When people read about what you’re working on, they learn about your skills and get a sense of who you are as a person. The next time they come across a challenge that looks like it’s a good fit, they might think of you and refer the opportunity to you. Particularly if you’re starting out, sharing your knowledge will help you build your network and your reputation.

Tips:


5. Jobs and careers

A blog can help you look for a great job or plan your career. Use it to explore your strengths and figure out how to communicate them. Use it to think about what kinds of companies would be a good fit for you, and where you would be a good fit. Use it to connect with people and ask them for help. Use it to reflect on where you want to go with your career and what kind of value you want to create.

Tips:


6. Accountability and transparency

Blogging is a great way to make public commitments and hold yourself to them. You can use this for both personal and professional goals..

If you speak on behalf of a company, then you definitely need a fast way to respond to any issues that come up. With the speed of conversation on Twitter and blogs, you can’t wait for press releases. Establish this channel before a public relations crisis comes up. It’s better to admit a mistake and work with people on resolving it than to stonewall.


7. Culture

Whether you’re an executive or a newcomer, you can influence the culture of your organization through what you share. When you share what you know through your blog, you encourage a culture of knowledge-sharing. When you add a personal touch, you contribute to a culture of human connection. When you show that you aren’t afraid of making mistakes and learning from them, you develop a culture of growth. This can have a powerful effect on your organization, both online and offline.

Tips:

 

Presentation experiment: Shy Connector, Six Steps to Sharing, and other presentations in March!

March 5, 2011 - Categories: presentation, speaking

Slideshare’s new Zipcast feature nudged me to experiment with giving more online presentations externally. I regularly give presentations inside IBM using our Lotus Live Meetings service. Because of the usage charges, though, I haven’t gotten around to offering many externally-available presentations. I accept invitations to speak, but I tend not to organize things myself.

I think that’s worth experimenting with. Not only are web conferences a good way to get ideas out to more people, they’re also a great way for me to learn from the questions and answers people have. I’m going to organize weekly presentations, taking advantage of Zipcast’s beta and seeing whether this is something worth investing in going forward.

Why come when you can get the content from my blog or posted presentations?

Here are the presentations I’m thinking of doing. They’ll be every Saturday in March, 12 noon – 1 PM Eastern Time, and I’ll see if I can hack a way to record and sharing the presentations. Feel free to share these events with others!


The Shy Connector, March 5, 2011, 12pm-1pm EST, http://www.slideshare.net/sachac/meeting
Are you an introvert? I am too! Use these seven tips to help you make the most of your introvert strengths and connect with people.
Add to

Six Steps to Sharing, March 12, 2011, 12pm-1pm EST, http://www.slideshare.net/sachac/meeting
Want to get started in blogging, but don’t think you know anything worth sharing? Here’s how small steps can help you build the habit of sharing and learning online.
Add to

Remote Presentations That Rock, March 19, 2011, 12pm-1pm EST http://www.slideshare.net/sachac/meeting
Want to get better at reaching, teaching, and inspiring people through online presentations? Find it challenging to connect with people or continue the conversation? Use these seven tips to create and deliver remote presentations that rock.
Add to

Get More Value from Blogging, March 26, 2011, 12pm-1pm, http://www.slideshare.net/sachac/meeting
How can you make blogging pay off for you better, personally and professionally? Pick up tips and ask questions in this session!
Add to


Can you think of other people who might find these presentations useful?

What else would you like to learn more about?

Weekly review: Week ending March 4, 2011

March 5, 2011 - Categories: weekly

From last week’s plans

  • Work
    • [X] Deliver “Remote Presentations That Rock”
    • [X] Work on ECM project
    • [-] Get things going with Drupal project
    • [X] Prepare other presentations and resources
    • [X] Do IBM #infoboom tweetchat on how to get more value from blogging
    • [-] Post the rest of series on getting more value from blogging – Almost done
    • Back into programming, yay! Got AJAX/PHP project started.
  • Relationships
    • [X] Host tea get-together
    • [X] Reach out to new blog commenters – well, mostly old blog commenters
    • Checked out Liberty Village Toastmasters
  • Life
    • [-] Experiment with fixed-time wakeups
    • [X] Draw more
    • [X] Write monthly review
    • Helped with study group
    • Got my TD Waterhouse account sorted out (kinda)

Plans for next week

  • Work
    • [X] Work on critsit involving AJAX and PHP
    • [X] Start building web services using Websphere Application Server
    • [X] Shepherd the Rails project through legal approval process
  • Relationships
    • [X] Meet up with Cate Huston and Maggie Zhou
    • [X] Help with study group
    • [X] Book flights
  • Life
    • [X] Try more Zipcast experiments
    • [X] Practise driving
    • [X] Write about tweetchats and presentations
    • [X] Work on plans

Time analysis

Experiment for the week: more social stuff. Met people, had mentoring chats, reached out through e-mail, etc.

Category This week Last week Delta Notes
Break 1.3 3.7 -2.4
Drawing 4.7 -4.7
Exercise 3.8 3.3 0.5
Personal 1.6 1.7 -0.1
Learning 0
Preparation 3.2 5.0 -1.8
Routines – cooking 2.3 8.9 -6.6 Living off leftovers, efficiency yay =)
Routines – general 7.6 10.5 -2.9
Routines – tidying 7.8 2.4 5.4
Sleep 58.5 55.7 2.8
Social 29.2 27.0 2.2 Tea party
Travel 7.5 0.6 6.9 Went up to office several times
Work 40.2 37.4 2.8
Writing 4.8 7.1 -2.3

More time spent commuting, but it was with W-, so it was a lot of fun. =)

Monthly review: February 2011

March 6, 2011 - Categories: monthly

February was an interesting month at work. Lots of presentations, for one – that’s the easy part. Lotusphere was quite an experience, too. I’ve started helping with estimates, scoping projects, preparing paperwork, and learning new platforms. This is the longest I’ve worked at IBM without being heads-down on one or two projects. Instead, I’m juggling the plans for several. My manager isn’t stressed out about this, so I’m not stressing out about it either.

When it rains, it pours. If these proposals go through, they’ll probably sign at roughly the same time. Some of them are flexible and some of them have tighter timelines, so March and April promise to be full of learning experiences. This is great stuff, and exactly what I should be learning. Can’t wait!

From last month’s plans:

Work

Relationships

Life

Plans for March:

Work

Relationships

Life

Weekly/monthly reviews:

Communication tips:

Other stories:

Can’t see cross-domain images in your Flash file? Make a crossdomain.xml

March 8, 2011 - Categories: geek

My mom recently noticed that images weren’t loading in the Flash viewer on www.adphoto.com.ph, but they were loaded on adphoto.com.ph. A quick look at the Javascript console showed that crossdomain.xml was missing. The Macromedia Flash 10 plugin is stricter about this than previous versions were, so if you don’t have a crossdomain.xml set up, you might find your older sites breaking for new browsers.

Here is a straightforward crossdomain.xml that allows requests from everywhere, useful for development:

<?xml version="1.0" ?>
<cross-domain-policy>
<allow-access-from domain="*" />
</cross-domain-policy>

You can specify domains like this:

<?xml version="1.0" ?>
<cross-domain-policy>
<allow-access-from domain="adphoto.com.ph" />
<allow-access-from domain="www.adphoto.com.ph" />
</cross-domain-policy>

More information: http://www.adobe.com/devnet/flashplayer/articles/fplayer9_security.html

When debugging a website, it is often helpful to use Chrome or Firefox’s developer tools, such as the Javascript console. In this case, the request for crossdomain.xml and the resulting 404 (not found) helped me find out what was going on.

2011-03-08 Tue 08:01

Quick notes from Emacs Org-mode talk at GTALUG

March 8, 2011 - Categories: emacs, presentation, speaking

My Emacs Org-mode talk at GTALUG was a lot of fun. I had made a quick outline of things I wanted to cover, and the discussion took us to all sorts of places – really more like a romp through the world of Emacs. I kept my talk plan small and tightly-focused – not even Org-mode, just note-taking in Org-mode – but I ended up talking about all sorts of things because they were cool and that’s where the discussion took us. This means that my outline isn’t much use for reconstructing the talk, but maybe whoever recorded it can share the audio and the video. =)

Unexpected wow moments of the day, completely not in my outline:

I’ve given two Emacs talks so far, and both of them had delightful audience interaction – among the best of any of the talks I’ve given. I think it’s because with Emacs, even people’s jokes give me a starting point to mention something I’ve learned about or come across or built. The energy of the session is really something different. It’s almost like an infomercial-ish “But wait, there’s more!”, but everyone’s in on the joke, they’re part of what’s happening. It’s an adventure.

I don’t want to give the impression that Emacs is just about fun. ;) Of all the software I’ve ever used, I think Emacs has contributed the most to my productivity and my learning. Not only do I find the direct benefits useful, I also really appreciate the inspiration I get from all these other people who use and improve Emacs.

So the key question I want to address with more thought is: where does one find the time to learn these things? I think you answer this the same way you make the time for things that matter – strategic optimization. Like in code, premature optimization doesn’t work. You need to figure out what actions are important and where improvements would have the most effect – where your moments of truth are. For example, it really pays to improve my abilities in programming, writing, and note-taking, because I do that a lot and it creates a lot of value at work and in life. On the other hand, I don’t stress out about typing even faster, because that’s not my bottleneck. And I also make sure to invest time into all sorts of other aspects of life, because those are important to me too.

Back to Emacs and the presentation. My goal for the talk wasn’t to convert anyone or show people specifically how to set up their environment. I wanted to give people an idea of what my workflow looks like, expose them to some of the things Emacs can do, and perhaps inspire people to learn more about their tools. (I made sure to mention lots of cool things about vi, too!) We started at 7:30 and had a great discussion for two hours (two hours!) that flew by until the organizers suggested it was time to wrap up. Quite a few people came up to me afterwards and told me that they were inspired to learn more about Emacs. Whee!

That was tons of fun. I’d do it again. It has to be an interactive group, somewhat casual (so that people feel free to interject questions) and technical (helps to have a few other Emacs users in the audience, and a general interest in tools). Voice is probably a huge component of it – both being able to communicate enthusiasm and for the conversational aspect of the discussion. Screen-sharing or projection is vital; this kind of talk wouldn’t have worked with slides. So it’s probably a talk I’d need to give in person, considering webconference interaction patterns and screen-sharing delays. Hmm…

(Maureen: there is a screenplay mode for Emacs. Isn’t that amazing? Might be worth learning Emacs. More writing resources on the EmacsWiki. If you’re intrigued by it, check out the Emacs Newbie resources.)

2011-03-08 Tue 23:40

Leveling up as a developer!

March 9, 2011 - Categories: geek, ibm, work

It’s satisfying adding a bunch of IBM acronyms to my “marketable skills.” They’re not that intimidating after all!

I spent the morning and part of the afternoon pair-programming with Bharat Boddu on a time-sensitive project involving an IBM software stack. It was a struggle in the beginning. Both of us were new to all of this, and the sheer volume of information available for Rational Software Architect, Websphere Application Server, DB2, and other parts of the stack was overwhelming. The simplest of things tripped us up because we didn’t know how to debug them. For example, we learned the hard way that adding the DB2 classes to the project’s classpath didn’t mean that they were part of the runtime configuration classpath when the web services were deployed to the server. I also spent what seemed like an hour trying to deal with this issue from the web service explorer:

IWAB0135E An unexpected error has occurred. 
302 
Found 

(Solution: Check the endpoints you’ve defined in your WSDL, or define new ones. example.org won’t work.)

Once we got over those roadblocks, things flowed smoothly. We used Rational Software Architect to define web services, deployed them on Websphere Application Server, and queried a DB2 database. We also figured out how to work with complex data types and lists for both input and output. We needed to figure out how to consume web services too, so I dug around until I found a web service defined by a WSDL that played well with our configuration. All these bits and pieces will come in handy when we start working on the real requirements.

I can feel myself learning all sorts of new things. I love these moments: the magic of concepts snapping together, like the way you reach out and find things right where you’re looking for them. And I’m slowly inching my way into another area of developer awesomeness: dealing with middleware, service-oriented architecture, and all sorts of other business-y things.

Here’s what I do well, and what I’m learning to do even better.

I’m glad my manager took a chance on these projects, even though I did have to work through looming panic. ;) (It gets much easier to deal with intimidating systems when you get going!)

This is good. I like this feeling. And I can still fit in sleep, presentations, blog posts, homework help, and sanity breaks. =) Hmm…

2011-03-09 Wed 16:51

Trying MemoLane (social timeline)

March 10, 2011 - Categories: web2.0

Trying MemoLane on David Ing’s recommendation. It organizes blog posts, Twitter posts, Facebook entries, and other social information into a rather pretty timeline. This has been done before, but Memolane does have a pretty interface.

image

Wish it could pull in all of my old blog posts and tweets, though! =)

Potentially interesting feature: collaborate with other people on a timeline. Hmm…

Math and energy

March 11, 2011 - Categories: learning, life, teaching

We’ve been hosting math study groups over at our place every Friday afternoon, and occasionally on other days too. Today we reviewed the multiplication table, and adding and multiplying fractions (even mixed numbers!). We also snuck in a preview of dividing fractions (mindboggling!) and some letters from the Greek alphabet (with brief excursions into pi, trigonometry, and others).

They had been practising! The kids rattled off the multiples of six, seven, and eight with growing confidence. They only needed a little reminder to handle addition and multiplication of fractions.

After they told me how their teacher had sprung a brainteaser on them (24, 68, 101, 214, …), I shared this one: 31, 28, 31, 30, 31, 30, 31… They solved it after a hint, and looked very excited about the idea of possibly stumping their teachers. And then there’s this other one they left the house with: 3, 3, 5, 4, 4, 3, 5, 5, 4, 3, 6, …

“I didn’t know how a math study group could be fun,” one of the parents said, “but now I see how.” She had joined us a little early to find out what it was like. Her son was practically begging us for a chance to do the multiplication tables, so we did another round of them, with the grown-ups joining in too. =)

What’s it like hosting a study group at our place? We aren’t like the tutors I remember from home: the quiet one who helped my sister with math and other subjects, or the ones who came to our house to help us with Chinese. W- and I have tons of fun teaching. We come up with examples and exercises, throw in all sorts of zany ideas, sneak in advanced material as well as confidence-building reviews.

I really like the small group format. I can bring even more energy to that than I remember from my days of teaching computer science in university, and I can modify the lessons and exercises faster. It’s like the thrill of an especially interactive presentation, except that I get to actually see what people do with the ideas in the end. I can see the aha! moments happen, see progress week after week.

I’m so glad we’re doing this. I wonder how we can share more of what we’re doing, maybe help more kids and parents gain confidence too…

2011-03-11 Fri 20:56

Weekly review: Week ending March 11, 2011

March 12, 2011 - Categories: weekly

From last week’s plans

  • Work
    • [X] Work on critsit involving AJAX and PHP
    • [X] Start building web services using Websphere Application Server
    • [X] Shepherd the Rails project through legal approval process
  • Relationships
    • [X] Meet up with Cate Huston and Maggie Zhou
    • [X] Help with study group
    • [X] Book flights
  • Life
    • [X] Try more Zipcast experiments
    • [-] Practise driving – it’s been very snowy and icy
    • [-] Write about tweetchats and presentations
    • [X] Work on plans
    • Gave GTALug presentation on Org mode

Plans for next week

  • Work
    • [ ] Work on critsit involving AJAX and PHP
    • [ ] Deploy web services onto Websphere Application Server in test environment
    • [ ] Create stub web services, maybe integrate with DB2
    • [ ] Sort out work priorities for April
  • Relationships
    • [ ] Catch up with mail, networks
    • [ ] Help with study group
    • [ ] Make pie for Pi Day
  • Life
    • [ ] Finish value of blogging series
    • [ ] Write about tutoring math
    • [ ] More Zipcast experiments: what if I treat them like office hours?
    • [ ] Write about tweetchats and what I want out of them
    • [ ] Make more bread

Time analysis

Had a focused week at work (critical projects plus lots of other things going on), but still managed to keep it within reasonable hours. Found some time to apply digital painting tips I picked up from the Web. Shifted travel time and social time to preparing for presentations.

Category This week Last week Delta Notes
Break 3.0 1.3 1.7
Drawing 1.2 1.2
Exercise 2.2 3.8 -1.6
Personal 6.1 1.6 4.5 Preparing presentations
Preparation 2.0 3.2 -1.2
Routines – cooking 3.2 2.3 0.9 Slightly more time for breakfasts
Routines – general 14.8 7.6 7.2 Probably included tidying time
Routines – tidying 1.6 7.8 -6.2
Sleep 59.0 58.5 0.6
Social 24.2 29.2 -5.0 Presentation, study group
Travel 5.1 7.5 -2.4
Work 40.8 40.2 0.6
Writing 4.8 4.8 0.0

Get More Value from Blogging, Part VII: Inspiring Yourself and Inspiring Others

March 13, 2011 - Categories: blogging, tips, web2.0, writing
This entry is part 7 of 8 in the series Get More Value from Blogging

Paul Gillin invited me to do a tweetchat on the professional and personal value of blogging. When I brainstormed some of the things I’d like to talk about, I ended up with a big list: not just the value I get from blogging, but also tips for how you can build that too. I hope you enjoy this blog series! You can also see other resources in this value of blogging series.


1. Making your goals real

Writing about your goals can be scary. You might feel that people will laugh at your goals, or that they’ll embarrass you if you don’t achieve them. You might worry about sounding over-ambitious, or not ambitious enough.

But there’s a lot of value in writing about your goals, even if you start by doing so in a private entry. When you write about what you want in life, why you want it, and how you can get to that point, that path becomes clearer. When your goals dim and your willpower fades, you can inspire yourself by reviewing your notes, reminding yourself of your goals and why they matter.

Tips: Set a goal for yourself. Write about it. Write about why it matters to you. Write about your plans for achieving your goal. Review your notes when you need a burst of energy.


2. Connecting with inspiration

The Internet can make it easy to connect with other people who have similar goals. Look for blogs that inspire you. If you share your reflections through blog posts of your own, linking to the posts or people who’ve inspired you, you can build unexpected relationships and learn from or even help your role models in surprising ways.

Tips: Comment on inspiring blog posts. If you have more to say, write a blog post that refers to theirs. Share what you’re learning from people and how you’ve tried those ideas in your life.


3. Progress

Change can be long, slow, and tiring. If you can look back at the progress you’ve made, though, you might find it easier to keep going. You can use your blog to keep track of your progress.

If you’re trying to establish a new habit, you might write about how well you’re doing, or what you can do to make it easier to do what you want to do. If you’re working on improving your skills, your blog posts can help you keep track of your growth. For example, when I started learning more about drawing, I blogged my stick figures. Thanks to my blog, I can see how my drawing techniques have evolved over time, and I get less frustrated because I know I’m making progress.

Tips: Write about your progress, and think about sharing examples of your work so far. Don’t beat yourself up if you miss a day, lapse into old behavior, or slide backwards. Focus on the positive, and keep going.


4. Inspiring others

Inspire others? Yes, you can do that, even if you’re just starting out. If you share what you’re learning and how you’re living life, you might be surprised by how you touch other people’s lives. And it gets even better – you might learn a lot from the people you inspire, too.

One of the things that makes it easier for me to think out loud – to share whatever I’m learning about or struggling with on my blog – is that I often hear from other people who’ve learned a little from what I’ve shared, or who are glad to find someone else dealing with similar situations, or who are happy to finally have words for something they’ve struggled to describe. We’re all in this together, and it’s great to be able to help and inspire other people.

Tips: Don’t be afraid of sharing what you’re learning, even the parts that are hard. Who knows whom you might help along the way?

Coconut buns and the economics of home awesomeness

March 14, 2011 - Categories: cooking, family, life, love, reflection

Sometimes making things at home is cheaper than buying them. Sometimes it’s more expensive. For example, the batch lunches we prepare and freeze come out to $1-$3 per meal, labour included. They’re definitely worth it compared to eating out. The coconut cocktail buns (pan de coco?) I spent this weekend learning are cheaper at the store, but they were still very much worth making.

We followed a recipe from an book that W- had bought from a pastry store in Chinatown a long time ago. It was a different way of making dough. The first step was to mix yeast, warm water, and flour. I was a little nervous in the beginning because it was more of a slurry than a paste. Once it rose and I combined it with the rest of the flour, it was beautifully dough-like, made smooth and elastic through kneading. After several rounds of rising, I filled it with the coconut mix, wrapped the dough around it, let it rest some more, then popped it into the oven for 15 minutes. The result:

Coconut cocktail buns

The buns were scrumptious. Not too sweet. Complex taste. Yummy yummy yummy.

I had a lot of fun making the buns with W-, playing around with the voice and mannerisms we’d picked up from a Julia Child video. I also made some pie crusts for Pi Day (March 14). W- filled the first pie crust with lemon meringue. I sewed up some tea towels from the fabric that W- helped me pick out, and those passed their field test. We salvaged some wool scraps from one of my bins and repurposed an empty paper salt shaker into a dice roller for J-’s math study sessions. It was a great weekend for maing things.

We spend a lot of weekend time doing things ourselves: cooking, baking, sewing, fixing things, even woodworking during the summer months. Some of things cost us more in terms of time and money than we might spend on functionally equivalent alternatives, but we get a surprising amount of value from these activities. For example, baking coconut buns results in yummy coconut buns (for which a reasonable equivalent can be bought for a little more than a dollar each), but the activity is also:

So although baking buns takes time, it actually pays off better than many of the other ways I could spend weekend time, such as:

There’s a reasonable limit to how much time I would spend on baking or making other things at home. I don’t want to mill my own flour (just yet). I think I’ve got a decent balance right now, and I look forward to picking up more as I get better and more efficient.

Am I trading off, say, more brilliance at work, or racking up income through side-hustles, or becoming more famous through writing? Maybe. But this is good, and all of those other aspects of life are pretty okay (even awesome!). Life is good.

Continuing experiments with Slideshare’s Zipcast web conferences

March 14, 2011 - Categories: speaking

I did a quick presentation of Six Steps to Sharing on Slideshare’s Zipcast this Saturday.

I haven’t done enough audience/list development to invite lots of people to sign up, as most of my internal and external talks are organized and promoted by other people. As an experiment, I decided to think of this more like informal office hours and the bonus of being able to review and think about some of the presentations I’ve shared. That worked out well.

I’ve been using this to test video setups around the house, too. This time, I tried the kitchen, sitting on the floor near the back door. I got good light, a clean background, and the right height for the webcam – things that are more difficult to arrange when my laptop’s on the table. However, sitting on the floor made breathing slightly more difficult, and it changed the way I spoke. Downstairs is still my favourite setup, but it requires a bit of work – foldable background, three lights. The kitchen is the easiest to get up and running.

I couldn’t get my hair to stay still, so I wore a hat. They’re handy for that. =)

If I want to get better at this, here are the key areas for growth:

Is it worth investing time into this? Considerations:

I think I’m going to keep tinkering around with this, but I might not spend the time right now to make the most of Zipcasts or other webconferencing tools. It’s good learning, though, and I’ll be around every Saturday in case people have questions or ideas.

Recipes: Coconut cocktail bun recipe

March 15, 2011 - Categories: cooking, cookordie

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

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

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

Assorted buns

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

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

Bun Dough

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

Coconut filling

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

Assembly

Other fillings we’ve tried:

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

2011-03-14 Mon 23:14

Thinking about a developer setup template

March 16, 2011 - Categories: geek, ibm, kaizen, work

Development on one of my projects has gone in fits and starts. It’s been particularly challenging because the information about server configuration has been incomplete and scattered, trickling in as the IT architects sort out what’s going on and find people who can answer questions. The other developer and I are both new to this software stack (Websphere Portal, Websphere Application Server, FileNet, Enterprise Content Manager, DB2, Rational Software Architect). This means that we run into all the things that experienced developers take for granted: where to find documentation at the right level of detail, which ports and URLs to use (or even how to go about finding them), how to deploy our code, and how to diagnose and troubleshoot problems.

Stoic philosophy to the rescue. It’s no use whinging about not having all the bits and pieces up front. =) Besides, the people who set up the virtual images are people too, doing the best job they can while probably being pulled in a million directions or afflicted with the curse of expertise, forgetting the kind of knowledge they take for granted. It’s okay. It is what it is.

We’ve managed to figure most of the pieces out with a lot of poking around and experimentation. I’ve successfully deployed a web service, found sample code that can post a file to our Filenet object store, and written a web service client. We’ve previously been able to connect to DB2, so we should have all the major pieces now. The next step is to wire it all up with application-specific code.

I’m thinking of organizing all the bits and pieces of information we needed into a template that I can share with server administrators and developers next time we’re on a project like this. It would make work a lot faster and easier.

So, what do developers need? We typically need to:

Set up our development environment
software, licensing, config, source code control information, bugtracking, etc.
Orient ourselves on different environments
login/access/VPN details for integration, testing, and production environments; deployment procedure
Confirm that the service is running correctly
the full URL to the web-based administration console and to other web interfaces we can use, any hosts entries needed (for name-based virtual hosts, for example)
Log on the server and look around
VPN details, boundary firewalls, IP addresses, usernames, passwords, connection software (Remote Desktop? VNC?), file paths, location of log files
Write code
API documentation, software versions, ports, paths, usernames, passwords
Deploy and run code
file paths or upload interface, instructions on starting or restarting services
Test that things are working
web interfaces, ports, URLs, etc.

This could be a lot of information, and it might not be worth doing if you’ve got a couple of developers who can pick things up quickly. On the other hand, if you’re preparing a demo image that could be used dozens or hundreds of times for development, or if you gradually build this document over time, that could be pretty handy.

What’s in your developer setup template?

Photo (c) 2009 Mecookie – Creative Commons Attribution License

2011-03-15 Tue 20:03

Decision trees and self-challenges: how my laptop’s recent battery failure is a great excuse to think

March 17, 2011 - Categories: analysis, decision, geek, kaizen

The battery on my Lenovo X61 tablet refuses to hold a charge, and there seems to be no way to fix it. The battery is no longer covered under warranty, so I’ll need to replace it on my own if I choose to. An easy algorithm for decision-making is be to postpone spending money until I can demonstrate really good benefits for doing so. (Or in this case, nine business days before I really need a new battery.) Because I’m curious about the way I might think about other choices, I’m going to think through some of the strategies I use to make decisions. =)

Decision trees

I like breaking things down into decision trees, similar to the technique described by Ken Watanabe in his kid-friendly book Problem Solving 101. It’s useful to figure out what the options are and what their costs and benefits might be. I realized that I actually have two independent choices: what to do with the battery, and what to do with the laptop. Here is my current decision tree.

I’m probably going to go with choice A.2 for the short-term choice, and we’ll see how my savings work out for choice B. We’re saving for a fair bit of travel this year, so B.2 is more likely than B.1. Fortunately, I work with two laptops, so it’s fine. My basic choice is good. Here’s another technique I use to examine that more closely:

Estimating option value

Hmm. Well, I can still use my battery-less X61T for drawing, writing, and coding. I’ll need to properly hibernate it before transferring locations, or leave it mostly in one place. I just won’t use it out and about as much. I don’t spend that much time in cafes, so it’s really more the shift between the kitchen and the living room or the basement.

So, what’s the estimated gap between the expected value of a fully-functional laptop and a battery-less one? In my case, probably not as much as it would be for other people, because I’ve got my work laptop in addition to this. The upper bound on value for me must be $5/day – definitely can’t be more than that, and is probably nowhere near that number. The cost is probably just a few more extra minutes starting up and shutting down, and a little less flexibility, which doesn’t translate into a large cost because I can use that time for something else. It might even be a net benefit if it encourages me to use a sketchbook during our upcoming trip. =) Worst-case scenario is that it might cost me an hour of work if I forget to save something, but that’s just about discipline.

The value gap might be bigger for J-, but we’ll see if she can handle it. It’s going to be a big gap if we sell this, but then it’s okay to get a new battery closer to that day. Besides, I usually run my laptops into the ground anyway. This one was an exception. I replaced my Eee after a little less than a year), but that was mainly because J-’s need for a computer coincided neatly with my curiosity about tablet PCs.

Setting up challenges

Another way to find out if I’m sufficiently interested in something is to ask questions and set myself challenges. For example, if I want to double-check the potential benefits of the fancy new X220 tablet compared to, say, the lower-prices X220 laptop or my current X61T, I can ask the following questions:

  1. Will I draw often enough to make the tablet worthwhile?
  2. Will I need more than 3 GB often enough to make the upgrade to a 64-bit OS worth the hassle?
  3. Will I run into CPU processing limits often enough to make sense to switch?
  4. Will I need the battery life often enough to make the extended battery life worthwhile?

Answers 2 and 3 seem to be “no” at the moment. VMs would be a good use of additional memory and processing power, but I’ve been doing fine with two computers. If I can cope with a battery-less life, the answer to 4 is probably not significant, unless I find myself going to way more conferences and meetings (and if my scanner proves unwieldy). The answer to question 1 is the most interesting.

I’ve taken lots of sketchnotes, but I’ve done fewer illustrations than I’d hoped I’d draw with the X61T. The workflow isn’t as smooth as keyboard + Cintiq, but it’s (semi-portably) fun. I haven’t figured out how to stop GIMP and Inkscape from jittering so much, although MyPaint and OneNote make beautifully smooth lines. I tend to do my sketchnotes plugged in, but I have a few sketchnotes from meetings where power outlets were few and far between. If I use paper notes for the portable sketches (maybe index cards or notebooks?), then I’ll get a better idea of the incremental value of A.1 or B.1. I can set myself an arbitrary threshold – maybe fill a notebook full of out-and-about sketches and notes – and reconsider my decision when I’ve achieved it. Result: Better drawing skills, a habit of drawing, and an idea of how much I might benefit from the infinitely scrollable paper and the multiplicity of colours on a digital canvas.

I’ve exaggerated the level of thought I usually go to for something like this. There’s room in my “dream/opportunity/kaizen” fund for a new battery if it turns out I absolutely must have one. But it’s fun to think through the techniques I might use to decide something, and writing it down now for something that isn’t critical may help me remember it later when I need to decide something more major. And who knows, it might get you thinking about something… =)

(I might end up getting a lot of value out of not having a battery for this notebook. Look, a blog post, and more reasons to draw/sketch on paper! Stay tuned for progress.)

Cats: 0, toilet paper monster: 1; also, ArtRage and Autodesk Sketchbook Pro

March 18, 2011 - Categories: cat, drawing, family, life, sketches

image

One time when I came home, W- showed me the picture he took of a toilet paper trail going to the laundry basket. The cats refused to testify, but this is what I think happened.

W- says the other drawing I made of Neko(cat)’s favourite positions for sleeping might be too personal, it being set in our room and all. I said Cat versus Human does it. He said my blog isn’t Cat versus Human. Which is true, because Cat versus Human is awesome and even has a book coming out, but not inarguable. I didn’t break out the persuasive techniques we learned about in “Thank You for Arguing,” though. Instead, I’ll tease you with the captions:

People who know Neko (our oldest cat) or who have cats of their own can probably figure out the rest.

I’m playing around with Artrage Studio Pro to see if I like it. I think I get more value from it than from a new laptop battery. Putting my computer into hibernation mode before moving between the kitchen and the living room adds maybe a minute; not a big cost. Being able to draw with 16 million colours and infinite erasures – now that’s something real. It makes drawing a whole lot more fun. I might give the Autodesk SketchBook Pro trial another spin, too. It might be better for pencils and clean illustrations.

Drawing is a great way to remember, particularly for things I’ve forgotten to take photographs of or for which I’ve lost the files. My stack of blank index cards is dwindling fast, and sketches pile up on my bedside table. This is fun. =)

Quick comparison with SketchBook Pro:

image

Smoothing is more controllable in Artrage, and I should check out the flood fills in that program too. I do like the pen gestures in Sketchbook Pro, though, and I’m sure they’ll be a lot more convenient with experience. I’m going to practise drawing in both some more. Who knows? I may even get both, if it turns out that they exercise my brain in different ways. =)

Spring!

March 19, 2011 - Categories: gardening, life, sketches

It was so warm on the walk back from the library that I shucked my coat. When I got home, I took my bicycle down from the wall hook. The warmth and sun made me think about biking, and gardening, and other wonderful springtime pursuits. I’ve started a set of bitter melon, basil, tomatoes, and peppers. We’ll see how they work out.

imageWhen I was planting peas in the garden, I realized that last year’s parsley had self-seeded and the new sprouts were starting to come up. The Internet says that parsley germination can be a slow and difficult process, taking four to six weeks to grow from seed, so I’m happy that the parsley decided to get a head start. I took a picture, but it didn’t feel just like that, so I drew what it felt like: life reaching towards the sun.

First game of lacrosse catch, first bicycle ride, first gardening session… Life is good.

All the seasons take some getting used to. Winter is the big attention-getter, of course, but even spring, summer, and fall have surprises for immigrants like me. Planning around growing seasons and frost dates? Dealing with super-long days? Raking leaves and staving off the anxieties of a looming winter? But it is what it is, and I’m where I am, so I’ll make the most of what I’ve got.

What do I want to do and learn this spring?

As I head into summer, I want to be even more comfortable on my bike, I want to have friends over more often, I want to have an even more productive garden, and I want to fill notebooks with drawings and photographs. Hmm…

It turns out that it’s pretty easy to knock the power cord out of my laptop by, say, tripping on it or accidentally pulling it when drawing. I had to draw that three times! <laugh>

Weekly review: Week ending March 18, 2011

March 20, 2011 - Categories: weekly

From last week’s plans

  • Work
    • [X] Work on critsit involving AJAX and PHP
    • [-] Deploy web services onto Websphere Application Server in test environment
    • [X] Create stub web services, maybe integrate with DB2
    • [-] Sort out work priorities for April
  • Relationships
    • [-] Catch up with mail, networks
    • [-] Help with study group – moved to next week
    • [X] Make pie for Pi Day
  • Life
    • [X] Finish value of blogging series
    • [X] Write about tutoring math
    • [X] More Zipcast experiments: what if I treat them like office hours?
    • [-] Write about tweetchats and what I want out of them
    • [X] Make more bread

Plans for next week

  • Work
    • [ ] Sort out web services on Websphere Application Server
    • [ ] Figure out work priorities for April and May
    • [ ] Send staffing guidelines for project M
    • [ ] Catch up on work mail
  • Relationships
    • [X] Host pirate card game party
    • [ ] Catch up on mail
    • [ ] Chat with David Singer
  • Life
    • [ ] Draw more
    • [ ] Update plans
    • [ ] Catch up on mail

Time analysis

Category This week Last week Delta Notes
Break 4.5 3.0 1.45
Drawing 8.5 1.2 7.27
Exercise 9.8 2.2 7.60
Learning 0.5 0.50
Personal 2.0 6.1 -4.08
Preparation 3.3 2.0 1.28
Routines – cooking 6.0 3.2 2.83
Routines – general 9.8 14.8 -5.03
Routines – tidying 1.6 1.6 0.03
Sleep 60.1 59.0 1.07
Social 1.0 24.2 -23.25
Travel 3.9 5.1 -1.18
Work 44.3 40.8 3.52
Writing 11.8 4.8 6.98

I spent most of last week focused on work, drawing, and writing, shifting time away from social get-togethers. In the evenings, I usually sketched while W- and J- played Lego Star Wars. I’ve been drawing and baking a lot recently, and I enjoy doing so.

I haven’t spent a lot of time on mail, though, so I need to focus on that and catch up.

Pirate kitties

March 21, 2011 - Categories: cat, sketches

imageOne of the best things about drawing is that you can draw things that don’t exist. Somehow your world splits into all these different possibilities. Even if you can’t quite capture what you hold in your mind, it’s there. Your rough sketches remind you.

And so: pirate kitties.

Drawing things you can’t see turns out to be surprisingly fun.

Learning more about Websphere and web service development

March 21, 2011 - Categories: development, geek, ibm

So I finally figured out what was wrong with the way I was trying to generate my web services for Websphere 6.1. I’d been using “Generate Java bean skeleton” from the WSDL file, which worked fine for the 6.0 target, but which didn’t work for 6.1. The correct way to do it is to right-click on the service and choose “Generate – Top-down Service”.

I also spent some time figuring out how to correctly use the XSD the IT architect sent me in order to use it for the data types in the WSDL. This is how:

<xsd:import schemaLocation="....xsd" namespace="...">
</xsd:import>

One of the pieces that was missing for me was dealing with namespaces, but once I got my head around XML again, I added some namespaces and got the referred types working.

So I’ve retwiddled our web services and gotten them to work with the new data structures. My test cases pass again. Progress!

2011-03-21 Mon 20:03

Shanghaippy birthday, John Grimme! Recipe: Lumpiang shanghai

March 22, 2011 - Categories: cooking, family, sketches

John Grimme, my sister’s fiance, celebrates his birthday tomorrow. (Well, today already, given time in the Netherlands.) He gets this bad pun because of his deep love for lumpiang shanghai, and because I’ve decided to get lots more drawing practice. =) Makes me wish I thought of making birthday illustrations like this earlier! Oh well, I’ll just have to do some drawings for other family members on other occasions.

image

He probably doesn’t need this recipe, but here it is for other people who are curious.

Lumpiang shanghai

These ingredients can be changed quite a bit. Experiment!

Mix everything but the egg, the wrapper, and the plum sauce in a large mixing bowl. Test the seasoning by frying some of the filling in oil until the pork is cooked, then tasting it. When the filling tastes good, make the spring rolls.

Take a spring roll wrapper and spread it on a plate or saucer. Put a teaspoon of filling slightly below the wrapper center, in a long finger-width line. Leave space on either side of the filling so that you can tuck the ends in. Fold the near corner of the wrapper over the filling. Fold the sides inwards. Moisten the far edges of the wrapper with some of the egg, then roll up your wrapper until you reach the end, rolling it as tightly as you can.

(*Optional: Wash your hands, browse the Internet for a video on how to make it, then get back to making lumpia.)

Make as many as you can until you run out of wrappers or filling. If you run out of wrappers first, you can turn the rest of the filling into meatballs or little patties. If you run out of filling first, you can use the wrappers for other fried goodies.

If you want to freeze any of the lumpia, you can do so now. (When Tita Gay came over for our wedding, we made well over 300 pieces of lumpia. Everyone had all the lumpia they could eat, and we enjoyed the extras for almost a month afterwards.)

When you’ve made a batch of lumpia, heat 1-2 inches of oil in a frying pan until a piece of bread sizzles or until the oil smokes. (This is why we don’t make lumpia often – frying can be  scary!) Fry the lumpia a few at a time, turning or rolling them so that they cook evenly. Avoid overcrowding them, and give the oil time to heat up again between batches. Lumpia is done when it turns crispy and golden brown. Let them drain on paper towels or in a strainer, and break one open to test if it’s cooked inside. If it is, eat the evidence. Stop yourself from eating more. Fry up another batch. Test those for quality, too. Remember to leave some for your guests.

Serve warm, with plum sauce.

The three argumenteers

March 23, 2011 - Categories: sketches

image

(Or arguers, more correctly? But Argumenteers is a fun little reference.)

Logos, ethos, and pathos. =) W- and I would like to help J-, her friends, and other people learn more about critical thinking, rhetoric, argument, and eventually negotiation. Someday I may even make a kid’s book about arguments so that kids (and grown-ups!) can get better at recognizing, identifying, and responding to arguments. First step: pick up more practice ourselves.

The sequence we might work with is:

  1. identify and break down arguments
  2. classify arguments
  3. identify fallacies and respond to them
  4. identify figures of speech and rhetorical effect
  5. repair and respond to stronger arguments

So I’m going to try reading the opinion pages of the New York Times and other news sources and analyzing the arguments there. First up: Teaching to the Text Message, Andy Seslsberg, March 19, 2011.

Argument: Short, Internet-focused writing assignments may be more effective than long writing assignments early in the college curriculum.

1. Long assignments don’t work.
1.1. Support: I’ve been teaching with long writing assignments for years, [so I know what I’m talking about.] 
1.2
Support: Students’ long writing assignments are of low quality (“font-size manipulation, plagiarism, cliches”).
1.3 Implied: Teachers don’t have the time to check long writing assignments in depth.
2. Implied: Short Internet-focused writing assignments will be more interesting and more useful.
2.1 Support: Alternative formats get people interested.
2.2 Support: Real-life contexts for communication such as networking e-mails, tweets, or comments will be more relevant to students than essays or book reports.
2.3 Support: Alternative assignments are more like students’ everyday life.
2.4 Support: Writing concisely is useful and more in tune with the world’s needs.
2.5 Support: Great thinkers can pack a lot of thought into a few words. [Therefore students won’t be missing out, and there might be useful ways to connect the lessons to past thinkers.]
3. Support: Short assignments can help students develop better skills and teachers give better feedback.
3.1. Support: Short assignments force clarity and reduce waste.
3.2. Support: Teachers can give short assignments more individual attention. [Implied: More individual attention can help students learn more effectively]
3.3. Support: Short writing assignments encourage conciseness and creativity
3.4 Support: Moderation – colleges can still have long writing assignments later in the curriculum.

Hmm… There must be lots of ways to make rhetoric and argument fun and interesting…

Weekly review: Week ending March 25, 2011

March 26, 2011 - Categories: weekly

From last week’s plans

  • Work
    • [X] Sort out web services on Websphere Application Server
    • [X] Figure out work priorities for April and May
    • [X] Send staffing guidelines for project M
    • [X] Catch up on work mail
    • Did first pass of estimates for project M
    • Drafted administration guide for project I
  • Relationships
    • [X] Host pirate card game party
    • [X] Catch up on mail
    • [-] Chat with David Singer
    • Received lovely French rolling pin from W-
    • Helped with study group
    • Had fun playing LEGO Star Wars with W-
  • Life
    • [X] Draw more
    • [-] Update plans
    • [X] Catch up on mail

Plans for next week

  • Work
    • [ ] Work on Rails questionnaire project for client C
    • [ ] Talk to client U regarding Drupal
    • [ ] Finish administration guide for project I
  • Relationships
    • [ ] Plant lots of yummy vegetables
    • [ ] Chat with David Singer
  • Life
    • [X] Learn how to cook dal
    • [X] Bake another batch of buns
    • [ ] Get through busy week
    • [ ] Order laptop battery

Time analysis

Category This week Last week Delta Notes
Break 17.6 4.5 13.1 LEGO Star Wars!
Drawing 11.7 8.5 3.2
Exercise 1.9 9.8 -7.9
Learning 0.5 -0.5
Personal 1.2 2.0 -0.8 Gardening
Preparation 0.6 3.3 -2.7
Routines – cooking 2.0 6.0 -4.0
Routines – general 6.7 9.8 -3.1
Routines – tidying 5.5 1.6 3.9
Sleep 60.8 60.1 0.7
Social 11.0 1.0 9.0 Pirate party, study group
Travel 7.1 3.9 3.2
Work 40.1 44.3 -4.2
Writing 1.7 11.8 -10.1

Lots of hanging out this week – hosted a pirate-related card game party, hosted math study group, and spent time playing LEGO Star Wars with Wayne. Work is plenty busy, too. =)

Filling in the learning gaps

March 27, 2011 - Categories: sketches, teaching

image

In our math study group sessions, we often find ourselves reviewing lessons that the kids briefly covered in school but hadn’t absorbed. For example, one of the kids was having a hard time with long division. “This is going to take a long time,” he said. He sounded hesitant, so I offered to help him review long division while W- gave the other kids additional exercises. I shared the mnemonic that helped J- learn long division: Dracula Must Suck Blood, which reminds people to divide, multiply, subtract, and then bring down the next number. We got through double-digit division, remainders, and decimal points, although he still needs to practise until he gets division down pat.

J- has moments like that with her schoolwork, too, so it’s good that we have these study sessions. The kids had taken up algebraic expressions before, but drew blanks when I turned our straightforward price + tax exercise into an exercise along the lines of “Let’s say I want to sell a shirt for $30 after tax, which is 13%. What should the initial price be?” So we did a quick review of algebra, and we’ll do more next week.

The kids’ classroom lessons are currently focused on a simulation of real life. They have jobs, and must balance their income and their expenses. Some are entrepreneurs, and some work at companies. They’re learning about business, advertising, accounting, and communication. They’ve even filed income tax returns. The teachers (also known as the Sometimes Benevolent Force in-game) occasionally shake things up. I think it’s an interesting idea.

This integrated, real-life-focused learning does leave little time to review lessons or build a sense of mastery in basic skills, and J- sometimes has a hard time talking about the specific lessons she’s learning from the exercise. That’s one of the reasons why we’ve been stepping up our involvement, tutoring J- and organizing these study groups. The teachers are doing their best, and I think the program might be more useful than a plain-vanilla-teach-to-the-textbook approach. Filling in the gaps at home is much more effective than waxing nostalgic or wringing our hands in worry.

It helps to understand that it’s normal for some things to be missed. No school is perfect, no teacher is perfect, and no student is perfect. It takes repeated exposure and practice to learn something – as I learn and re-learn myself, stretching with these projects and hobbies. =)

On typing in Dvorak

March 28, 2011 - Categories: geek, tips

Stefan asks:

I use the “normal” QWERTY-layout but I am thinking to switch over to
Dvorak. I read somewhere that you are using Dvorak. Can you recommend
it for someone who is not a programmer and just types some messages. I
am at 54 WPM in QWERTY. What is your count in QWERTY and in Dvorak. I
am really curious about it.

Short answer: Try it out if you’re curious, but don’t expect miraculous speed gains – typing layout is probably not your bottleneck.

One of my quirks is that I’ve switched my computer to the Dvorak keyboard layout – same keyboard, just different software configuration. I taught myself Dvorak on a whim during the summer of 2002, to see how easily I could reprogram muscle memory. It took a month of typing painfully slowly, and then things clicked. I currently type at about 90wpm on both Dvorak and QWERTY.

I prefer Dvorak, though, because it feels like more even use of my fingers. This is partly because of the layout, which optimizes for alternating fingers when typing English. This is also partly because I learned how to type Dvorak using a computer-based typing program that encouraged me to use the right fingers to press each key. In contrast, I don’t remember ever learning how to type QWERTY. We must have had keyboarding exercises in school, but by then I typed faster than most people around already, and no one minded that I tended to hit keys with whichever finger was already in motion.

Choosing the Dvorak keyboard layout has a few consequences. First, it certainly increases geek cred, as odd computer-related decisions tend to do. ;) It also means that I have to switch the keyboard layout on my computer if anyone needs to borrow it. I can switch layouts, although sometimes starting up – or alternating between computers with different layouts – takes a little more thought. I’ve changed some of my keyboard shortcuts to make them more useful on a Dvorak keyboard. For programs like Nethack, I switch to QWERTY because the shortcuts feel better that way. My inclination towards Dvorak is also dependent on the keyboard size and feel – too small or too big, and I’ll switch to QWERTY. There have even been times when I have most of my windows set to Dvorak and one or two windows set to QWERTY – mildly confusing because of the context-switching, but easy enough to sort out.

Typing layout isn’t the limiting factor for me, though. At 90wpm, I can type about as fast as I need to type in order to write or program. If I want to do things faster, it’s more about thinking more quickly rather than just typing more quickly. My brain is the bottleneck, not the way the keys are arranged. (For example, this post was written at effectively 22wpm, not 90wpm.) When I’m picking up lots of passages from books, I find that dictating into Dragon Naturally Speaking 11 is reasonably fast, and it’s easier on my hands and posture too. So I don’t feel any particular urge to further improve my typing speed, just as my reading speed is fine. I still haven’t gotten the hang of dictating new text to Dragon Naturally Speaking, though. I currently find it faster and less distracting to type new content than to say it.

So:

Whether you’re on QWERTY or Dvorak, you might see a speed boost if you train yourself to type properly – pressing keys with the right fingers, keeping your fingers on the home row as much as possible, and using keyboard shortcuts and automation to reduce the amount of typing you need to do in the first place. Learning a new keyboard layout might be a way to break yourself out of bad habits. Aside from that, Dvorak, Colemak, and other layouts might be worth checking out as an intellectual exercise. Who knows, you might enjoy typing in one of them!

2011-03-28 Mon 21:47

Helping kids learn about automation

March 29, 2011 - Categories: teaching

J- shuffled in and out of the living room, listless and bored. As part of a 9-week simulation of real life in school, she and her classmates had been assigned jobs. Her job was to be an accountant, and the tedium of checking dozens of pretend tax returns had long sunk in. W- had encouraged her to use a calculator, so at least she didn’t have to multiple all those figures by hand, but there were still so many numbers to verify.

My geek sense tingled, as it does whenever there’s an opportunity for a quick win through automation. I coaxed her back to her homework. “Come on, let’s set up a spreadsheet,” I said. “That way, you don’t have to redo each of the calculations or worry about getting things wrong.”

We brought up OpenOffice.org Calc. She was still lackluster, so I took the lead in creating the spreadsheet. I asked her which tax return we could use as a model, and she picked hers. We started filling in the formulas, checking her work along the way. (We found and fixed an error in her tax return, too!) Then we tested the spreadsheet on a few other tax returns she had manually done, and she used it to check the rest.

Result: Not only could she verify a correct tax return in less than a minute, but she perked up and started having fun with it. She made a pile of correct tax returns and a pile of incorrect ones, with sticky notes pointing out the deficiencies. She still doesn’t want to be an accountant again, but at least she knows that tedious tasks might be automated away.

The next time J- finds herself doing tedious calculations or verifications, I hope she thinks about how much faster, more reliable, and more enjoyable the spreadsheet was compared to calculating things step by step, and perhaps invest time into learning how to automate whatever she needs to do.

How do people learn how to automate? It’s such a time-saving skill, but it doesn’t seem all that common. Maybe people are intimidated by spreadsheets and programming languages, and that fear of losing more time keeps them from gradually building the knowledge they need to save lots of time. If we can show J- and other kids the benefits of automating, maybe that light at the end of the tunnel will encourage them to learn. If we expose them to the methods for automating tasks, such as putting calculations into a spreadsheet, creating keyboard macros, or writing short programs, maybe they’ll realize it’s not scary – and maybe they’ll start modifying or creating new tools.

In my experience, working with new automating frameworks is always slow and somewhat frustrating in the beginning. It helps that I don’t usually need or want to automate everything right away. I break things down into small things, small wins. I might start by figuring out the most time-consuming parts and automating that 10%, or automating the most common operations. As I become more familiar with the tools and the process, I automate a little bit more, and more, and more. Eventually I might even create a tool that other people can use, like the way my Community Toolkit for Lotus Connections is off and running.

The hardest thing, I guess, is knowing where to start. I run into that problem a lot, because I work with lots of different technologies and frameworks. It’s like looking for the end of a tangled piece of string. That can be hard to find in the confusion, but once you do, you can start unknotting the mess. I want J- to be able to think: ah, this has to do with calculations, maybe I can get a handle on it by using a spreadsheet, putting in manual steps if needed.

How do you use teachable moments to encourage people to automate?

2011-03-29 Tue 21:09

More thoughts on time analysis: correlations and revealed preferences

March 29, 2011 - Categories: analysis, geek, quantified

People often ask about the time analyses I do as part of my weekly review. My weekly time tracking reports go back to about December 11, 2010, when I started tracking my time using the free Time Recording app on the Android. I do it because of the following reasons:

Fatigue and burnout are particularly big concerns for developers. There’s always the temptation to be unrealistic about one’s schedule, either through over-optimistic estimates or through business pressures. However, sustained crunch mode decreases productivity and may even result in negative productivity. Sleep deprivation severely cuts into cognitive ability and increases the chance of catastrophic error. I like what I do too much to waste time burning out.

Development is so engaging for me. I could keep writing code and building systems late into the night, at the expense of other things I could do. Tracking time helps me keep a careful eye on how much time I spend programming. Like the way a good budgeting system helps me make the most of my expenses and gives me the freedom to take advantage of opportunities, a good time budgeting system helps me make the most of my focused work time and allows me to also focus on other things that matter (the care and feeding of relationships, the development of new skills, and so on).

So here are some new things I’ve learned from time tracking:

In economics, there’s the idea of a revealed preference, which is basically what your actions show compared to what you might say or think you prefer. I may think I’d like to sew or learn languages or do the piano, but if I spend time playing LEGO Star Wars III instead, then that tells me that sewing, Latin, and Schumann are lower on my priority list. (Rationalization: LEGO Star Wars is awesome and it counts as bonding time with W- and J-, so it’s not all that bad.)

So, how do I really trade my time? Which activities are positively or negatively correlated with other activities? I made a correlation matrix to see how I spent my time. I used conditional formatting to make high correlations jump out at me. I found some interesting patterns in how I shift time from one category to another.

Activity 1 Activity 2 Linear correlation coefficient (r) Notes
Prep Personal 0.87 Getting things in order means I can give myself permission to learn something new
Cooking Prep 0.86 Makes perfect sense. Big chore days.
Break Drawing 0.75 More relaxing time = more drawing time
Travel Work 0.69 When I commute to work, I probably tend to work longer. Also, I needed to go to the office for some of the crunchy projects.
Sleep Break 0.67 Relaxed days
Sleep Writing 0.60 Nice to know writing isn’t conflicting with sleep
Social Drawing -0.50 The Saturday afternoons or weekday evenings I spend with people instead of sketching
Routines Drawing -0.65 Lots of chores = less drawing time
Personal Drawing -0.55 Learning other things = less time spent on drawing
Travel Cooking -0.60 Lots of travel = live off home-made frozen lunches
Sleep Cooking -0.62 Late weekend mornings = less cooking?
Sleep Prep -0.58 Likewise
Sleep Personal -0.57 More sleep = less time spent learning other things

I can guess at the causality of some of these relationships, but the others are up in the air. =) Still, I’m learning quite a lot from this exercise. For example, I thought I was giving up sleep in order to write more or draw more. It turns out that sleep cuts into cooking, prep, and other personal interests (sewing, piano, etc.), and doesn’t have much effect on work, writing, or drawing. I do sleep quite well, though, so it may be interesting to experiment with that.

I’m also happy to see I don’t give up too much because of travel – a median of 3.4 hours / week, much of which is spent reading, brainstorming, or listening to audiobooks with W-. Travel time reduces cooking time, but that’s okay because we batch-cook in order to minimize weekday cooking. It’s good to see that it doesn’t affect my other activities a lot.

The same dataset lets me analyze my sleeping patterns, report project-level breakdowns at work, and review quick notes on my day. I’m in consulting, so I need to track and bill my time per project. Time Recording makes it easy to do that, and I’m thinking of tweaking my workflow further so that I can use task-level times to improve my estimates.

So that’s where I am, tracking-wise. It takes me a few seconds to clock into a new category, and the habit is handy for making sure I know where my phone is. Tracking my time also helps me stay more focused on what I’m doing. If you’re curious about the idea and you have a smartphone or other mobile device, find a time-tracking application and give it a try. Have fun!

2011-03-29 Tue 21:54

Becoming a faster developer

March 31, 2011 - Categories: development, geek

(NOTE: Becoming a faster developer isn’t necessarily the same as becoming a more productive developer. Becoming a more productive developer is better. Speed isn’t everything!)

Following up on my post about typing speed, QWERTY/Dvorak/alternate layouts, and the idea that your keyboard layout probably has little to do with your performance (although it might have a little to do with your happiness), I wanted to think about what makes a fast programmer. People tell me I’m fast. I know people who can pull programs together even faster. We touch-type, for sure, but that’s the least of it.

A huge part of development speed is experience. If you’re familiar with a programming platform, the error messages, the structure, the way things work and the way things are named, you can learn new concepts and write correct code much faster than a newbie can.

What if you’re faced with a new framework? You’ll still get a speed boost if you can relate the concepts to other things you’ve learned. If you can figure out the control structures you need and the debugging techniques you can use, then it’s mostly a matter of translating to the new framework and picking up any quirks or local idioms.

So let’s break it down further. What are small, specific skills that can help a developer get really fast?

What would you add to this list?

Quid est nōmen tuum? Nōmen meum est “Sacha”

March 31, 2011 - Categories: learning

Latīnum studémus. Monē mē!

The Latin textbooks that W- ordered from the library have arrived, and we’re slowly making our way through both Wheelock’s Latin and an online copy of a Latin textbook from the 1880s. Writing is probably going to be painfully slow and ungrammatic for a while, but hey, it’s worth a try. =)

Why Latin? Geek quirkiness. Secret languages for greater connection. Potential classical education.

It will be interesting. Let’s see if my blog can handle the characters…