2008 May 11, 10:03"Orchestre Ossipov Direction Vladimir Ponkine Concert Institut Gnessine Moscou 2006 "
tetris music video youtube classical 2008 May 5, 11:21"The Baudboys are an all-male a cappella group composed entirely of Microsoft employees. Risking the wrath of fellow employees by rehearsing in on-campus conference rooms, The Baudboys sing a variety
of popular and original music."
music baudboys microsoft 2008 Apr 21, 11:53
Information about URI Fragments, the portion of URIs
that follow the '#' at the end and that are used to navigate within a document, is scattered throughout various documents which I usually have to hunt down. Instead I'll link to them all here.
Definitions. Fragments are defined in the URI RFC which states that they're used to identify a secondary resource that is related
to the primary resource identified by the URI as a subset of the primary, a view of the primary, or some other resource described by the primary. The interpretation of a fragment is based on the
mime type of the primary resource. Tim Berners-Lee notes that determining fragment meaning from mime type is a problem because a
single URI may contain a single fragment, however over HTTP a single URI can result in the same logical resource represented in different mime types. So there's one fragment but multiple mime types
and so multiple interpretations of the one fragment. The URI RFC says that if an author has a single resource available in multiple mime types then the author must ensure that the various
representations of a single resource must all resolve fragments to the same logical secondary resource. Depending on which mime types you're dealing with this is either not easy or not possible.
HTTP. In HTTP when URIs are used, the fragment is not included. The General Syntax section of the HTTP standard says it uses
the definitions of 'URI-reference' (which includes the fragment), 'absoluteURI', and 'relativeURI' (which don't include the fragment) from the URI RFC. However, the 'URI-reference' term doesn't
actually appear in the BNF for the protocol. Accordingly the headers like 'Request-URI', 'Content-Location', 'Location', and 'Referer' which include URIs are defined with 'absoluteURI' or 'relativeURI' and don't include the fragment. This is in keeping with the
original fragment definition which says that the fragment is used as a view of the original resource and consequently only needed for resolution on the client. Additionally, the URI RFC explicitly
notes that not including the fragment is a privacy feature such that page authors won't be able to stop clients from viewing whatever
fragments the client chooses. This seems like an odd claim given that if the author wanted to selectively restrict access to portions of documents there are other options for them like breaking out
the parts of a single resource to which the author wishes to restrict access into separate resources.
HTML. In HTML, the HTML mime type RFC defines HTML's fragment use which consists of fragments referring to elements with a
corresponding 'id' attribute or one of a particular set of elements with a corresponding 'name' attribute. The HTML spec discusses fragment use additionally noting that the names and ids must be unique in the document and that
they must consist of only US-ASCII characters. The ID and NAME attributes are further restricted in section 6 to only
consist of alphanumerics, the hyphen, period, colon, and underscore. This is a subset of the characters allowed in the URI fragment so no encoding is discussed since technically its not needed.
However, practically speaking, browsers like FireFox and Internet Explorer allow for names and ids containing characters outside of the defined set including characters that must be percent-encoded
to appear in a URI fragment. The interpretation of percent-encoded characters in fragments for HTML documents is not consistent across browsers (or in some cases within the same browser) especially
for the percent-encoded percent.
Text. Text/plain recently got a fragment definition that allows fragments to refer to particular lines or characters within a text document.
The scheme no longer includes regular expressions, which disappointed me at first, but in retrospect is probably
good idea for increasing the adoption of this fragment scheme and for avoiding the potential for ubiquitous DoS via regex. One of the authors
also notes this on his blog. I look forward to the day when this scheme is widely implemented.
XML. XML has the XPointer framework to define its fragment structure as noted by the XML mime type definition. XPointer consists of a general scheme that contains subschemes that identify a subset of an XML document. Its too bad
such a thing wasn't adopted for URI fragments in general to solve the problem of a single resource with multiple mime type representations. I wrote more about XPointer when I worked on hacking XPointer into
IE.
SVG and MPEG. Through the Media Fragments Working Group I found a couple more fragment scheme definitions. SVG's fragment scheme is defined in the SVG documentation and looks similar to XML's. MPEG has one defined but I could only find it
as an ISO document "Text of ISO/IEC FCD 21000-17 MPEG-12 FID" and not as an RFC which is a little disturbing.
AJAX. AJAX websites have used fragments as an escape hatch for two issues that I've seen. The first is getting a unique URL for versions of a
page that are produced on the client by script. The fragment may be changed by script without forcing the page to reload. This goes outside the rules of the standards by using HTML fragments in
a fashion not called out by the HTML spec. but it does seem to be inline with the spirit of the fragment in that it is a subview of the original resource and interpretted client side. The other
hack-ier use of the fragment in AJAX is for cross domain communication. The basic idea is that different
frames or windows may not communicate in normal fashions if they have different domains but they can view each other's URLs and accordingly can change their own fragments in order to send a message
out to those who know where to look. IMO this is not inline with the spirit of the fragment but is rather a cool hack.
xml text ajax technical url boring uri fragment rfc 2008 Mar 21, 3:48An original style blog that consists of cool links and vidoes and things. Lots of interesting, odd, cool, and funny things here.
blog monthly humor photos videos links 2008 Feb 26, 2:24
At the grocery store the other day Sarah and I attempted to find shallot for a recipe, but I can't
tell the difference between shallot, sweet onions, yellow onions, etc. etc. We found something that we decided was the closest we'd find in the store and I believe we picked correctly because at
checkout the cashier rang it up as shallot.
I think this could be
a practical problem that the 20q Pocket Mind Reader should be able to solve: obtain the name of an unidentified object. When we got home
I decided to test the 20q Pocket Mind Reader on shallot. Unfortunately, it told me I had an onion, but I think if these were designed for identifying unknown objects based solely on information you
can obtain by looking at it, rather than requiring knowledge of seeds, where it grows, etc. it would do better. Or I could just ask someone who works at the grocery store.
onion shallot toy 20q random 2008 Feb 18, 3:05A case study on the origins of a humorous mistranslation. FTA: "The really weird ones are apparently from dictionary look-up errors ... not just taking an unlikely choice from the correct entry, but
actually reading a different (but nearby) entry."
humor language blog article translate mistranslation languagelog 2008 Jan 24, 8:55A software kit for phishers that, unknown to the phisher, messages any stolen info back to the originators of the kit.
fraud article phishing 2008 Jan 14, 4:03FTA: "CinematicTitanic picks up where MST3K left off -- much of the original cast are back, along with some new voices, except this time, it's direct-from-net distribution of DRM-free DVDs and (soon)
DRM-free downloads."
via:boingboing mst3k video product purchase 2007 Nov 12, 4:28Excerpts and brief history of Army Man a zine by one of the original Simpson's writers from before The Simpsons. I like 'An Amusing Anecdote' and the Bride's heckling.
humor culture history simpsons blog article via:boingboing 2007 Jun 25, 3:13I keep seeing 'Ozzie' on emails and such now due mainly to
Ray Ozzie who is now the Chief Software Architect at Microsoft and his brother
Jack Ozzie. Whenever I see his name I think of
Ozzie from Chrono
Trigger. He was one third of a trio of villains, the other two being Flea and Slash. I feel like I should be thinking of the
Ozzy for
which this Ozzie was named but I really don't.
My next thought on Ozzie is
the Scottish guy who went to my high school. He'd shout
'Ozzie! Ozzie! Ozzie!' to which listeners were compelled to respond 'Oi! Oi! Oi!'. The wikipedia article on the chant has some thoughts on the
origins but I suppose at Microsoft it could take on entirely new meaning. I really hope I'm someday in a meeting with Ray or Jack Ozzie and have the opportunity...
ozzy personal ozzie random nontechnical 2007 May 11, 8:55Last time, I had written some resource tools to allow me to view and modify Windows module resources in my ultimate and noble quest to
implement the XML content-type fragment in IE7. Using the resource tools I found that MSXML3.DLL isn't signed and that I can replace the XSLT embedded resource with my own, which is great news and
means I could continue in my endevour. In the following I discuss how I came up with this
replacement for IE7's XML source view.
At first I thought I could just modify the existing XSLT but it turns out that it isn't exactly an
XSLT, rather its an
IE5 XSL. I tried using the
XSL to XSLT converter linked to on MSDN, however the resulting document still
requires manual modification. But I didn't want to muck about in their weird language and I figured I could write my own XSLT faster than I could figure out how theirs worked.
I began work on the new XSLT and found it relatively easy to produce. First I got indenting working with all the XML nodes represented appropriately and different CSS classes attached to them to make
it easy to do syntax highlighting. Next I added in some javascript to allow for closing and opening of elements. At this point my XSLT had the same features as the original XSL.
Next was the XML mimetype fragment which uses
XPointer, a framework around various different schemes for naming parts of an XML document. I focused on the
XPointer scheme which is an extended version of
XPath. So I named my first task as getting XPaths working.
Thankfully javascript running in the HTML document produced by running my XSLT on an XML document has access to the original XML document object via the
document.XMLDocument property. From this this I can execute XPaths, however there's no builtin way to map from the XML nodes selected by
the XPath to the HTML elements that I produced to represent them. So I created a recursive javascript function and XSLT named-template that both produce the same unique strings based on an XML node's
position in the document. For instance 'a3-e2-e' is the name produced for the 3rd attribute of the second element of the root element of the XML document. When producing the HTML for an XML node, I
add an 'id' attribute to the HTML with the unique string of the XML node. Then in javascript when I execute an XPath I can discover the unique string of each node in the selected set and map each of
them to their corresponding positions in the HTML.
With the hard part out of the way I changed the onload to get the fragment of the URI of the current document, interpret it as an XPath and highlight and navigate to the selected nodes. I also added
an interactive floating bar from which you can enter your own XPaths and do the same. On a related note, I found that when accessing XML files via the file URI scheme the fragment is stripped off and
not available to the javascript.
The next steps are of course to actually implement XPointer framework parsing as well as the limited number of schemes that the XPointer framework specifies.
xml xpointer msxml res xpath xslt resource ie7 technical browser ie xsl 2007 May 11, 7:48After
Carissa and Elijah's wedding Sarah and I went to San Francisco. We drove in, well Sarah drove anyway, still in
the PT Cruiser Sunday morning and checked into our hotel,
Hotel Diva. I was originally concerned that I wouldn't fit in as I don't really consider myself a
diva, however the hotel was cool. They have Internet rooms setup in various themes, the front desk is always staffed, our room had a very modern look, and when we entered the flat-screen over the
front desk was playing an episode of Aqua Teen Hunger Force.
We walked around a bit before going to the
SF Museum of Modern Art. There was a Picasso exhibit at the time
which we could see for only $3 more. It felt kind of wrong like my ticket was super-sized. I think the most memorable piece I saw was
three white
panels which consisted of three blank panels. Art. Sure. After that Sarah wanted to see the giant Hello Kitty store she had heard of from her sister. We ended up going to the Westfield Shopping
center which has a disappointingly average sized Hello Kitty store. Apparently the giant one is gone. That night we went to
First Crush for dinner. I had a
flight of wine which consists of three one-third sized glasses of various but complimentary wines. It was a great restaurant in terms of food, drink, atmosphere and service.
The next morning we were even more the tourists when we went down to Fisherman's Wharf and Pier 39. We visited the famous wax museum and purchased multiple
pounds of taffy. On the way back to the Oakland airport we got to experience a little traffic as part of
the
580 freeway had collapsed the morning we arrived and was still under repair on our way out. We survived of course and I think the trip went rather well.
sanfrancisco personal california sfmoma nontechnical 2007 Mar 30, 3:29Apparently there's a dance form named 'spam'. From the link: "The term originated in the underground scene from Ontario, Canada. It was lifted from the video game and technological meanings of spam,
relating the concepts of rapid speed and randomness."
spam dance 2007 Mar 30, 1:27The origins of the UTF-8 Unicode encoding.
history encoding unicode ken-thompson utf8 2004 May 10, 10:37Looking around the Microsoft campus it was easy to tell people who were there for an interview from the programmers who worked there. All of the people who were dressed formally, a suit or tie was an
obvious sign, were there for an interview. I spent my time between interviews talking to other over dressed people between interviews. The usual topics of conversation included name, city of origin,
computer science background, and the crazy problems our interviewers had asked us. Going through these topics with one such person, who incidentally was the only woman I saw interviewing, I asked
what school she was attending. She told me she was just finishing her Masters in Computer Science at
[some college]
and I told her where I was from. She then asked me, "You have your
Doctorate in Computer Science?" "No," I said, "My Bachelors... I'm working on my Bachelors." "Oh," she said, "Well you look very mature." I'm fairly certain that's a first for me -- being told I look
"very mature" that is. Unfortunately, at that point my tram showed up and I had to travel to a different building. Now I'm left wondering what made me look mature. It could have been the gel or the
slacks or the tucked in shirt. The day previous while dressed casually, hanging out with my friend Jeannie, some of her friends thought I was her age, about eight years older. The common element
between my two appearances were my new black dressy-ish shoes. Maybe its just that easy.