The cooking workshop was so much fun! Ian, Michelle, Cathryn, Mickey
and I prepared Greek chicken casserole and upside-down chocolate fudge
pudding in my suite. I was surprised to find myself helping Michelle
and Mickey learn how to chop onions, mince garlic, and measure flour.
I guess I did manage to learn how to cook somewhere along the way…
We brought the completed dishes to the group dinner and had a lot of
fun trying out other people’s dishes. It was awesome, and I look
forward to doing it again.
Trevor introduced me to the wonderful world of cryptic crosswords.
Any crossword where clues like “Main attraction: second pitch” can
result in star (s (second) + tar (pitch))… wow.
Interesting but non-bloggable insights.
Wish I could find interesting, fundable and bloggable things to work
on. I want to write about stuff…
Whoa, went way out of my comfort zone there. Giving in to social
pressure, I volunteered to do a humorous speech for our Toastmasters
club contest. I did a riff on my usual productivity schtick, talking
about the power of procrastination. It wasn’t a rolling-in-the-aisles
success, but it wasn’t completely horrible, either. I got at least one
or two smiles. So I guess it was just _slightly_ horrible.
Still. It was a good experience, in the way that jumping into the
cold, deep end of a pool is a good experience even if you’re just
flailing about while all these Olympic swimmers are watching you.
I guess I’ll be up for the area contest… Yikes.
5:30 – 7:00 at BA1130. I am _so_ going to be there.
<cancels everything else on her schedule>
I’ve been struggling to figure out exactly how graduate school and my
courses fit into The Great Scheme of Things, and I think I’ve just
figured out exactly how to motivate myself. =)
I’m going to look at my reading course as a series of blogging
assignments. Because I’m in grad school, I have the time and resources
to dig through academic papers and books that most people won’t even
hear about. Whee! I found my value-added niche!
- Michael D. Pollock of Solostream complimented me on my writing based
on the Linux Journal article I sent him. “Wow,” he said.
- Mark Chignell (research supervisor) scheduled a meeting with me
tomorrow to see how I’m doing. Felt guilty about not having more
- Took the time to think about where I was going and how I was getting
there. Needed to figure out how to organize my notes. Quadrant II
SO. If I break my big deliverable down into lots and lots and lots of
small deliverables—a mini-paper each week, with plenty of references
and fun stuff—then it’ll be much more fun _and_ much more useful.
I can’t wait to wake up tomorrow and start writing! This Friday:
Blogging as personal knowledge management…
The Google recruitment talk was given by John Abd-El-Malek
(email@example.com, abdelMAHLik). Other engineers were also around for
the question and answer: Amit Agarwal, Tim James, Jon
Szulczewski, Joel Zacaharias. There were two women from HR whose names
I didn’t catch.
Google’s mission statement is to organize the world’s information and
make it universally accessible and useful. The presentation covered
the following points:
- build systems for scalability
– harness the power of data
– innovating new applications
– managing fast-paced growth
– looking ahead to the future
Google faces the following challenges:
- hardware and networking: build a basic computing platform with low cost
– big distributed systems: create reliable systems from many individual machines
– algorithms, data structures: process data efficiently and flexibly
– machine learning, information retrieval: improve quality of search by analyzing lots of data
– user interfaces: design effective ui for search and other products
Large data set, simple structure. Key insight: Google works
with large data sets with simple structure. For example, web page
repositories, query logs, status records from thousands of machines,
source code control and software build records, etc. These aren’t
stored in SQL databases because they’re too large for DBMSes
(terabytes of data!) and they don’t need the full complexity of a
Simple statistical analysis. Often, analyses of data tend to be
simple. General statistical analysis often only requires computing
small number of statistics, then performing more complex operations
using only these statistics. For example, if we’re trying to find the
most popular query, we don’t need to check all the queries.
Data as a sequence of records. For commutative operations,
record order is irrelevant (example: addition). For associative
operations, aggregation order is irrelevant (example: finding the
maximum). This allows you to write parallel programs to take advantage
of Google’s distributed computing power. For example, consider a week
of code submissions. This short program calculates the minute for one
entry and emits an instruction to add one to the record for that
minute. The emit statements are delivered to an aggregator, which then
combines the results into a graph. (As you can see, we do have weekends.)
(Demo followed by a totally awesome video of query traffic represented
as points of light on a map of the Earth.)
The conventional wisdom is that given an order of magnitude increase
in computational power, you can solve previously impractical problems.
Google’s insight: Given an order of magnitude increase in data, you
can solve previously unsolvable problems!
It’s not just about getting a more robust solution. Some methods that
appear to fail with limited data works with much larger data sets.
Consider spelling correction. The old way was to use a
lexicon/dictionary – 100k words. This allows you to suggest correction
words that have a short edit distance from unrecognized words. What’s
the challenge? Proper names, which are rarely in lexicons. Example:
The set of terms on web is much larger than standard lexicons and
changes regularly. People misspell queries, even popular ones such as
“britney spears”. Dictionary-based spelling correction has problems
(Points out funny contrast between britney spears and briney spears (asparagus).)
Solution? Use the web as a contextual lexicon. Find misspellings based
on contextual usage on web. Build a probabilistic model of term
spellings. Context is key.
You can also find interesting patterns in data. For example, here are
the most popular queries from the past few Januarys. (Points out
Superbowl, points out one year when Janet Jackson and “superbowl
halftime” topped the Google queries.)
Example: Google Maps. Revolutionary update because it’s dynamic, clean rendering. Open API for developers.
Making it all work
- Plenty of crazy hacks to make it work across browsers
– Mozilla/Safari/Opera don’t support vector markup. Draw driving directions on server in a PNG image and overlay it
– IE does not support alpha transparency in PNGs. Use a little known ActiveX control that’s enabled by default
– Safari and Opera don’t suppot parsing XML strings, so we wrote an XML parser in
The benefit of DHTML: Simple API
- Putting map on page requires only two lines of
– Initially designed to integrate
– Developers figured this out before we published API
http://www.scipionus.com/katrina.html . Wow. Leaving messages overlaid on a map. Good idea.
Goal: Provide automatic high-uality translations of text between
different languages Enables all text data on the web to be accessible
in any language no matter what the language of original text Approach:
statistical machine translation. Build a statistical model of
translation. Use decision theory to make optimal decisions.
Pre-translated pairs of text to learn parameters of log-linear model.
Throw statistics at the problem!
BLEU% score: how closely machine translation similar to human translation
Outperformed Chinese-English translation and Arabic-English translation. Why Chinese and Arabic? They’re very different from English. If we can do these languages, then it would be easier to do Spanish and French.
BLEU% for Arabic-English translation as amount of data for language
model is increased. weblm: learning model trained on 219B words of web
data! Seems roughly logarithmic.
Google Desktop APIs: Indexer, Query, Sidebar, Event API. More info at
http://desktop.google.com/developerguide.html . (Oooh. Event API. What
is the user doing? They’ve done the grunt-work of hooking into the
different applications! Sweeeeeeet! Awesome! Awesome! They have an
event stream already going!)
Show useful information, not distracting, make efficient use of space.
Write a cool panel, and depending on the number of users: limited
edition Google Desktop t-shirt, adwords, iPod nano, internship!
Some ideas: local traffic, calendar, eBay, iTunes, sports scores, quicklaunch, TV guide, random Google Video, webcam, SMS…
Small teams of 3-5 people, problems that matter, with freedom to
explore their ideas. Access to enormous computational resources. 20%
time to explore your own ideas.
Froogle, orkut, news, desktop: all 20% products.
Not just about search
- hardware, mechanical engineering
– networking, distributed sys, fault tolerange
– compilers, programming language
– data structures, algos
– machine learning, statistics, IR , AI
– user interfaces
– product design
Not just about engineering
- product management
– product marketing
– technical sales
– tech program management
– online sales and operations
Hiring all over the world
- flexible work environment
– fun atmosphere
– free gourmet meals
– on-site massage, doctor, concierge, and dry-cleaning
– and all those “standard” things
(still need an apartment to sleep in, though, though.)
Sampling of Google’s product suite: Google Web Search, Adsense for
Search, Google News, Blogger, Froogle, Gmail, Google Earth, Google
Search Appliance, Google Toolbar…
help users organize information
Google Labs: personalized search, video, suggest, sets
looking ahead: always room for improvement
- better systems: improving scalability and performance, providing new infrastructure to build services on
– better relevance: improving which pages are presented to the user, giving user access to more/new information
– better products/services: new product directions to pursue
- How does Google make money off Orkut? We never worry about profit
for product. We make it first, and then we see if we can make money
– Is there an reality in a Google online office? Can’t comment on any rumors.
– How many people are you looking to hire? No specific number in mind. As many great, talented people are out there.
– Server count? Can’t answer that.
– Majority of Google revenue come from licensing technologies? Revenue statements are largely open now that Google is a public company. Most of it comes from Adsense. Some revenue from Google Earth and Google search appliance.
– Only some publications from Google Labs. Is that something encouraged within Google, or is it just happens? Very fine line betwe… we want competitive advantage also. We have opened up software. Historically we haven’t been a huge research company.
– Where do you stand on privacy? “Don’t be evil.” You need to get special permission to go through query logs, for example.
– What about Linux and Mac versions of things like Google Desktop? We want to focus on what will give us the most impact. Cross-platform thing is 20%-time stuff. Most Googlers use Linux, so it’s frustrating having to borrow someone else’s computer to try things out.
– What about linkspam? 50-100 people working on linkspam. Matt Cutts is one of the Googlers working on this.
– What about corporate structure? I’ve heard Google’s supposed to be very democratic. — Teams themselves figure out what features should be added. We just meet and figure out what to do. Engineers have a lot of power. More motivation to work on things.
– How many engineers do you have? 3000+ engineers.
– Why do you help out Firefox? What do you have planned? Sometimes Google just does things to help make the Web a better place. Part of philosophy of not being evil.
– What about UI design? UI designers really help us a lot. For example, sidebar. UI designers helped us do that.
– Software engineering? We have design documents and we review them. Testing. 20% projects are an exception; rules are looser. For most projects, there are design documents, all the code is reviewed before it’s submitted, unit tests are encouraged…
– What are you looking for? Well-rounded bright individuals. We want to be able to learn something from you. We want to make sure you’re a solid recruit for Google. We want to make sure we keep learning something. Something that wows us. “Wow, this guy is sharp.”
Update: Also blogged by Alvin Chin. Also: http://www.the-gadgetman.com/files/Google%20tech%20talk.mp3
Google is, of course, t3h k3wl. In fact, working at Google is probably
cooler than studying at MIT, in terms of geek status. ;) This
recruitment talk wasn’t about convincing U of T students how cool
Google is. That would’ve been preaching to the choir. Rather, the talk
was about some of the interesting challenges people might get to work
on at Google. This should help students think about their projects and
I was a bit disappointed that there weren’t any female engineers. The
two women there were both from HR. They wore Google shirts with the
second “o” replaced by the sign for woman, and that’s something I want
to think about further. I talked to one of the women after the
presentation. She said that there was supposed to be one, but she got
pulled into a project at the last minute. They do try to pay attention
to these things, though, and occasionally have all-female events.
I confess. I loiter near the front during post-talk mingling not
because I have burning questions to ask, but because I like
eavesdropping on other people’s questions. I learn a lot from other
people’s concerns. For example, like students around the world, U of T
students are worried about their GPA and whether their grades will
affect their admissions. They want to know what companies are looking
for. They want to know about where the company’s going. The usual HR
stuff. I like watching out for the unusual questions, like the way
someone asked “So, important question: vi or emacs?” (Wish I knew who
asked that one!) And the person who asked about Python. Interesting.
Anyway, getting back to Google. Google’s interesting. Here’d be my
strategies for getting in:
- Resume, traditional job application? Right now? No way. I
won’t stand out in the crowd.
- Internship? International student; fat chance.
- Extracurricular projects? Promising. If I want to get into
this stuff, it’s a good time to learn AJAX and figure out how to use
the Google APIs. Google Desktop looks _really_ interesting and it’s
right up my personal info/knowledge management alley, but it’s
Microsoft Windows-based. (That’s another option, though; get
something running on Linux…)
So if I want to boost my chances for next year’s job application
cycle, I should work on a project. Come to think of it, anyone can do
that from anywhere in the world—so don’t lose hope, people back home!
Next question. Do I want to work at Google?
I didn’t need to see this presentation to know that Google is totally
cool. It’s every geek’s dream company. Imagine hanging out with
incredibly brilliant geeks, working on great projects, eating nice
(and free!) food, and enjoying all the computing power you can throw
at a problem.
Does it fit what I want to do?
Well, if I get in, it will certainly push me in terms of technical
skills. I’ll learn a _lot._ But I don’t just want to work on my
technical skills… I don’t think I know enough about Google yet to
like them immensely.
It’s nice that Google matches employee donations, and it’s great that
they’ve got a motto of “Don’t be evil.” I need to learn more about
them and how they might fit into my personal mission statement,
though… I think I need a lot more user contact, a lot more
involvement in people’s lives.
And hah! yes, ego comes into it too. I want people to know me. Not
just the systems I build, but to know _me_, and I want to know them
not just as statistics but as people too. As much as I’m glad that
those Googlers can keep Google running and can develop all sorts of
cool new systems, they’re still anonymous to me and to the millions of
people who use Google without thinking.
There you go. I’ve confessed it. I’m egotistic. I want people to know
me and I want to know them. I want to be within talking distance of
Is that something Google can let me do? I don’t know. We’ll see.
Ack! I can’t believe I feel uncertainty about _the_ geek company of
Does this mean I’m getting less geeky?
The two women from HR wore Google Women’s Tees.
From the website: “We originally designed this shirt for our efforts in recruiting women engineers.”
Seeing the shirt on them made me think about my geekwear, and why I
found the Google Women’s Tee a bit strange.
I like wearing tech shirts. They’re a great way to identify myself to
other people. They makes it easier for geeks to talk to me. They
provide instant conversation starters for people in the know.
I’m still not used to the Venus symbol, though, and that’s probably
because I think of the symbol in different contexts. It feels too
serious for me. I guess I’m also more used to the “girl” aspect of my
identity than I am to the “woman” aspect. That’s why I self-identify
as “geek girl”.
Maybe it’s a socialization thing. I’m more used to subtle gender
signs, like the “geekette” in my signature. I like wearing baby tees
with the same logos as the regular shirts. The logo connects me to
other geeks, but the slightly more flattering cut makes a small
Ah. That’s probably it. I want my geekwear to connect me with other
geeks, which is why I’d go for something generic like “emacs” over
something like “geek. girl. goddess.” I’d wear “emacs girl” if I want
to point out that yes, I can _too_ be a girl _and_ be into Emacs, but
I prefer focusing on what I have in common with other geeks.
This doesn’t mean the T-shirts are bad, though. It just means I’d be
more comfortable in a
plain black Google women’s T-shirt than
in a Google Women’s Tee.
It’s pretty much a moot point, anyway, as they only had white
long-sleeved men’s style shirts earlier, and they ran out before I
could get one. The swag would’ve been nice, but it wasn’t essential. I
learned enough from the conversations and the talk itself to make the
time worthwhile. <laugh> I can understand why they probably
wouldn’t bring women’s tees to a mixed talk. Still, I’m endlessly
appreciative of conferences and tech sessions that actually have baby
tees, like the totally cool open source conference I spoke at in Cebu
and the blogging summit I attended in Manila right before I left. I
left the blogging shirt at home, but I love my open source baby tee to
Ah, the trouble with being a geek girl in a guy’s world… Swag rarely
I hope Google does a better job with your tech talk than
they did at Purdue. A few things rankled me. Like bringing in an equal
number of men and women to the talk, but no computer scientists among
the women, just recruiters. All of the men, by contrast, were computer
You know, he has an interesting point there.
Yes, yes, yet another blog.
http://blogs.imedia.mie.utoronto.ca/sacha/research/ will store my
research notes. Really. Promise. Well, at least my research notes will
stay there for maybe a week…
This replaces the boring one at http://blogs.mie.utoronto.ca .
Wordpress is so much cooler than Roller.
I need a little bit more organization than WordPress can give me, so
I’ll also be organizing
http://blogs.imedia.mie.utoronto.ca/sacha/wiki/ sometime. If I can
figure out how to properly blog on pmwiki, then I’ll switch to that
I met Jessie at the Graduate Students Initiative lunch yesterday.
She’s a first-year grad student taking up a master’s degree in
chemical engineering while her husband takes an MBA. (Wow, that’s
tough!) She moved here around two months ago too, and is getting used
to learning in English. We talked about how difficult it was to start
conversations. I e-mailed her these tips afterwards. =)
- Take advantage of common ground. At a graduate student lunch, you
know that everyone’s a graduate student, so you can ask people the
usual questions: What program are you taking? When did you start? Why
University of Toronto? Do you have any tips for other grad students?
If you’re at the International Student Centre, ask about where people
are from, when they moved here, what they learned while moving… In a
club? Ask about how people got interested in the club and how the
activities have been so far. =)
- Take advantage of the fact that you’re new to Toronto. Ask about
winter. Ask about places to shop or eat cheaply. Ask about things
you’re curious about. Most people love helping other people figure
things out. It’s a great way to get people in a conversation
- Read the newspaper. If you don’t have time, just read the headlines
and the editorials. This’ll give you plenty of stuff to talk about.
- Don’t worry if people don’t seem friendly. Maybe they’re just having
a bad day. When talking to someone, you can figure out if they’re
interested in talking to you or if they just want to be by themself.
If they smile, explain, and ask you questions, then even if you don’t
start off with any common interests, you’re bound to find something
interesting. On the other hand, if they sound distracted or they
answer with very short sentences (“No. Yes. Fine.”), maybe it’s just
not a good time to talk to them. Smile, thank them for their time, and
Jessie and I also talked about the challenges of balancing the demands
of research, studies, teaching, and life. She wanted to do an hour of
exercise a week, but simply couldn’t find the time for it. She felt
overwhelmed with the things she needed to do.
I want to help her figure out how to gain control of her time. =) I
sent her these tips to help her get started.
- Keep track of your time. For one week, write down everything that
you do and how long it takes you to do it. You’ll get an idea of where
you’re spending too much time and what you’re not spending enough time
- Think about your priorities. What do you want to do with your life?
Start from that and plan what you want and need to do this week.
Schedule time in to work on things that are important to you. Then you
can go through each day knowing that you’ve not only worked on the
things that other people need you to do, but also the things that you
want to do.
- Make the most of your time. Is whatever you’re doing something you
really need to do? Can you invest a little time in the beginning to
save more time later on?
I have a spare academic planner that I’m no longer using because I
have my own system for keeping track of my time. I’m thinking of
giving it to her because I’m not using it anyway. =)
I’m also thinking of doing D*I*Y planner templates to help people do
that kind of time analysis…
From Year to Success:
The source of the word “enthusiasm” comes from the Greek word
enthousiasmos, which ultimately comes from the adjective entheos, “having the god within,”
formed from en, “in, within,” and theos, “god.”
I hope to live life not only with excitement, but with enthusiasm and
I’ll keep Google internships in mind, as I really have AJAX and other
fun Web stuff on my to-learn list. I mainly work with slightly-marked
up plain text, though, so my “strong visual design sense”
is… err… somewhat skewed.
I’m particularly interested in taking blogging beyond the browser and
embedding it into people’s everyday applications, because the people
using the personal information manager I maintain tell me they’re
absolutely addicted to that ability. We’re seeing people do really
cool things because they can hyperlink tasks and notes to e-mail
messages, files, web pages, chats, even BiBTeX entries… anything
they felt like writing a plugin for. ‘Course, all of this lives inside
the wonderful little world of Emacs.
I’m curious about what would happen if someone brought this into the
mainstream. If Google Desktop’s done the heavy lifting of getting
metadata from various applications, and if there’s a way to recreate
that state when someone follows a link, then tada! personal knowledge
blogging becomes part of every application Google Desktop knows about,
allowing people to richly annotate the stuff on their hard disk. With
another set of rules for controlling the publishing of data, people
can even share their notes on the Net. Even more fun.
IBM (T.J. Watson center) seems to be doing something similar with
personal chronicling tools for enhancing information archival and collaboration in enterprises. They hooked into Microsoft Windows, too.
- Google Desktop is still a Windows-only thing. I’m on Mac OS 10.3, so
no Spotlight for me! Beagle / Dashboard on Linux looks promising, though,
as I think that also exposes the event stream for GNOME applications and
allows people to write stuff that acts on the content.
- I have no HCI background to speak of yet. But hey, that’s why I’m
taking a master’s! (It’s a wonder I got into U of T at all, but I
guess my research supervisor took a chance on the fact that I enjoy
learning and sharing what I’ve learned)… I like working with
users, and it would be good to learn how to formally analyze a
- I’m one of those weird people! I use Linux. To be more precise: I
use Emacs and Firefox, and whatever runs underneath those two
applications. I can’t stand shell scripting in Windows, though,
(even with Cygwin!) and the Mac feels different enough to be
strange. Maybe if I focus on web stuff… (Yes, we’re back in the
browser. Fun Web 2.0 stuff is happening in the browser, though.)
And to think I asked for a Mac Mini because I wanted to try out crazy
experiments like Quicksilver and Onlife… I’ll need another
computer—Windows, this time—just to cover all the bases!
My dream for computing is universal bookmarking. I want to be able to
bookmark and link to anything on my system. I know it’s a radically
fun concept because it’s what we’re playing with in Emacs, and I can’t
wait to see what’ll happen when bookmarking Just Works across
Google Desktop is in a good position to take advantage of this, if
they do get into it. It would be ubercool to not only be able to
search through various data items, but also to annotate them for easy
retrieval later on. IBM’s also working on interesting personal
chronicling tools at their T.J. Watson lab. Exciting times.
Universal bookmarking is important. Once you’ve got that working, then
universal blogging’s easy to add. _That_ would be ultracool for
personal and enterprise knowledge management.
I have a few months that I can use to plunge into a technology and
beef up my application if I decide to apply for Google. One of the
best ways to convince them I’ve got smarts is to go ahead and do
something cool, like this universal bookmarking thing I keep dreaming
Unfortunately, working with Google Desktop would mean immersing myself
in Microsoft Windows stuff. I can probably ask the department to find
me a PC, and I’ll squeeze it into my cubicle somehow.
I’ve done Microsoft programming before. I was part of a team that
developed a distributed computing platform in college, winning
Microsoft Worldwide .NET Best Academic Solution and USD 100k of MS
hardware and software for the school. Microsoft can sure pick good
hardware. We had boxes and boxes of wireless routers, thanks to that
That was actually kinda fun, particularly the postback stuff that was
Really New back then. It was also fun having to figure out stuff
ourselves whenever we encountered placeholder documentation! (Ah, the
perils of not-quite-polished software…)
So yeah, Microsoft programming isn’t too bad. If my impressions are
right, Google’s done most of the heavy lifting of trying to figure out
how to talk to the applications, anyway. Still, it’s C or C++ and
Microsoft Windows, and I’ve gotten spoiled by Emacs Lisp…
Would doing something like that fit into my plans? Should I spend the
next few months getting really deep into Google Desktop hacking, get
known in the community, and then apply for a summer internship? I
don’t have infinite brainspace; is it worth the cost of not being able
to get as deeply into other things?
What are my other options? I can use the brainspace to get into
Eclipse development in preparation for a possible snippets project
that could get me funding for my master’s. IBM has a lab near here and
the people are quite nice. My research supervisor and a few other
people from IBM have been helping me figure out how my research
interests align with their research and business interests. Working on
Eclipse will get me into another fun, large open source community.
I also use brainspace for writing and Toastmasters. After getting so
much nice feedback from the first article, I want to write another
article for the Linux Journal! And then there’s the speech contest I’m
joining next week…
If I build up my skills so that I can hit the ground running, I’ll
have a stronger case for Google and my small contribution might
reach more users.
If I focus on other stuff, I don’t get the fun in-person
intellectual stimulation of working at Google, but I do get much
better return-on-investment. For example, if I use the time to work
on Planner instead, then I make
maybe 200 people absurdly happy. If I get into Eclipse development,
then I’ll know another open source platform for hacking.
Not being of unlimited brainspace, I have to choose what to learn. I
have to focus. That’s always been my problem: there’s so much I can do
if I put my mind to it, so I need to figure out what fits me best and
what I fit best.
Google’s got a lot of interest going for it, if the room full of
excited computer scientists and engineers at the recruitment talk was
any indication. It’ll have no problems finding great talent.
Open source? There are no slick recruitment brochures or free
T-shirts. Open source isn’t going to get me “ooohs” and “aaaahs” from
the general public, but it’ll throw me into the thick of things. I’m
no open source bigwig, but I have my place within the open source
world, and it’s going to miss me if I throw myself into closed
development. I want to be even more involved with open source in the
I used to dream about working for Google. (Hey, I also used to dream
about working at Microsoft.) Now, I’m not so sure. Now, the call of
open source is too strong. Now, I’d rather eke out a living as a
teacher (or personal coach, or public speaker, or writer, or whatever)
while I hack on open source. I want to give without having to worry
about competitive advantage or NDAs. I want to make a difference in
people’s lives even if I never get paid for it.
Google occasionally helps out open source projects like Mozilla
Firefox. There was that totally cool Google Summer of Code, too. I
need more than 20% time, though. And yeah, well, with Google’s
understandable focus on going after the majority, we non-Windows users
kinda feel like second-class citizens. I thought they’d be more
geek-friendly considering their server work, but the recruitment talk
made me realize that they’re a company like most other companies. I
really wish I could enjoy all that in-person geeking out—I’d learn
_tons_—but I don’t really see how open source fits into what they
_do_, so I don’t know if I’d fit in.
Tim James, Joel Zacaharias: thanks for dropping by my blog and
reassuring readers that yes, international interns are welcome. I’ll
probably apply for an internship next year, just in case the job
interviews convince me that open source really does make sense at
Google. I won’t drop my open source stuff and focus on Windows
development, though. Instead, I’ll get even deeper into open source
development and documentation. If my skills and interests aren’t a
good match for Google when I do apply (Emacs Lisp? Who uses Lisp?! ;)
), then Google can reject me with no hard feelings. =) If Google’s
interests aren’t a good match for me, then I’ll continue playing
around with open source.
Best case? Someone in Google likes the idea of universal bookmarking
and makes it happen. As long as the idea doesn’t get patented and
locked away, I’d be completely thrilled if someone else went and did
it. I make some kind of a living doing either non-computer stuff so
they’re not concerned about open source intellectual property, or I
get paid for working on open source. My dad always told me: “Do what
you love and the money will follow.”
Don Marti was right when he encouraged me to focus on open source
instead of fun but closed stuff (the thing in question was Mac OS X).
I have the power and responsibility to help and influence many users.
I’m here to help people be first-class citizens instead of subjects.
Open source needs me. I need open source.
(To readers who’ve had to put up with _really_ long Google-related
posts these past few days: Sorry about flooding your blog readers. =)
I’ve learned a lot reflecting on this, though, and as always I’d love
to hear your insights.)
Bookmarking web pages is a breeze with tag-based bookmarking services like del.icio.us, which reduced the need for up-front organization and made it much easier to search for relevant bookmarks. New tag-based search engines like Yahoo’s MyWeb 2.0 search not only the tag descriptions but also the bookmarked web pages, allowing people to create targeted search spaces. CiteULike and Connotea automatically extract bibliographic references from websites, making life easier for academic researchers.
What if we took bookmarking beyond the browser? What if you could bookmark any resource on your computer as easily as you bookmark web pages now? What if you could organize those bookmarks into collections?
Some of these things are possible within applications. For example, the Microsoft Entourage personal information manager allows you to link mail, events, tasks, notes, and contacts. In the Emacs text editor, Planner allows you to link to almost anything within the Emacs environment.
What if you could bookmark anything?
Some projects explore cross-application data sharing. For example, Google Desktop for Microsoft Windows exposes an event stream from multiple applications and presents a sidebar of relevant items. GNOME Dashboard provides a similar service for Linux. OnLife for Mac OS X visualizes user activity in Safari, Firefox, iTunes, iChat, TextEdit and Mail. IBM T.J. Watson Labs prototyped personal chronicling tool for Microsoft Windows.
What if bookmarking Just Worked for all applications?
Okay, I’ve officially screwed up in terms of names now… All of my
research work will probably be published as “Sandra Jean Chua”, but
because I use “Sacha Chua” for practically everything else, I confuse
people and search engines.
I should just legally change my name to “Sacha Chua” and be done with
it. How do I go about doing that? I guess I should do that in the
Philippines, because I’ll need to update my passport and everything.
It’s _so_ going to be a hassle at immigration, though.
E-Mail from Michael McGuffin
Whew. Bushed. I’ve taken all my cold-weather clothes out of
vacuum-packed bags and hung them up neatly. I washed all my covers and
clothes. (More than half of my clothes are hand-wash only, but I’ve
figured out a neat trick for doing those quickly.) I’ve even
reorganized my drawers, adding canvas-and-masking-tape separators.
I wonder what the calorie burn rate for laundry is, and whether I can
do it fast enough to make it equivalent to cardio training… ;)
My garlic comes from Manila, Philippines. Couldn’t help but smile a little. =)
(Would you believe the cost of butter here?! Sheesh.)
Folks in the Tokyo Linux Users Group are talking about where to find
English-version O’Reilly books. Seeing familiar names flash
by—Kinokuniya, Yurindo, even Book 1st—I suddenly miss Japan and that
fellowship between strangers browsing through the tiny English section
of bookstores… Now I know that I didn’t just pass through. I wasn’t
just a tourist. Even if it was just for six months, I really did live
Canada still feels a little unreal to me. Sometimes I have a hard time
believing that I’m really halfway around the world. The chain
bookstores are comfortably familiar: books, a cafe, shelves of music
and video. When I step into Chapters, it’s like stepping into
Powerbooks or Fully Booked in Metro Manila—I’m home.
But when I step into one of those little bookstores, then I know I
really am a stranger in a strange land. They have specialized
bookstores here. Science fiction and fantasy. New age and
spiritualism. Used and rare books.
It’s hard to care about megabookstores; they’re the same the world
over. But someday I’ll grow to be as fond of these little bookstores
as I am of the bookstores in Japan, and then I’ll know I’m not just
passing through Canada; I live here, even just for a while.
It took me _two hours_ to finish dinner. Not because I had heaps and
heaps of turkey, but because halfway through what had been a very
quiet dinner, I got into a lively discussion with the person seated
It all started with me mentioning Google Desktop and how much I wanted
to tinker around with stuff like that. Google Desktop sparked Danilo’s
interest, and he asked if I used it. I told him I couldn’t because
it’s Windows-only. We then got into a friendly debate about open
source and piracy. (I think piracy is evil not because it hurts big
companies but because it makes people too lazy to look for good open
source alternatives, which means open source developers have fewer
users and supporters.) Then, as all extended discussions with me tend
to become, I ended up talking about Emacs and
Somewhere along the way, Danilo asked me if I thought Planner could be
good for _everyone._ I told him Planner didn’t have to fit _everyone._
It just had to fit one person at a time. =) Viva open source!
I can’t help it! I get really, really excited about personal
information management, and it _just_ so happened that Danilo and
Carlos were frustrated with the way they’re managing their tasks and
schedules, and I have so much fun finding or tailoring tools to fit
people, and… <blush> … and I talk too much when I’m excited
about something. I was practically bouncing up and down. To think that
I hadn’t even gotten to dessert, so I couldn’t blame it on a sugar
Everyone else finished dinner and left; we were still there chatting
about personal information management. First the other chairs were put
away. Then the residence assistants asked if they could remove the
tablecloth. Then they asked us to put away the table and the chairs
eventually. By the time Blago came in to set the coffee tables for the
next event, I knew it was time to gulp down the rest of my meal. <laugh&ght;
Mike Tsang was just laughing at me throughout the whole thing. He knew
I’d end up talking about Emacs and Planner at some point. <grin>
Danilo plans the way I do at the moment: scheduled tasks. He was
really frustrated by the lack of commercial tools that allow you to
properly schedule tasks onto a calendar. I can’t wait to show him
Planner. I hope it can fit him perfectly. =) I haven’t run into any
other tool that really supports the kind of planning I do, and I’m
still trying to figure out how to support it on paper. But Planner is so cool!
Carlos is a paper person, so maybe the
D*I*Y Planner stuff will be useful for
him. His main problem right now is that his calendar doesn’t give him
enough space to do things, and he’s spread things out over three
different calendars. I wonder what mix of forms would be good for him…
Wheee! Really, we’re onto something _really_ cool here with Planner
and insane personalization… I _really_ _really_ want to get these
ideas out into the rest of the world. Universal hyperlinking. Extreme
customization. Zero-distraction work. And lots and lots and lots of
CHOCO – CHIP OATMEAL COOKIES
- 1 1/4 c. butter, softened
– 3/4 c. brown sugar, firmly packed
– 1/2 c. granulated sugar
– 1 egg
– 1 tsp. vanilla
– 1 1/2 c. all-purpose flour
– 1 tsp. baking soda
– 1 tsp. salt
– 3 c. Quick or Old Fashioned Quaker Oats, uncooked
– 1 (12 oz.) pkg. semi-sweet chocolate pieces
– 3/4 c. nuts, chopped
Heat oven to 375 degrees. Beat butter and sugars until light and fluffy. Beat in egg and vanilla. Gradually add combined flour, baking soda and salt. Mix until thoroughly blended. Stir in oats; chocolate pieces and nuts. Drop by rounded teaspoonfuls onto ungreased cookie sheet. Bake 9 to 11 minutes. Cool 1 minute on cookie sheet. Remove to wire rack.
Not quite Kathy’s recipe, but it’ll do in a pinch.
Worked out quite well. Made two batches.
My mom wanted to know if she needed to make any emergency funding
arrangements for me, so I sent her a 24-page report of all the
financial transactions I recorded since I moved to Canada.
It’s arranged by category and then by month, and it includes each and
every single line item. I might be missing one or two hotdogs here ard
there, but in general, it’s a good picture of how I’ve been spending
Gnucash makes it _fun_ to record my expenses, and creating reports is
a breeze. Totally awesome stuff.
Check out getyourlifeon for fresh grad survival tips. From the website:
We are young. Maybe we’re just out of college, maybe
we’ve been working for a year or two. We’re out there, looking for
cool jobs, great places to go, what to buy, where to meet up, most
importantly, what to do next. We are getting our lives on. And we’re
all in it together.
Awesome guide to surviving your first taste of the Real World. Good
read even if you’ve been in the Real World for a while. Totally cool.
(Link via simplehuman)
Argh. Corpse Bride is a movie worth watching on the big screen, but I
don’t really know anyone I can just drag to the movies with me.
I guess there’s nothing wrong with going to watch it by myself. After
all, I watched March of the Penguins. =)
I _could_ wait a few months and watch it at someplace like Bloor
Cinema for less than half the price of a regular ticket…
… but Dominique’s just watched it. Waah. Envy.
Trust the knowledge management webloggers to come up with an interesting word-based way to measure ‘community’ in blogs. Totally awesome work.
Check out Clair Ching’s insightful guide to what to do in between freelance projects. =)
Broadband Mechanics is hiring. They’re looking for
blogging-related hacking – RSS/syndication, blogging APIs, XML-RPC, REST, and all that sort of stuff.
You can work from anywhere in the world.
These people are cool. I met one of them—Phillip Pearson—at a
programming competition when I was in high school. He has good karma.
Wouldn’t mind working with BBM, but I should concentrate on my thesis
And they support open standards. Yay Broadband Mechanics!
Don Marti, Clair and I have been talking about
horrible advertising antics. Don told us it gets even worse. Check out Press Release: Sexy Viruses Personified, Steal the Show. Sheesh.
I’m starting to think that my class finds me amusing. They laugh
whenever they see me get stressed out.
Today was supposed to be one of my easy days. Prof. Shepard was going
to do a demo, and all he needed was a Net connection. The audiovisual
people sent the confirmation last week. Great. Wonderful.
Except that the room didn’t actually come with a computer and Prof.
Shepard didn’t have a laptop. Ack!
I ran to Rosebrugh Building and borrowed a laptop from the
undergraduate office. I lugged the heavy Dell bag back to Bahen as
quickly as I could, and frantically set it up.
It booted into Windows 98. Had a bad feeling about that… Checked out
the TCP/IP settings and saw far too many entries. Not good. Felt
around the box. No Ethernet port! No Ethernet cable, either. Panic
Would’ve nearly hyperventilated in front of the class, ‘cept had a
hard time breathing because the A/V guy was a heavy smoker. Waaah.
Ran out again, grabbed a patch cable from my lab, and borrowed a
laptop from one of the students sitting near the back. Still didn’t
work! Panic panic panic. Rebooted. Checked ipconfig and realized I
missed a “0” in the IP address.
Fixed the error. Got Google to show up. Whee! Did whirl-around of joy.
Class laughed. Remembered I was in class. Tried to, err, grin in a
dignified manner. Went back to setting everything up.
Student in question was big fan of Mozilla Firefox and had even
bothered fixing Start Menu. Good for him. =) Brought up demo requested
by professor. Was trapped by seating arrangement in front part of
lecture theatre. Could not go back to my seat. Tried to inconspicuously
lean against wall.
Realized red blouse and bright orange skirt not conducive to
inconspicuous hiding. Tried not to fidget as would have been even more
application. Just _knew_ there were going to be cross-platform
problems. Thanked lucky stars knew exact command name to call up
Internet Explorer. Saved the day again.
‘Course, still responsible for things not going as smoothly as
This week is quite a challenge. Two major things on my plate: the
Toastmasters competition tomorrow and the lab report due on Friday.
Another thing to keep in mind is the field trip tomorrow morning. Next
week, a few other big things: CASCON and a lab I need to teach.
Was I wrong to take the Toastmasters competition on? It’s optional,
after all, and I could very well not have volunteered. Still, I think
it’ll be a good experience, and it’s already taught me far more about
public speaking than I expected. So it’s not a terrible idea, just
I’m juggling a bit more than I’m comfortable with, but it should be
doable, and if I _do_ need to hit the panic button, I think I’ll be
able to drop enough from my schedule to do well.
Searching the Net for tips on Toastmasters humorous speech competitions, I ran across
Steve Pavlina‘s blog entry about his division’s humorous speech contest last year.
So if you ever find yourself running up against your limits in some area of your life, see if you can find someone whoÃƒÂ¢Ã‚Â€Ã‚Â™s already pushed past that limitation in their own life.
I’m looking forward to the contest!
From David Tang of Novell:
Extensive usability research, including video trials, is now available
to developers worldwide at betterdesktop.openSUSE.org
Totally awesome! Good karma for Novell. This is Good Stuff!
E-Mail from David Tang
I’ve just realized how amazingly useful a digital voice recorder is in
preparing for a speech. I can record myself, listen for awkward
segments or good phrases, and repeat until I’m satisfied. I’m also
thrilled to find that the scraps-of-paper approach to organizing
speech material works really well for me. =)
My current speech preparation procedure:
- 1. I capture speech ideas in a small notebook. Come to think of it, I
should transfer speech ideas to a dedicated notebook for even more
- 2. I develop speeches by scribbling material onto little scraps of
paper and laying them out on the floor or on a desk. I prefer
working on the floor because there’s more space.
- 3. I record a few runs while reading my notes, revising the material
as I discover what works and what doesn’t.
- 4. I gradually move to recording runs without looking at my notes.
My speech isn’t perfectly polished and I still stumble over a few
words, but I managed to do a lot of work in the last hour and a half.
I get a thrill out of speaking at the edge of my comfort zone. In my
Toastmasters speech about rediscovering theatre, I teetered on the
brink of tears, my voice slightly hoarse with emotion. Even with a few
years of experience in public technical speaking, tension still closes
up my throat and pushes me to speak faster.
I have to stretch my voice and my skills. Just like Kuya Ed had me go
over the rough spots in my vocal range when he was teaching me how to
sing, I have to go over the rough spots in my vocal and emotive range
when I speak. Each challenge stretches me and makes me grow.
The competition is an excellent opportunity for me to learn how to use
humor. Greg’s right. People don’t really listen to speakers in order
to be educated. They want to be entertained. It’s scary as heck, but I
want to learn how to do that. It’s fun. =)
I totally, totally love Bloglines’ keyboard shortcuts. That tiny addition just made web-based RSS reading _so_ much easier for me. Why? Because it makes it so much easier to quickly go through titles and lead paragraphs of all the stories on the blogs I read.
My research supervisor told me that my only mission is to turn in a
good thesis at the end of two years. Okay, and do well in my courses.
That’s all he’s asking for. =)
It helps that I actually enjoy looking for funding and thinking of
useful projects, but if push comes to shove, I should focus on
something I can write and finish than just on something that’s
I’m not even writing a Ph.D. dissertation, just a master’s thesis.
Master’s theses are much shorter than Ph.D. dissertations. I can get
away without inventing a whole new field, for example. =)
Thanks to Luis Fernandes for the tip!
After a _lot_ of comparison shopping (all along Yonge Street, from
Bloor to Queen), I finally settled on two pairs of winter-ready boots.
Nice, sensible black boots lined with something to keep my feet warm.
They’re supposed to be good until -20’C, so I should be all set. I
also picked up a white polyester muffler from Sears because the
texture’s similar to my cashmere one.
That just about completes my winter clothing kit. I could use a few
more hats, I suppose, but it’s all good.
|Projected expenses||CAD 650
|Total spent||CAD 462.76 (and that’s with 4 coats, a number of pairs of gloves, and a couple of unnecessary items…)|
Tips for other international students in Toronto:
- Buy coats at Goodwill, Salvation Army, and other thrift shops for
awesome savings. You might be able to find good styles, and the
quality’s pretty okay. Check out the Goodwill at Gerrard. I found
petite coats there. Also, it’s close to the Salvation Army shop
(Parliament, I think?).
- Buy shoes new. Payless Shoe Source is a good place to get decent
boots. Finding your size and style in liquidation sales or
second-hand shops is too much work. You might also want to buy jeans
new for the same reason.
- Invest in a few quality pieces. My wind-resistant fleece (Mountain
Equipment Co-op) is expensive at CAD 99, but it’s very good at
keeping me warm, it’s easy to layer and it looks pretty decent. I
think it’s a good deal. And it feels good to wear, too. =)
The improv comedy show at Bad Dog Theatre was totally awesome.
I was impressed by the Friday show last week. I was blown away by this one. Actors made up songs in beautifully blended harmony, playing around with lights and sound effects… Wow.
One of the actors reminded me of Jerome Punzalan because he had
similar features and facial expressions. Oh, and a talent for making
up songs. Jerome should check this improv comedy thing out; he’d do
really well in it.
That means I don’t have to wait weeks in order to save a few bucks. I
can just wander over to Chapters, pick up the book right away, _and_
enjoy an additional 10% discount because of iRewards. Chapters also ships out-of-stock books
Besides, I trust Chapters’ return policy. In fact, I’ll be returning a
“Cooking with Common Sense” book that turned out to be a bit too
advanced for me… ;) (Well, if I can do that. It was a sale book. If
I can’t return it, I’m just going to have to learn how to cook…)
Feedburner.com makes it easy to offer e-mail subscriptions to blogs. If you want to get my blog through e-mail, fill out this form:
(This should make my mom very happy. Now all my non-blogging
godparents can just keep track of my blog through e-mail.)
Argh. del.icio.us was slow. Waah.
Must figure out how to get things to be much smoother. It’s _tough_
being the last speaker in a 3-hour stretch. I kept worrying about the
time, and I had much less time than I expected. Also, people were
tired already by the time we got to my part, so I didn’t get to feed
off their energy.
Must learn how to deal with difficult situations like that…
O’Reilly’s looking for someone to write a book on hacking for kids. I’m all for it. I think more kids should learn how to program. It’s tons of fun. =)
Being a Toastmaster has disadvantages
after all. I now really, really hate it when I give a speech that’s
nowhere near good or even satisfactory. Although two people came up to
me afterwards and told me the workshop was great, I sooo want to make it even better!
Today’s speech had none of the ease or energy of my Toastmasters speeches.
And worse: I wasted the time of two people who squeezed a break into their very
busy schedules to be there.
Toastmasters has woken internal monsters. My inner “ah” counter who
would’ve just tsk-tsked at all of the filler words and repeated
phrases I used. My inner speech evaluator would’ve tried to find a
nice, supportive way to tell me to improve my eye contact and speech
organization. My inner audience would quietly pass along scribbled-on
evaluation sheets telling me I lacked my usual energy and enthusiasm,
and that I used too much jargon.
My friends from the Philippines would’ve dragged me off for some hot
chocolate to help me recover.
It was tough. I felt so drained on my way home. Hmm, that could also
have been due to lack of sleep. (Another thing I needed to fix!) I
can’t really blame the audience or on the topic. I just have to become
a better speaker.
And I _really_ wanted to get people hooked on social bookmarking! I
think it’s a mind-blowing thing for discovering, organizing, and
sharing new websites. THIS IS A COOL IDEA! I want to evangelize it!
Siiigh. So I’m still crappy as a technical speaker. The wearable
computing talks I did before were pretty okay—I was happy about
those—but then again, I did _those_ four or five times. This one was
a first run (second, if you count my tagging speech at Toastmasters),
and it was really, really rough.
It was so rough that I briefly considered hiding under a rock and not
speaking tomorrow. But then, how am I going to learn if I don’t get
out there and try it out?
I didn’t know what to do, so I called my mentor, Paul Wilson.
Toastmasters International is really big on mentoring.
Paul was _amazing._ He let me blubber about the speech for a minute or
two, a tangled mess of nerves and stress and self-doubt. He then
gently helped me sort out my main issues. Here’s what was bothering me:
- Low energy. I was a little drained because I slept late and I
got up earlier than I really needed to. I started off with a bit of
energy and passion, but I couldn’t sustain it long enough to warm
the crowd up. I know how to deal with this one: sleep early!
- Low audience attentiveness. Perhaps it was a matter of
drinking water out of a firehose: too many good ideas in too short a
time meant that people were still trying to absorb the idea of blogs
and wikis when I started talking about social computing. Perhaps it
was a matter of low energy. Three hours is a long time to sit still,
even if you’re doing demos…
- Uncertain time. Being the last presenter meant that I had to
make up for any shortfall in the schedule. I dropped a lot from my
presentation, but I still went overtime. I also caught myself
getting slightly agitated while waiting, and then repeating some
points because of stress.
- Long waits for website response. I depended too much on being
able to interact with del.icio.us. (After all, it’s a hands-on
workshop! People are supposed to be able to play with it!) I wasn’t
sure if people really played with it in the end, as they were
probably frustrated by the time it took for del.icio.us to respond.
Paul was totally awesome. He didn’t just pull up a few websites for me
to read. No, he shared stories from his personal experience. He’d been
there. He’d done that. _And_ he showed me how I could do it too. He
pointed out the good stuff in my previous speeches, the strengths I
could tap to address the challenges I face tomorrow. As I listened to
him share tips on how to get over those bumps, I realized that _this_
is what mentoring is.
It’s an awesome experience.
Here’s what I learned from him:
- Variety. If I’m worried about people’s energy level, I can
open with a physical activity. If I think people’s minds are
drifting, I can change gears to help them pay attention. They _want_
to pay attention, so I need to make it easy for them. (He had a
light, endearing opener that I think I’ll steal…)
- Story. Stories are good. Stories are a powerful technique. In
particular, stories might be better suited to my speaking style. I
learned that people like my stories more than straight
information-dense speeches by speech #2. I was worried that people
would expect and need straight technical speeches at CASCON, but
maybe I’ll actually be better off focusing on one clear, simple
message and telling a real story around it.
- Humor. I had a lot of fun with wordplay and surprise during
my speech on procrastination. I learned how to ‘set up and punch’,
as Greg said. If I can find places to use surprise in my speech,
then it’ll be a lot more fun.
See, I _know_ these things on a surface level. I read books and blogs
about public speaking. But hearing them from a mentor who cares about
helping me succeed, who’s heard me speak before, who knows my
strengths and weaknesses and goals…
I’m going to keep learning. I’m going to keep trying. And someday I’m
going to Figure This Thing Out.
We totally dropped this aspect of the talk.
11:40-12:00 Discussion of personal networking tools such as LinkedIn and Friendster, Classmates, etc.
Pity. That’s also fun.
I think I need to stick up for myself and get the other people to follow time.
1:00-1:15 Introduction 1:15-1:40 Very brief history of blogs, how to read blogs and comment on the entries 1:40-2:00 Attendees create their own blog, comment in the course blog, build dialogue 2:00-2:30 Explanation of tagging technology, including del.icio.us and Flickr 2:30-3:00 Establish accounts on del.icio.us and Flickr 3:00-3:15 Discussion of Creative Commons and IP licensing 3:15-3:30 BREAK 3:30-3:45 Demonstration of video blogs, mblogging, etc. 3:45-4:05 Discussion of personal networking tools such as LinkedIn and Friendster, Classmates, etc. 4:05-4:20 Open accounts as appropriate, explore tools. 4:20-4:30 Attendees will install feedreader, configure and apply settings. 4:30-4:45 Discussion of RSS, feedreading and overview of podcasting 4:45 Wrap up
This is the schedule for tomorrow.
I want that 15 minute break!
If you’re interested in business networking, Ryze is worth checking out.
A relative newcomer, it doesn’t have the large networks or polished interface of LinkedIn. What it lacks there, though, it makes up for in terms of local presence. Ryze makes it easy to find and meet up with people in the same city, with RSVP-handling for events.
The basic account’s pretty limited, though. You can’t contact anyone beyond two degrees, which isn’t really that bad because you can (and should!) develop links with people along the way. You can’t create your own network, so no Orkut-like groups here. There seems to be a limit on how many times people can contact you. And just what does it mean to “see who wants to network with you”?
On the plus side, you can customize your profile page to an insane extent. That’s cool. There’s also more of a social aspect to it, with people indicating their interests, haves and wants.
Something to watch because of the meetups, but my primary network’s still going to be
Hmm. Looks like I should always schedule my talks in the afternoon.
Having more energy really makes a difference! =) I had fun talking
about social networking and social bookmarking.
Need to work on being more interactive. Also need to figure out how to
get people to play along with this entire
ask-them-to-stand-up-and-look-around thing. Still, much fun.
Have realized that being young makes it hard to establish rapport with
audience. Contemplating focusing on writing instead until am
sufficiently old enough for people to think it’s not mainly a
19″ flatscreen monitor flanked by two 17″ monitors. Yeah, he’s got a
_sweet_ configuration. (Imagine running Emacs on all of those screens!
Mario, 13373st g33k in Baguio, you’ve come a long way from freaking out about Linux. =) I’m proud of you.
Congratulations to the newly elected board for the Philippine Linux Users Group!
- Clair Ching
– Dean Michael Berris
– Dominique Cimafranca
– Dong Calmada
– Holden Hao
– Ian Sison
– JM Ibanez
– Jerome Gotangco
– Jijo Sevilla
– Marvin Pascual
– Paolo Falcone
Totally, totally awesome people. I’m sure PLUG will do well this year, too. =)
I love how nominations were done through a wiki and elections done
through e-mail. I voted! =D
Looking forward to learning and sharing as much as I can from over
More news at http://linux.org.ph/articles/newboard05
Suddenly blindsided by post-conference blues. The dangerous thing
about finally having time to breathe is that it’s also enough time to
Now I remember.
Left the workshop room to find an empty corridor. Talked a bit with
other people from the lab. It was nowhere near laughter and
conversation over coffee, late-night conference parties, enjoying time
with my closest friends…
That’s it. This is loneliness and homesickness.
Tech conferences were always the best times for me to meet with
friends. They’ve always been reunions for me, from the programming
competitions in high school to the last open-source get-together I
went to right before I left for Canada. We’d chat long into the night
about all the crazy stuff that was going on.
Sometimes conferences were the only times I’d get to see
Dominique. And I miss him. I miss him
terribly. I miss going to conferences with him. He helped me prep,
stopped me from panicking, made it easy for me to talk to other
Conferences are some of my fondest memories. Today’s conference was
nice, but… Cold. Strange. Empty.
I guess it’s like that for everything else. I’m still trying to find
friends, still figuring out how to relate to people.
I miss being totally present, the way you can be only among friends
who know you as more than a collection of interests, who care about
you as _you_, who know the million things you hate about yourself and
love you anyway.
It doesn’t make sense to feel lonely, but I feel it anyway.
Hooray for technology, though. People who say computers are impersonal
have never been on the receiving end of some heavy-duty ASCII
comforting. People who don’t see the point in cellphones have never
instantly touched base with other people without having to worry about
where they were. (What’s up with charging for incoming calls, anyway?
SHEESH.) And oh, I really hope that Skype upgrade gets everything
working again. I hadn’t realized just _how_ much I needed to talk to
(And yes, this is a personal bit of information and most of you are
probably wondering why the heck I’m posting this, but this is what’s
happening in my life and it affects me far more than the other things
Thanks to Clair, Charo, Dominique, Mom, Dad, Diane, Mario, and everyone
else who was there in spirit although perhaps not online.
Taught MIE451 a little bleary-eyed today, but fortunately picked up a
number of useful stories from personal experience. Had fun using Excel
wizardry to analyze the data from our lab in MIE448. I wowed my lab
partner with pivot tables and matrices, coming up with a very nifty
spreadsheet that automatically calculated the information stuff.
Headed off to Bad Dog Theatre to
watch improvised comedy. Great fun. Hung out with people after the
show. Have made one good friend, I think. Bill said he doesn’t mind
just randomly hanging out. =)
Also got called by Dominique and my mom… =) Awwww…
In other news, my breath is starting to mist in the cold, and I’m
packing my light leather coat because it’s not warm enough. The thick
turtleneck sweater that used to keep me warm in Japan let a little
wind through, so I changed into one of the thick coats I picked up at
Goodwill. That kept me pleasantly warm. My lace-up boots are still
Oh dear. To think it’s just October…
“Kill the television” – Kathy Sierra of Creating Passionate Users.
Absolute worst thing to do: leave the TV on as background noise.
Strangely enough, that’s how most people I know use it. Terrible
thing. I think that’s why so many people have a hard time dealing with
silence and relaxing…
Well, duh. You can’t be an expert on something you haven’t _used._ Microsoft can go ahead and feel that way, while open source people work on bridging the digital divide…
I wandered all the way over to 240 King Street E for the
Ryze business networking event. I figured
that it was worth a shot. Besides, Andrew Plumb likes Ryze enough to
pay for it, so it can’t be all that bad.
I ran for cover just as big raindrops started splattering on the
sidewalk. The guy at the door directed me to the party upstairs, where
I found three people sipping drinks at the bar and having a lively
conversation about different cultures—and in particular, the
late-night habits of people in Lisbon. =) I warmed up to them right
away because one of them was talking about his sabbatical—ah, another
person wandering outside the ivory tower! So I ordered a softdrink and
We got around to introductions maybe five minutes into the
conversation. They asked me what I did, and I told them I’m taking
HCI. Some confusion ensued. They asked me what department that’s
under. Even more confusion. Turned out it was a small party for people
from George Brown College. Heh. I couldn’t blame the guy who gave me
directions at the door—I looked like a student!
I eventually found the Ryze get-together. The organizer was already
there. She pointed out a thick roll of green tickets and described the
evening as a business networking event. I nodded—I’d figured out that
much from the website—and then she wrapped up with “…and that’ll be
Now _that_ I didn’t see on the website.
I did some very quick calculations in my head. Even if the thing
included dinner, I didn’t feel that $20 was worth cold-call
conversations in a crowded bar.
I thanked the organizer politely and chit-chatted with the other
early-birds there about social networks. I wanted to get a sense of
people’s energy levels. You know how there are some people who can
make you instantly feel that you know them and they care about you?
Well, I didn’t really get that off the people there. They were more
along the lines of “Hmm, that’s interesting. <change topic>”
It was a toss-up that evening between Ryze and the crochet group at
Graduate House. The crochet group won. (Okay, there was also meeting
up with Calum, but it’s a pity that that invite came a bit late…)
I took one last, quick look at the four people standing around the
tickets, drained my 7-up, and headed back to the dorm.
Transit fare going there: $ 2.50
Transit fare coming back: $ 2.50
Realizing that I’m not into networking for networking’s sake: … =)
Had a video conference with my mom, Dominique, Clair, Marcelle, Peppy,
and Ranulf. Whee! Whee! That was really, really sweet of them…
A book fell off my shelf and knocked off the keycap for 4. It also
dislodged the keycap for T (Y under my Dvorak layout). This is going
to be a pain unless I can find the missing keycap and fix the one
that’s a little bit off…
Said by Benjamin Franklin, quoted by Michael Motta, blogged by Seth Godin:
“He that has once done you a kindness will be more ready to do you
another, than whom you yourself have obliged.”
So get up the courage to ask people for help. It can be very good for you.
It’s so much fun to hang out with other geeks. (Yes, Marcelle, that
includes you. ;) )
Diane Gonzales asks: how do you find and hang out with other geeks?
It can be tough getting started, particularly when you feel everyone
else is geekier than you are. I’ve hung out with people with crazy
geek powers, like reciting more than a hundred digits of pi. (Weirdos!
;) ) I’ve met kernel tweakers and book authors, embedded programmers
and math wizards. Almost all the geeks I know are geekier than I am in
at least one thing. Then again, I totally freak them out with my
devotion to Emacs… <grin>
So, how do you start hanging out with other geeks?
Challenge geeks on their home turfs and you’ll get a lot of
information but very little connection. You can spend hours talking
about Linux or PHP, but that could degenerate into just talking _at_
each other in a one-upmanship contest of geekiness. Discussions of
computer history or programming languages are particularly bad things
to talk about, because it’s so tempting to try and establish a geek
pecking order. (“My other computer was a VAX.”) I get _so_ turned off
by intellectual snobbishness.
You’re better off introducing _non-geek_ interests and activities.
Geeks feel particularly well-understood when you talk to them about
how geekiness leaks over into other aspects of life. What’s the
geekiest thing you’ve ever done? Don’t give stale answers like staying
up until 5 hacking on a project. Everyone’s done that. Talk about
things that aren’t normally geeky. Explain something normal in a geeky
way. For example, just last night a couple of geeks and I were talking
about ballroom dancing, and I compared it to computer science… =)
Geek get-togethers are more enjoyable when you stop thinking you need
to know everything and you start thinking that you’re there to have
Clever wordplay, geeky observations, geeky jokes—that’s how you
loosen geeks up and get them to feel comfortable around you. Then it
becomes much easier to talk about technical stuff. (One of the coolest
things about having a geeky boyfriend is how conversations can go from
sappy to technical so easily—and how technical stuff can sound _sooo_
Diane: You’re also going to have to learn to deal with people who try
to hit on you. Geeks tend to not be very good at dealing with girls.
Once they find out you’re respectably geeky (that is, your eyes don’t
glaze over when they talk about operating systems, and you understand
their need to just hack), many of them will set their sights on you.
They’ll try to impress you with their l33t hacking skillz. They’ll try
to teach you something new or give you too much attention. Gently but
firmly steer the conversation away from their Linux-powered alarm
clock and back to whatever you want to talk about.
On the plus side, your attention can be a powerful thing. Learn how to
listen attentively so that you can make people feel listened to and
appreciated. Smile. Laugh at people’s jokes if they’re a bit funny.
Make eye contact, but don’t stare, and turn every now and then to
include someone else in the conversation. People’s attention will be
drawn to whoever you’re paying attention to, which is also good for
nudging conversations the way you want them. Read books on body
language to learn how to use your face and posture to show interest or
If there are post-event parties, go to them. If you’re new to the
group, you’ll fade out of conversations longer than normal, but you’ll
probably catch enough to make it useful. ‘course, make sure you’re
going to a reasonably secure place. =) I did that when I was in Osaka
for an open source convention. I talked to a few Debian developers
there because I needed to get my key signed. They decided to go for
food and drinks at a nearby bar. I tagged along even though I barely
knew anyone and I was having trouble keeping up with Japanese. I
understood maybe 10% of the conversation (and that 10% was
Emacs-related!), but it was definitely a lot of fun.
Look for people who know a lot of other people. They can introduce you
to other people with compatible interests or personalities. You can
also do a good deed by helping other wallflowers become comfortable.
Find out what they’re interested in and come up with a connection
between that and what you’re interested in.
You might start off with just interacting one-on-one with people, but
it pays to get people to get to know each other. Then you can hang out
with more people at a time, and you get to see how they interact with
each other. Pretty soon, you’ll find yourself with a geeky barkada! =)
(… ack, did I just recommend _small talk_?! Umm. Small talk with a
On a whim, I decided to drop by the tango class at the International
Student Centre. Although I’d never danced the tango before, it was
surprisingly easy to pick up. All I had to do was follow where my feet
felt like going.
It felt so good to dance again.
I like dancing.
I like being able to walk backwards without looking, confident that my
partner won’t let me walk into obstacles. I like finding myself
turning in response to the slightest push. I like listening,
I guess that’s why I enjoy social dance more than any other form of
dance. Social dance is a conversation between two bodies. A good dance
allows me to feel that I’ve truly listened to someone, that someone
knew how to talk to me and I knew how to understand him. How wonderful
it is to be able to completely listen to someone without worrying that
he’ll take it the wrong way!
How much more wonderful would it be if the dance was just the
background for another conversation? I think it would be nice to dance
with someone I know. (And a _particular_ someone I know, at that… ;)
Tango will probably be easier to pick up than swing. Tango’s slower,
and it’s less about memorized steps than it is about flow. Or maybe a
Ah, waltzes. I remember Terry-sama and her husband, silver-haired but
still spry, gliding across the special dancing floor in their
basement. In their carefree dancing, I saw years and years of
listening to each other. Wow.
I want to learn how to dance like that. It isn’t about memorizing
patterns. It isn’t about moving quickly. Heck, it isn’t even about
getting the rhythm. It’s about leading and following, speaking and
listening… I want that. I want to learn how to _dance._
Feel free to Make This Happen, or get in touch with me if you want to
hack on this with a Ruby/Rails newbie. =)
You know how geeks do _really_ crazy things with their favorite
applications? Like the way I practically live in Emacs? And the way
some people practically live in Microsoft Excel? We use applications
for _far_ more than they were originally imagined to do.
So let’s help people think out of the box. Let’s show them what geeks
push their applications to do.
What would be ultracool?
Think of the way 43things lets you say
you’ve either done something or you plan to do something. Add a
software context and support screenshots. For example, you could add
“Do mail” to your list of things, set “Emacs” as your software, and
post a screenshot (optional) of Gnus (or even Rmail). Tick a little
checkbox if you don’t mind if people to ask you for help, and add a
short note about your experience if you want… Oooh, and throw
tagging in there somewhere.
Why is this ubercool?
- You see what other people do with a certain application. (And you
will begin to appreciate the insane flexibility of the Emacs text
- You see how other people do something, and maybe even how popular
- You see what friends and similar people use. =)
I want this. I think it would totally rock. I’m crazier about it than
the Eclipse snippets project my research supervisor wants me to
consider. I think we might get all sorts of useful data about geek
program usage, if we can get people to do this. For example, I’d
_love_ to find out what other crazy geek things people who have
similar usage patterns for Emacs might be doing, or what other
applications they’re crazy about… For example, I’m crazy about
Mozilla Firefox—but I know people out there are doing even cooler
things with it!
Steal this idea. Run with it. Make it happen. If I can use it for free
and I can copy my data easily, I’ll be one of your first users and evangelists! =)
Tracing the thoughtpath for fun: how did I get to thinking about that?
easy to capture and browse?
N degrees of Sacha Chua’s mind. Emacs is my Kevin Bacon. ;)
Apartheid. Making people second-class citizens by law. Terrible
practice. I’m glad that Rosa Parks stood up (or sat down) for herself
when she did, and I join the world in celebrating her life today.
What a fine and wonderful world we live in now, particularly in the
egalitarian wonder of the Internet, where age, race, gender and creed
… and where countless people are also invisible, also unheard.
The digital divide grows ever wider. As companies raise prices, crack
down on copyright violations, and festoon their code with legal
protections, people are left further and further behind.
That’s why I care so much about software freedom.
Most people see two parties involved in software piracy. There’s them,
and there’s the company. The company doesn’t generally lose much from
piracy, and may have even factored that into their marketing strategy.
The people who pirate software focus on what _they_ gain: powerful
software available _now._
But I see a whole web of relationships. I see potential alternatives
languishing because people don’t bother to try out something else. I
see startups and small businesses struggling with high software costs.
I see schools torn between the reluctance to raise tuition and the
need to prepare their students for the real world.
And I see people being locked out of this world. They are second-class
citizens by law and custom. They don’t have dollars for software or
the inclination or ability to modify it.
They do not sit at the back of the bus. They are outside the glass
windows, looking in.
Irine Yu asked me whether I’d follow Steve Pavlina and experiment with polyphasic sleep. I told her I had no plans of doing so because I like having a relatively flexible schedule. Life’s not about having more time. It’s about doing more with that time.
I’m glad Steve clarified that he’s not doing it because he wants to
squeeze extra hours out of each day, but because he wants to see if he
can hack it. It’s a good idea to keep your brain flexible. Step out of
your comfort zone. My fun braintwisting thing was learning Dvorak,
just for kicks. Who cared whether it made me faster or not? I just
wanted to know if I could reprogram my muscular memory. ;) That was
So get out there and stretch your brain!
Check out Read/Write Web’s great post about a grassroots-organized Web 2.0 conference.
Let’s do something like this back home! =)
No, no, this is still safe-for-work material. Presentation Zen has some great insights on
being in the moment.
Great musicians aren’t as concerned about perfectly reproducing notes on a page
as they are about being the music. I need to learn how to write and speak fully in the moment. I guess that’s what people pick up about me—enthusiasm, passion, excitement at being there. I need to develop that and bring it out further.
The blog post ends with a reflection on the public baths of Japan. I miss those, strangely…
Seen on gmane.editors.vim :
Is there a vim script that mimics the emacs planner mode?
There’s a couple of wiki plugins, but nothing like planner.el sadly.
One of the few things that sometimes makes me jealous of emacs users
Shrink-wrapped software makes more financial sense, says Joel Spolsky,
warning of the dangers of consultingware.
No problem with that, but _I_ like tailoring software to an insane
extent, and will happily code a one-off thing that will never be used
again. That’s because it’s usually used again, and it makes people
very happy. Good thing I don’t need to worry about maximizing profit. =)
My midterms were actually pretty fun. I missed a number of
points—made a mistake in one formula, forgot to mention something in
my answer to another question—but I think I did reasonably well.
To celebrate (or to console myself if the midterms had been worse), I
decided to have mushroom soup today.
Mushroom soup is one of my age-old comfort foods. Whenever I was sick,
either Auntie Nica or Yaya tore open a Knorr packet of instant cream
of mushroom soup and prepared a deliciously unhealthy snack. It was
bland enough to soothe an upset stomach and yet tasty enough to cheer
me up, laden with sodium and other savory unsavories. I was five and I
didn’t care about sodium. Even when I was fifteen and making myself
soup, I still didn’t care. After all, mushroom soup was mushroom soup
was mushroom soup. It was yummy.
One packet made five or six servings of mushroom soup, mind you, so
mushroom soup was something I ended up either inflicting on other
people or consuming all by myself. I always made it with less water
than indicated, preferring a thick, creamy soup bordering on salty.
Ah, mushroom soup.
So I decided to give mushroom soup a try. No Knorr packets around, so
I had to figure out how to do it from scratch. I’d seen my sister
prepare real mushroom soup before, but that was a major production—as
my sister’s cooking tends to be. She had bowls, blenders, and more
kinds of mushrooms than I’d even seen. I couldn’t even scrounge up
enough milk or cream to follow the recipes I found on the Net.
I threw my hands up and decided to wing it. Here’s how you can do that
into pot, stir.
See? That’s why cooking is always so exciting. You never know what
you’re going to get. And yes, I _so_ need to learn a lot about
I paired the mushroom soup with another impromptu dish: chicken
nuggets salad. Lettuce, chicken nuggets (from the huge frozen bag I
bought late August; nearly done!), and finely chopped tomatoes,
onions, carrots, and green peppers, dressed with some barbecue sauce.
It turned out pretty well, even considering that this is Day 3 of
having the tomato-onion-carrots-green-pepper thing. I made the mix for
pitas and I’ve been using it all over the place, thrilled that I’ve
finally found a way to sneak veggies into my diet.
I’m getting somewhere. My desperation food used to be scrambled eggs
and rice. I didn’t know how to cook an omelette; it always ended up
getting scrambled. Now I can whip up something that looks reasonably
familiar _and_ makes me happy I didn’t go out to eat… =)
Whee! I _might_ just manage to finish the head of lettuce before it
goes bad. On the other hand, though, I’ve resolved never to buy cheap
bananas again. They ripen very quickly and all at the same time. You
know what I _really_ need? A bunch of bananas whene one banana ripens
per day. I think I’ll stick to mandarins for my fruit choices, or try
out some of the other stuff. What’s good in November?
Ooh. Must figure out what to do with this cute little minipumpkin I
Overloaded with e-mail? Overcome inbox insanity by using Planner to
keep track of what you need to do. If you use Emacs as your mail
client, then Planner’s automatic hyperlinking can help you capture and
organize your tasks.
Create planner tasks whenever e-mail requires you to act. That way,
you don’t have to hunt through your inbox every time you need to
figure out what to work on. If your response to an e-mail will take
less than two minutes and you know you won’t get distracted, go ahead
and act on it immediately; you don’t need to capture it. If you want
to track your action for completeness, create a task for it. Planner
makes it so easy to capture and organize tasks that even two-minute
tasks are still worth recording.
Tasks are automatically linked to the e-mail message being viewed,
making it easy to return to the original message for more details. You
can schedule tasks immediately or leave them on today’s page. If you
want tasks to be undated by default, set planner-expand-name-default
Create planner tasks whenever you need to follow up a task you’ve
delegated to someone else. Assign it to a different plan page. If you
prefer to use a single plan page, make task sorting easier by adding a
keyword to the description (ex: #A _ +waiting for year-end sales
report : E-Mail from Jim). This makes it easy to review all the things
you’re waiting for.
Write clear and concise task descriptions. “Prepare year-end sales
report” is a better task description than “Work on this”. Planner will
automatically add the e-mail author’s name as a hyperlink, like “:
E-Mail from Kathy”.
Using Planner to keep track of your e-mail related tasks also makes it
easier for you to organize and plan your day. E-mail doesn’t let you
specify when you want to work on something, but Planner lets you
schedule your tasks onto specific days. It can also carry over
unfinished tasks, so you know that nothing will slip through the
After you’ve read all your e-mail and responded to everything you
could quickly process, you can choose when to work on other tasks that
take more time. Review your list of e-mail-related tasks and start
You can schedule a task onto a particular day by using
planner-copy-or-move-task (C-c C-c) while point is on the task. You
can specify actual dates (yyyy.mm.dd, mm.dd, or just dd), or you can
use Planner’s relative dates features to schedule things for next
Friday (+fri), two days from now (+2), or even the 3rd Tuesday after
March 1 (+3tue3.1). Use planner-copy-or-move-region to schedule
You can schedule tasks for particular times as well. Simply add time
(ex: @1000-1300) to your task description using
planner-edit-task-description (bind this to a shortcut key if you use
it often). Modules like planner-appt.el can extract the time
information and display your schedule, and you can change your
planner-sort-tasks-key-function to sort tasks by time first and then
And there you have it—an organized way to make sense of your inbox by
making it easy to see just what you need to do.
1. Set up mail for Emacs, if you haven’t done that already. If you’re
2. Bind planner-create-task-from-buffer to a keyboard shortcut you can
use from anywhere. For example, add the following line to your ~/emacs
in order to use C-c t as your create-task shortcut:
(global-set-key "\C-ct" 'planner-create-task-from-buffer)
3. Load the Planner module corresponding to your preferred mail client:
For example, add
to your ~/.emacs
Now you can deal with inbox insanity the Planner way!
Free penguin sewing instructions! Oooh, cuuuuuuuuuuuuuuuuuuute!
If you throw enough pots, you’ll be a master potter.
I got up this morning at 6:30 to write. The idea had been bubbling in
my brain all night and I simply had to sit down and get it out of my
head. If I write enough articles, if I give enough speeches, if I keep
pushing myself to do better, then I’ll be a master—maybe not now, but
I can wait ten years.
Ten years and 10,000 hours of work. That’s all that separates us from
the masters. Chess champions, ballet dancers—it’s all about practice.
Only passion can really push you to go that extra mile.
10,000 hours of work is just three hours a day. I can do three hours a
day. I can spend three hours a day learning how to research, how to
write, how to speak. It’s what I’m supposed to be doing for school,
anyway. I can do more than three hours a day.
People ask me if success is a matter of talent.
Talent isn’t something you’re born with.
It’s something you pay for with practice.
All you can start out with is passion. And when you pursue your passion, you’ll find that the universe matches your effort.
So I’m going to throw a lot of pots. I’m going to write a lot of
articles and give a lot of speeches. I want your feedback,
encouragement, insights and advice. Help me make things happen.
Now that I’ve given myself permission to buy books I like, my bookshelf is slowly but steadily growing. Here’s a great tip
to keep ideas fresh and flowing: spend 45 minutes a day reading a chapter each from five random books.
I should tagcloud my bookshelf on Ning so that you can see what’s on my bookshelf…
I remember why I put off having online blog comments for the longest
time. It’s just a lot of work filtering spam. I’m going to modify
blogKomm this weekend—add a 1 + 1 question or something—but given
that the source code’s in German, I might just end up writing my own
If this works, then I’ve successfully gotten planner-rss to work. Like
before it is an idiosyncratic mess of duct tape and string, but people
who want to steal my config can go ahead and make it better.
Today was an intensive writing day. Four hours on my lab report, one
hour of PHP, and two hours of Emacs Lisp. Yum!
Your vision will become clear
only when you look into your heart.
Who looks outside, dreams.
Who looks inside, awakens.
– Carl Jung
E-Mail from Harvey V. Chua
Pictures at http://sacha.free.net.ph/notebook/wiki/2005.10.30.php . :) It was fun!
So… hmm… I’ll be thirteen hours away from home, right?
“It’s Sunday, October 30th … Do you know what time it is?”
This is just a quick note to remind you that Canada returns to “Standard Time”
on the last Sunday of October each year. So at 2:00am on Sunday, October 30th
(last night), we re-set our clocks back one hour, to 1:00am (effectively losing
one hour of the day). People usually reset their clocks just before going to
bed on Saturday night. So when you wake up on Sunday, you have an extra hour
to sleep in.
Please note though that with this return to “Standard Time” the early evening
hours will now be darker sooner. This is often a dangerous time for
pedestrians, because while your routines have not yet changed, the natural
light has diminished dramatically, making it more difficult for drivers to see
you when crossing streets. So please be extra careful in the evenings. And if
you are driving or riding a bicycle, you will also have to be extra careful on
Monday evening (Hallowe’en night), because there will be many small children
out and they are often not familiar with street traffic dangers. And all of
you cyclists should remember that your bikes require front and rear lights when
riding at night — it’s the law. It is also a very safe and effective way for
you to be seen by oncoming road traffic and pedestrians.
E-Mail from Dermot Brennan
Ateneo de Manila University hosted an ACM ICPC regional competition for the first time. Notable results:
|Hong Kong||1st place, 8 problems.|
|Ateneo Linden BoyZ (Mark Punzalan, Allan Espinosa, Topher Rigor)||3rd place, 7 problems.|
One of the coolest things about Planner is the way you can tweak it to
fit the way you think. Customizing planner-create-task isn’t about
shaving seconds off your task-creation time. It’s about making it
easier to get tasks out of your head and into Planner.
Variables like planner-expand-name-default and planner-use-day-pages
make it easy to change Planner behavior to fit common ways of doing
things. If you want to make greater changes, you can add advice to
functions. See “Advising Functions” in the Elisp info manual for more
information. Function advice is called only after arguments have been
read. If you want to change the way arguments are asked for, define a
new function and make an alias to it, or just redefine the old one.
Do you prefer working with mostly-undated tasks? Defaulting to undated
tasks allow you to postpone thinking about when to do something. It
keeps your day page task lists meaningful and manageable, too. This
also makes Planner a better fit for the Getting Things Done method
(GTD), which encourages a distinction between getting tasks into your
trusted system and deciding when to do them.
Let’s say that you want to create undated tasks while still
using day pages for other parts of Planner. Here’s one way to do that.
(defadvice planner-read-task (around sacha activate) (let ((planner-use-day-pages nil)) ad-do-it))
To disable that piece of advice, use M-x ad-deactivate RET planner-read-task.
What if you want to create dated tasks if
planner-create-task-from-buffer is called with the universal prefix
(C-u)? Disable the previous piece of advice or remove it from your
~/.emacs and use this instead:
(defun planner-read-task () "Return a list of information for a task." (list (read-string "Describe task: ") ;; This part changes (when current-prefix-arg (if (condition-case nil (calendar-cursor-to-date) (error nil)) (planner-date-to-filename (calendar-cursor-to-date)) (let ((planner-expand-name-favor-future-p (or planner-expand-name-favor-future-p planner-task-dates-favor-future-p))) (planner-read-date)))) ;; This part still stays the same (when planner-use-plan-pages (let ((planner-default-page (if (and (planner-derived-mode-p 'planner-mode) (planner-page-name) (not (string-match planner-date-regexp (planner-page-name)))) (planner-page-name) planner-default-page))) (planner-read-non-date-page (planner-file-alist)))) planner-default-task-status))
What if you always want to prompt for the date, but want it to default to undated when you hit RET?
Use the following to your ~/.emacs instead:
(setq planner-expand-name-default nil)
If you’re working with undated tasks, then you probably want to make
sure they’re copied onto a task page somewhere. You can use
planner-multi to automatically do so when you create a task.
(require 'planner-multi) (setq planner-multi-copy-tasks-to-page "TaskPool")
You can specify multiple pages for planner-multi-copy-tasks-to-page. For example:
(setq planner-multi-copy-tasks-to-page "TaskPool [[TaskPoolByProject][p]] [[TaskPoolByContext][c]]")
If you want to be explicitly prompted for pages, but default to
Task Pool if not specified:
(defun planner-read-task () "Return a list of information for a task." (list (read-string "Describe task: ") (when (and planner-use-day-pages current-prefix-arg) (if (condition-case nil (calendar-cursor-to-date) (error nil)) (planner-date-to-filename (calendar-cursor-to-date)) (let ((planner-expand-name-favor-future-p (or planner-expand-name-favor-future-p planner-task-dates-favor-future-p))) (planner-read-date)))) (when planner-use-plan-pages (let ((planner-default-page "TaskPool")) (planner-read-non-date-page (planner-file-alist)))) planner-default-task-status))
Have fun with undated tasks!