Headlines for Saturday:
- More thoughts about Google 11:17
- Bookmarking beyond the browser 11:28
- Hey! I'm in the ACM Digital Library! 11:35
- Who needs a gym when there's laundry to be done? 21:17
|A||X||@1200-1800 Buy winter accessories and groceries|
|A||X||@1830-2030 Do my laundry|
|A||X||@2030-2130 Organize my closet|
|A||X||Write thank-you letter to Andrew Clausen for introducing me to open source (letters)|
1. 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...
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.)
2. Bookmarking beyond the browser
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 <b>anything?</b>
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?
3. Hey! I'm in the ACM Digital Library!
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
4. Who needs a gym when there's laundry to be done?
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... ;)
|% Dinner||Cheese spiral pasta omelette|
The next seven days<planner-tasks-table from="+0" to="+6">
I'd love to hear about any questions, comments, suggestions or links that you might have. Your comments will not be posted on this website immediately, but will be e-mailed to me first. You can use this form to get in touch with me, or e-mail me at email@example.com .