October 8, 2005

Bulk view

Who needs a gym when there’s laundry to be done?

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… ;)

Hey! I’m in the ACM Digital Library!

ACM Digital Library entry for Taming the TODO

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.

Meep.

E-Mail from Michael McGuffin

Bookmarking beyond the browser

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?

More thoughts about Google

My computing dream: universal bookmarking

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

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
about.

Google Desktop = ack, Windows programming

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
contest.

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…

Limited brainspace

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.

Do they need me?

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
future.

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 and open source

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