document page 4 - Dave's Blog

Search
My timeline on Mastodon

Download A Piece of Internet History | The Changelog

2010 Apr 29, 11:53"I wrote Gopherbot, a spidering archiver for Gopherspace. I ran it in June 2007, and saved off all the documents and sites it could find. That saved 40GB of data, or about 780,000 documents." Now available as a compressed 15GB torrent.PermalinkCommentstorrent gopher internet web technical history archive

The State of Web Development 2010 – Web Directions

2010 Apr 29, 11:51Stats from the State of Web Development 2010 web survey including: "Few respondents use any form of Internet Explorer for their day to day web use, but IE8 is the number one browser developers test their sites in. Google Chrome has jumped dramatically as the browser of choice for developers, to rank 3rd, at 17% just behind Safari at 20%."PermalinkCommentsie web browser chrome statistics development html technical system:filetype:pdf system:media:document

RFC 5843 - Additional Hash Algorithms for HTTP Instance Digests

2010 Apr 21, 6:51Adds SHA 256 & 512 to HTTP instance digest: 'The IANA registry named "Hypertext Transfer Protocol (HTTP) Digest Algorithm Values" defines values for digest algorithms used by Instance Digests in HTTP. Instance Digests in HTTP provide a digest, also known as a checksum or hash, of an entire representation of the current state of a resource. This document adds new values to the registry and updates previous values.'PermalinkCommentshash cryptography http instance-digest sha security technical ietf rfc standard

The Essential Message: Claude Shannon and the Making of Information Theory

2010 Apr 20, 9:34PermalinkCommentstechnical pdf information-theory cryptography history system:filetype:pdf system:media:document

Widget Packaging and Configuration

2010 Mar 26, 2:28"Widgets are client-side applications that are authored using Web standards, but whose content can also be embedded into Web documents."PermalinkCommentsw3c spec widget web application technical

Easy: Connect your RSS or Atom feed to Google Buzz

2010 Mar 12, 1:28

It was relatively easy, although still more difficult than I would have guessed, to hook my bespoke website's Atom feed up to Google Buzz. I already have a Google email account and associated profile so Buzz just showed up in my Gmail interface. Setting it up it offered to connect to my YouTube account or my Google Chat account but I didn't see an option to connect to an arbitrary RSS or Atom feed like I expected.

But of course hooking up an arbitrary Atom or RSS feed is documented. You hook it up in the same manner you claim a website as your own via the Google Profile (for some reason they want to ensure you own the feed connected to your Buzz account). You do this via Google's social graph API which uses XFN or FOAF. I used XFN by simply adding a link to my feed to my Google profile (And be sure to check the 'This is a profile page about me' which ensures that a rel="me" tag is added to the HTML on your profile. This is how XFN works.) And by adding a corresponding link in my feed back to my Google profile page with the following:

atom:link rel="me" href="http://www.google.com/profiles/david.risney"
I used this Google tool to check my XFN connections and when I checked back the next day my feed showed up in Google Buzz's configuration dialog.

So more difficult than I would have expected (more difficult than just an 'Add your feed' button and textbox) but not super difficult. And yet after reading this Buzz from DeWitt Clinton I feel better about opting-in to Google's Social API.

PermalinkCommentstechnical atom google buzz rss social

'The Achievers: The Story of the Lebowski Fans' explores The Dude phenomenon - latimes.com

2010 Mar 9, 10:43Documentary 'The Achievers' follows Lebowski Fest is going in my Netflix queue...PermalinkCommentsthe-big-lebowski movie review documentary the-achievers

A Practical Attack to De-Anonymize Social Network Users

2010 Mar 8, 1:50Paper suggests history stealing to find what popular social networking site groups a visitor to your web site belongs to and stats on how easy it is to then uniquely identify the visitor on the popular social networking site.PermalinkCommentssecurity privacy social social-network paper research web browser css technical system:filetype:pdf system:media:document

Database - WEBAPPS

2010 Mar 5, 10:21Document explaining the relationship between the various web storage APIs coming out of HTML 5. To summarize:
Web Storage (aka DOM Storage) - simple key/value pairs API.
WebSimple DB API - now called Indexed Database API.
Indexed Database API and Web SQL Database - competing database APIs.
Application Cache - Storage of HTTP resources for offline apps.
DataCache API - A programmatically modifiable Application Cache.PermalinkCommentshtml html5 standard programming technical wiki w3c database storage web

Brawl in the Family » Archive » 221 – Dr. Wily’s Blueprints

2010 Mar 3, 2:55Dr. Wily's thinking behind one of his Mega Man levels documented here...PermalinkCommentshumor comic game videogame mega-man dr-wily

Protecting Browsers from Extension Vulnerabilities

2010 Feb 27, 10:06A web browser add-on security research paper that describes the Google Chrome security model. "We propose a new browser extension system that improves security by using least privilege, privilege separation,
and strong isolation. Our system limits the misdeeds an attacker can perform through an extension vulnerability.
Our design has been adopted as the Google Chrome extension system."PermalinkCommentssecurity design google chrome firefox addon plugin web browser technical research adam-barth system:filetype:pdf system:media:document

Annotated x64 Disassembly

