presentation page 2 - Dave's Blog

Search
My timeline on Mastodon

Hijacking the Outdoor Digital Billboard Network, DefCon (Tottenkoph, Rev and Philosopher)

2008 Sep 22, 1:47Tottenkoph, Rev and Philosopher, "Hijacking the Outdoor Digital Billboard Network". DefCon talk presentation notes on hacking digital billboards.PermalinkCommentshack defcon security billboard

War Ballooning-Kismet Wireless "Eye in the Sky" (Rick Hill)

2008 Sep 22, 1:21Rick Hill, War Ballooning-Kismet Wireless "Eye in the Sky". Presentation notes from Rick Hill's DefCon talk on WarBallooning.PermalinkCommentshack balloon wireless warballoon defcon security

de-Tor-iorate Anonymity, DefCon, (Nathan Evans and Christian Grothoff)

2008 Sep 22, 1:21Nathan Evans and Christian Grothoff, de-Tor-iorate Anonymity. The presentation notes for a DefCon talk about an attack on Tor in which the attacker may discover Tor nodes used in a session.PermalinkCommentstor anonymity privacy security network defcon

Deriving a Non-Recursive Fibonacci Function Using Linear Algebra

2008 Aug 20, 10:51

In my Intro to Algorithms course in college the Fibonacci sequence was used as the example algorithm to which various types of algorithm creation methods were applied. As the course went on we made better and better performing algorithms to find the nth Fibonacci number. In another course we were told about a matrix that when multiplied successively produced Fibonacci numbers. In my linear algebra courses I realized I could diagonalize the matrix to find a non-recursive Fibonacci function. To my surprise this worked and I found a function.
The Nth Fibonacci value is (1 + sqrt(5))^N - (1 - sqrt(5))^N all over sqrt(5) * 2^N
Looking online I found that of course this same function was already well known. Mostly I was irritated that after all the algorithms we created for faster and faster Fibonacci functions we were never told about a constant time function like this.

I recently found my paper depicting this and thought it would be a good thing to use to try out MathML, a markup language for displaying math. I went to the MathML implementations page and installed a plugin for IE to display MathML and then began writing up my paper in MathML. I wrote the MathML by hand and must say that's not how its intended to be created. The language is very verbose and it took me a long time to get the page of equations transcribed.

MathML has presentation elements and content elements that can be used separately or together. I stuck to content elements and while it looked great in IE with my extension when I tried it in FireFox which has builtin MathML support it didn't render. As it turns out FireFox doesn't support MathML content elements. I had already finished creating this page by hand and wasn't about to switch to content elements. Also, in order to get IE to render a MathML document, the document needs directives at the top for specific IE extensions which is a pain. Thankfully, the W3C has a MathML cross platform stylesheet. You just include this XSL at the top of your XHTML page and it turns content elements into appropriate presentation elements, and inserts all the known IE extension goo required for you. So now my page can look lovely and all the ickiness to get it to render is contained in the W3C's XSL.

PermalinkCommentstechnical mathml fibonacci math

[whatwg] Web Applications 1.0 Draft

2008 Aug 20, 9:48Apple will or will not license the canvas tag? 'Apple Computer, Inc. ("Apple") believes it has intellectual property rights ("IP Rights") relative to WHATWG's Web Applications 1.0 Working Draft, dated March 24, 2005, Section 10.1, entitled "Graphics: The bitmap canvas". At this time, Apple reserves all rights in its IP Rights and makes no representations as to Apple's willingness or unwillingness to license these IP Rights. However, in the event that the Web Applications 1.0 Working Draft, dated March 24, 2005, becomes part of a formalized draft standard at W3C or IETF, for example, Apple is prepared to address the disclosure/licensing rules of such organizations.'PermalinkCommentsapple patent html ip html5 canvas whatwg browser browser-war

Early Creative Commons history, my version (Lessig Blog)

2008 Aug 14, 2:23Lawrence Lessig's video presentation on history of Creative Commons.PermalinkCommentslawrence-lessig lessig video legal law cc history copyright

TED Spehere

2008 Jun 11, 12:18The TED sphere has all the TED videos on the surphace of a sphere ordered by their relationships to one another.PermalinkComments3d video animation flash visualization ted conference interactive map network presentation via:ethan_t_hein

TED talk: Joshua Klein's vending machine for crows - Boing Boing

2008 May 16, 2:12Joshua trains crows to give him coins. "Joshua Klein's TED presentation about how he taught crows to drop coins into a peanut vending machine of his own design..."PermalinkCommentshack crow ted video presentation joshua-klien

Welcome to DEF CON, the Largest Underground Hacking Convention in the World

2008 May 4, 10:35Video archives of DEFCON presentations.PermalinkCommentsvia:swannman security video feed defcon conference hack monthly

URI Fragment Info Roundup

2008 Apr 21, 11:53

['Neverending story' by Alexandre Duret-Lutz. A framed photo of books with the droste effect applied. Licensed under creative commons.]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.

PermalinkCommentsxml text ajax technical url boring uri fragment rfc

Canonical Node Representation - Social Graph API - Google Code

2008 Feb 8, 3:26Google's Social Graph API's normalization method. This is no way to treat a URI...PermalinkCommentsuri google api normalize social social-graph graph reference

Cory Doctorow on LIFT Videos || The presentations of the LIFT conference delivered to your desktop.

2008 Jan 2, 4:41Cory Doctorow the always entertaining and informative speaker talks on new business models, DRM, etc. FTA: "Cory Doctorow is an activist, a writer, a blogger, a public speaker, and a technology person. He speaks about "Digital Rights Management" at LIFT0PermalinkCommentsvideo cory-doctorow drm music piracy

Chicken Roundup

2007 Jul 11, 3:52PermalinkCommentsroundup video personal chicken humor nontechnical

Home : Nature Precedings

2007 Jun 18, 10:49"Nature Precedings is trying to overcome those limitations by giving researchers a place to post documents such as preprints and presentations in a way that makes them globally visible and citable."PermalinkCommentsscience research journal nature database collaboration archive community

Human Computation - Google Video

2007 Jun 4, 2:44Presentation on incorporating humans into solving problems computers aren't good at.PermalinkCommentsai captcha google video spam human human-computation robot

Language Log: Chicken: the PowerPoint Presentation

2007 May 18, 2:06The previously mentioned chicken research paper is presented. Funny video.PermalinkCommentschicken paper research video powerpoint humor language

IngentaConnect Chicken Chicken Chicken: Chicken Chicken

2007 May 18, 2:05This is a paper written in chicken. The associated presentation is funnier... I'll link that next.PermalinkCommentschicken paper language humor

15 Views of a Node Link Graph: An Information Visualization Portfolio - Google Video

2007 May 13, 6:59Presentation on graph visualization.PermalinkCommentsdata information design google video visualization graph

The Internet of Things: What is a Spime and why is it useful? - Google Video

2007 May 13, 5:11An presentation on 'spimes' objects that are Internet addressable and produce information about themselves and their surroundingsPermalinkCommentsspime google video presentation cyberpunk uri information web technology future

Vizicious Update

2007 Mar 14, 12:44I've been working on a personal project Vizicious. Vizicious displays a graph of your delicious links or (this is the new part) your flickr photos.

I had this previously on my old website but I've rewritten it and separated out the presentation portion from the part that does all the real work. This means its alot easier for me to incorporate new kinds of input (like flickr feeds).

Anyway, if you're not interested in the details just click here to see my photos tagged 'france' run through Vizicious.PermalinkCommentsvizicious technical homepage
Older EntriesNewer Entries Creative Commons License Some rights reserved.