asymptotic tight bound

I like to solve application problems using the Web (statelessness, hypermedia, self-descriptive representations, and uniform interfaces) to produce an asymptotically tight bound solution!

Thursday, August 25, 2011

Managing source code repositories

There are few areas in software engineering that get programmers and managers as actively engaged as the source code management processes. Naturally, it has evolved rapidly over the last decade or so as we went from RCS and Visual Source Safe to Git/Mercurial and SVN.

As these tools have come and gone, so also have good and bad practices. In an effort to keep up with current practices, I came across this article on using Git for source code management.

What I like about this article is its simplicity and the ease with which you can survive a corporate software development environment for product engineering.

Read more ...

Saturday, January 16, 2010

New WD for programmable HTTP caching and processing

The programmable HTTP caching and processing standard that is advancing through W3C, called DataCache, has recently been updated. A new working draft is available. You can read the frequently updated, latest and greatest version or get to a stable WD of DataCache.

This version has several improvements over the previous working draft:
  1. The spec extends the HTML5 ApplicationCache interface and add some behaviors to it related to programmability of caching.
  2. There is no more a secure data cache concept that would be guarded by cookies.
  3. This spec is heavily tied to the HTML5 Application Cache and refers to a lot of terms, algorithms, interfaces, and events defined there. It also modifies the networking model defined there.
  4. The asynchronous interfaces are styled similar to Indexed Database.
  5. I have removed the synchronous interface until we agree on the rest of the spec.
  6. Security considerations are modified.
  7. Mechanisms to inspect the metadata of application caches is provided.
  8. A new mechanism to annotate an application cache with outbox type of metadata is provided so that user agents can provide a control panel to users for acting on outbox when network connectivity is reestablished.
  9. New events on the cache are removed or moved to events on cache transactions.
  10. The File API Blob interface is now used in the spec.
  11. It is more richly hyperlinked and features improved IDL listings.

Read more ...

Tuesday, December 29, 2009

New WD for browser database standard

At the start of a new year, I wish the best to you in 2010.

The browser database standard that is advancing through W3C, called Indexed Database API, has recently been updated. A new working draft will soon be available. You can read the frequently updated, latest and greatest version or get to a stable WD of Indexed Database.

(Please note Indexed Database used to be called WebSimpleDB originally.)

This version has several improvements over the previous working draft:

1. It has a smaller footprint in terms of features.
2. It is more specific in terms of supported data types.
3. It supports two modes of deadlock-free operation.
4. It offers concurrent iteration through multiple cursors for both synchronous and asynchronous clients.
5. It features a consistent API style for asynchronous clients.
6. It contains security considerations
7. It is more richly hyperlinked and features improved IDL listings.

Read more ...

Wednesday, December 23, 2009

This blog is moving to its own domain

After much thought, I decided to finally host this blog at my own domain - Please adjust your subscriptions to the blog's new URL -

Read more ...

Friday, November 06, 2009

Use Cases for DataCache

I discussed a set of use cases not well supported by HTML5 ApplicationCache with the HTML WG during a breakout session at TPAC. These use cases were the basis for AtomDB are being solved by the DataCache API.

Found out that OMA and AT&T had similar ideas too. Also learnt that these techniques could be merged with HTTP caching.

Hixie agreed these use cases covered the ones the GMail team had asked for but he favored waiting until after AppCache had stabilized and browser implemented other HTML5 stuff.

Read more ...

Thursday, November 05, 2009

WebSimpleDB gets thumbs up from major browser vendors

Microsoft and Mozilla declared their intention to advance WebSimpleDB and their preference for it over WebDatabase (which itself is getting renamed to WebSQLDatabase) and WebStorage.

WebDatabase will be frozen in terms of its current API and likely stay at the SQL dialect of SQLite 3. WebSimpleDB has taken on the mandate of the WG to create a small and general set of primitives for building various rich JS libraries. WebSimpleDB is heavily influenced by Oracle's experience with Berkeley DB.

Stay tuned here for more on this topic.

Read more ...

Friday, October 16, 2009

DataCache API now rewritten and ready for FPWD

There was a wave of support for programmable HTTP caching when the first DataCache editor's draft was published. The main issue with the draft was the inability to derive the exact list of additional requirements on browsers compared with HTML5's AppCache. I went ahead and rewrote DataCache to make it easier to spot the differences. Here are the differences:
  1. A data cache does not have fallback or online whitelist namespaces or foreign entries.
  2. A data cache provides a monotonically increasing numeric version identifier.
  3. A data cache may have an authorization cookie.
  4. Every resource managed in a data cache may be configured to process certain (HTTP) protocol methods locally
  5. Zero or more data caches are automatically associated with a cache host at its creation/load time. A secure data cache group is available to a cache host if its authorization cookie will be sent to an origin server for fetching that cache host [RFC2965].
  6. The events checking and noupdate are not used. The events cached and updateready are merged in to a single event ready. Events downloading and progress are renamed as fetching and captured. There is no downloading update status for a data cache group.
  7. No manifest is used. Instead an update transaction encapsulates a set of changes to the cache. An update transaction consists of any number of capture steps or release steps. An application can store a bag of bits independent of a network representation of that resource. This allows storing of off-line resources. The results are not visible until the transaction is committed.
  8. Update transactions can be performed in workers but not in the background independently of applications.
  9. It is possible to have only one online transaction but multiple off-line transactions are allowed.
  10. It is possible to find out the resources added to or removed from cache starting at a certain version.
  11. A data cache offers applications the ability to get the contents corresponding to a URI.
  12. The navigator registers a scriptable HTTP interceptor that can off-line respond to arbitrary HTTP requests based on prior (data cache) configuration of the resources in those requests.
  13. A new header is defined to by-pass data cache in request processing
  14. A slightly different networking model is required to take into account interception.
I have a request to publish this new editor's draft as a FPWD and hopefully that will happen before TPAC with a view to discussing the draft during WebApps WG f2f meeting. Read this in conjunction with WebSimpleDB so you can create off-line Web apps that can serve HTTP resources locally, including even query on the off-line cache.

Read more ...
Creative Commons License
This work is licensed under a Creative Commons Attribution-Share Alike 3.0 United States License. All materials on this blog are either the original work of its owner or used with acknowledgement of the copyright owner. 

About Me

My photo
I have been an avid student of the evolution of the Web and its application to business problems.

Blog Archive

Label Cloud