4 June 2007 - 0:00Status Update (2007/05/27 – 2007/06/02)

Status Update:

[Code] Got automatic hash checking working in the channel so it gives an error status on Link Fingerprint failure, so loading bad hash pages results in an error page, and some images (gif, bmp) show up as a broken image.. others like jpg progressively load and show whatever they have on failure (i.e., the whole thing).

[RFCs] Looking into other #fragment-id uses (XML XPointers and PDF) and references from Wilde and Baschnagel’s text/plain paper in HT 2005 (Sixteenth ACM Conference on Hypertext and Hypermedia).

Last week (2007/05/27 – 2007/06/02):

– Implement hash comparisons and pass on an error code from OnStopRequest to listeners downstream
– Add a new network error pages for Link Fingerprint failures on page view (need a better string..)
– Discuss implementation details on m.d.t.network clarifying my current implementation just provides a new error code after the transfer finishes
– Attend Google Dev Day (Thursday)
– Invite Erik Wilde to discuss RFC stuff and Link Fingerprint issues
– Begin handling of Link Fingerprint failures in the consumers like download manager (vs webbrowserpersist/exthandler)

This week (2007/06/03 – 2007/06/09):

– Remove/delete failed downloads cleanly from the download manager
– Refactor added code in HttpChannel so adding Link Fingerprints to other channels is clean/simple
– Look into the image library to handle Link Fingerprint transfer failures
– Figure out what interfaces to provide (for extensions) e.g., exist?/get fingerprint from URI, check fingerprint against file/stream
– Note: Next week I’ll be out – attending FCRC 2007 in San Diego 9th to 13th

No Comments | Tags: Mozilla, Summer of Code

1 June 2007 - 0:00Google Developer Day 2007

Today was quite exciting with Google’s event in San Jose. I got to learn about the new Google APIs and developer tools that’ll be pushing forward web applications as well as to meet all sorts of people and see what they’re working on. I attended most of the main sessions except to participate in the Fireside Chat for Google Gears, but the nice thing is that many of the sessions were recorded and are now available on youtube [code.google.com].

Overall, the event was very Google. Colorful decorations with beanbag seats and exercise balls. Free drinks. Free food. Free swag. And plenty of Google products. (Tons of Dev Day photos [picasaweb.google.com].)

Dev Day Shirts

Free Developer Day T-shirts + badge

I found the performance improvements provided by Google Gears especially interesting because one doesn’t have to even be offline to see some benefits (of removing network latency). At the fireside chat, I asked a question about Javascript performance (relating to my research area) because Gears will facilitate building more complex web apps that do a lot more (distributed) processing on the client. The responses were valid in that bottlenecks do come from updating the DOM and disk I/O, but maybe I was just hoping to hear what Google has planned in pushing Javascript from interpreted to JIT and then adaptive optimizations.

And after the conference part ended, there was a big party at the Googleplex with even more free food and beverages. The center of the campus had food stands with hamburgers, corn dogs, shaved ice, cotton candy, churros, nachos, and a bunch more. The dining area of the main cafeteria changed into a party area with a DJ, pool tables, arcade games, and flashing lights with the projector showing photos of Dev Day around the world.

When it started getting dark, they brought out some neat cups to add to the party atmosphere – glowsticks in a cup form. Basically, cups that glow, so you end up drinking glowing green goo in the dark.. kinda. Just make sure when you hit the cup against a hard surface to break the glow capsules, don’t hit so hard that you crack the cup causing the liquids to spill out.

Red Cup

“Cracked” glow-cup (only the middle red one is glowing)
Glow Cups

Flash shows the cups’ true color

No Comments | Tags: Google, Mozilla, Summer of Code

29 May 2007 - 0:00First SoC Payment

Woohoo! $500. Picked it up at local Safeway Customer Service counter without any problems. I filled out a Western Union “receive” form with the various information provided by Google, and the next day I handed it in and showed my driver license, and I got $500 cash back. Hopefully next time they’ll just give me a check instead.

Hrmm.. what to do with this money in the Bay Area? Buy more food for the interns? 😉

No Comments | Tags: Mozilla, Summer of Code

28 May 2007 - 0:00Status Update (2007/05/13 – 2007/05/26)

Status Update:

[Code] Last couple weeks I started playing with Mozilla C XPCOM and did a quick
implementation of Link Fingerprints for the Download Manager, which will help
me implement Link Fingerprints at the network level (i.e., Channels). I’ll
finish up the initial Channel implementation by conditionally deciding to do
Link Fingerprints and compare hashes to conditionally fail the transfer.

[RFCs] Looked into existing RFCs and internet drafts to see possibles scopes
for our RFCs (a general extension to #fragment-ids (e.g., #!type!data) and Link
Fingerprints). URI general syntax says the semantics of #fragment-ids are per
MIME-type (e.g., application/gzip or text/plain (which has an internet draft
requesting new #fragment-id functionality)), so right now, things seem tricky
to request an all-encompassing RFC.

Last 2 weeks (2007/05/13 – 2007/05/26):

– Graduate 5-yr MS/BS in CS from UIUC and fly home to California bay area
– Settle in at Mozilla Mountain View, discuss implementation with Dan Veditz
– Investigate RFCs and discuss on m.d.a.firefox
– Research Mozilla C codebase to learn XPCOM, pointers, interfaces, fun
– Practice what I learned by partially implementing Link Fingerprints in
Download Manager
– Begin implementing Link Fingerprints (as a stream converter) in the network
to handle all requests and not just downloads (currently it prints the md5 hash
of all HTTP requests)

This week (2007/05/27 – 2007/06/02):

– Start (officially) Summer of Code (2005/05/28)
– Communicate with DownThemAll developer (Nils Maier) to see what we can share
– Add checks to nsHttpChannel to only do Link Fingerprint stuff if the URI
contains a Link Fingerprint-like reference and if it’s not a partial Range
– Actually compare hashes and not just print out the computed hash 😉
– Find Erik Wilde (#fragment-id for text/plain author) to ask about RFC stuff

No Comments | Tags: Mozilla, Summer of Code