2010 Feb 19, 2:26A short tutorial on debugging amd64 assemblyPermalinkCommentsmicrosoft tutorial msdn debug debugging technical assembly x64 amd64 windows documentation

Annotated x86 Disassembly

2010 Feb 19, 2:25A short tutorial on debugging x86 assembly code.PermalinkCommentsmicrosoft tutorial msdn debug debugging technical assembly x86 windows documentation

Official Google Blog: Unicode nearing 50% of the web

2010 Jan 28, 4:20Graph of encodings used by documents on the web. Unicode based encodings are thankfully on the rise.PermalinkCommentsunicode encoding web internationalization localization utf8 text html technical

View PDFs on Android

2010 Jan 10, 4:07

Irritatingly, my G1 won't show me PDFs so I've made the Google Docs PDF viewer which will load PDFs on the web up in Google Docs. Google Docs has the useful ability to display PDFs in web browsers without any Adobe software and works (mostly) on Android.

This was very easy to put together as an Android activity. First its necessary to register the application as handling PDFs from the web. This is done via the intent-filter declaration in the manifest:

   intent-filter
      action android:name="android.intent.action.VIEW"/
      data android:scheme="http" android:mimeType="application/pdf"/
      category android:name="android.intent.category.DEFAULT"/
      category android:name="android.intent.category.BROWSABLE"/
   /intent-filter
The action part says my activity will view PDFs, the data part says it accepts data with the PDF mime-type and with a URL that has an HTTP scheme. The browsable category is necessary to allow links from a browser to open this activity.

Second, the activity opens up the browser to Google Docs pointing to the PDF.

   Intent intent = new Intent();
   intent.setAction(getIntent().getAction());
   intent.setData(Uri.parse(
    "http://docs.google.com/gview?embedded=true&url=" + 
    percentEncodeForQuery(getIntent().getData().toString())));

   startActivity(intent);
This is very simple code to invoke a new intent browsing to a newly constructed URL for the PDF in Google Docs. That was easy.PermalinkCommentsgoogle docs technical g1 code activity programming android google pdf

BLDGBLOG: Remnants of the Biosphere

2010 Jan 8, 2:05"Photographer Noah Sheldon got in touch the other week with a beautiful series of photos documenting the decrepit state of Biosphere 2, a semi-derelict bio-architectural experiment in the Arizona desert."
PermalinkCommentsphoto science images ecology biology arizona environment

Kempa.com » Absolutely surreal excerpt from a New Yorker profile of Vampire Weekend

2010 Jan 6, 1:58Tom DeLonge tries to sell Vampire Weekend a website. "...this whole thing reads like a scene from a modern-day Spinal Tap. Weird music industry insanity crossed with internet startup hucksterism with a dash of awkward standoffishness. I love it. All of this is heightened by the fact that BOTH parties are being followed by separate documentary film crews, who are filming the insanity. How weird is that?"PermalinkCommentsinternet music vampire-weekend band documentary via:waxy

WPAD Server Fiddler Extension

2010 Jan 5, 7:42

I've made a WPAD server Fiddler extension and in a fit of creativity I've named it: WPAD Server Fiddler Extension.

Of course you know about Fiddler, Eric's awesome HTTP debugger tool, the HTTP proxy that lets you inspect, visualize and modify the HTTP traffic that flows through it. And on the subject you've probably definitely heard of WPAD, the Web Proxy Auto Discovery protocol that allows web browsers like IE to use DHCP or DNS to automatically discover HTTP proxies on their network. While working on a particularly nasty WPAD bug towards the end of IE8 I really wished I had a way to see the WPAD requests and responses and modify PAC responses in Fiddler. Well the wishes of me of the past are now fulfilled by present day me as this Fiddler extension will respond to WPAD DHCP requests telling those clients (by default) that Fiddler is their proxy.

When I started working on this project I didn't really understand how DHCP worked especially with respect to WPAD. I won't bore you with my misconceptions: it works by having your one DHCP server on your network respond to regular DHCP requests as well as WPAD DHCP requests. And Windows I've found runs a DHCP client service (you can start/stop it via Start|Run|'services.msc', scroll to DHCP Client or via the command line with "net start/stop 'DHCP Client'") that caches DHCP server responses making it just slightly more difficult to test and debug my extension. If a Windows app uses the DHCP client APIs to ask for the WPAD option, this service will send out a DHCP request and take the first DHCP server response it gets. That means that if you're on a network with a DHCP server, my extension will be racing to respond to the client. If the DHCP server wins then the client ignores the WPAD response from my extension.

Various documents and tools I found useful while working on this:

PermalinkCommentsproxy fiddler http technical debug wpad pac tool dhcp

The Metalink Download Description Format

2009 Dec 28, 2:19"This document specifies Metalink, an XML-based download description format. Metalink describes download locations (mirrors), checksums, and other information. Clients can transparently use this information to reliably transfer files."PermalinkCommentsxml download browser web url todo

Developing on a Device | Android Developers

2009 Dec 26, 7:11Wow, that was easy to setup. After installing the driver Eclipse just asks me if I want to debug on my phone or my virtual device.PermalinkCommentstechnical reference android programming development cellphone g1 documentation google
Older EntriesNewer Entries Creative Commons License Some rights reserved.