Wednesday, August 12, 2009

Markup Languages Family Tree

Monday, June 08, 2009

Building Tracemonkey

I tried to build Tracemonkey today. But the instructions given in John Resig's post about TM didn't work for me.

Instead, after I'd cloned the repository and attempted to build:
hg clone http://hg.mozilla.org/tracemonkey/
cd tracemonkey/js/src
make -f Makefile.ref BUILD_OPT=1
I got some errors, starting with the cryptic:
jsinttypes.h:113:2: error: #error "couldn't find exact-width integer types"
So, I tried the following instead:
autoconf2.13
./configure
make
shell/js
Which gave me a running Tracemonkey shell.

Wednesday, December 03, 2008

The Future of Mobile Social Networking

My position paper, co-authored with Franklin Reynolds is now available on the workshop site. If you're a W3C member, you can take a look...

Tuesday, October 21, 2008

Holding back the waves?

Roy has spoken. Paul, Dave and others have attempted to interpret. Unfortunately, there are many who don't have time to listen, are not interested in listening, or do not possess the necessary understanding.

For those people:
  • REST is not SOAP
  • REST means GET and POST, maybe HEAD, but likely not PUT or DELETE.
  • REST means using URIs to identify some, but not all things
  • RESTful API authentication involves OAuth or something similar - what, after all, is the other "officially" RESTful way of doing API authentication?
  • REST usually means putting "custom HTTP header" information in GET query parameters or the POST body, to avoid defining... custom HTTP headers. Which method is best? The answer varies, depending on your situation.
  • REST means returning a custom XML format, but I might be able to (ab)use Atom, and JSON, because it works well with Javascript.
  • What is HATEOAS again?
  • REST is most usefully practiced on rest-discuss
Roy owned the meaning of REST when he coined the term. But is it not simply holding back the waves of democracy in attempting to wrest the meaning back from all those who now claim to be RESTful?

But maybe the real problem is that no significant application design problem can be solved simply by "using REST". The answer involves actually understanding your design constraints, and meeting real requirements with real solutions.

Sunday, October 19, 2008

Lectio reductio


if (sum( self_interests( I )) > sum( everything_else ) )

if ( yearly_income( family( I )) >= 250000 )

vote( mc_cain ) ;

else

vote( obama ) ;


Would it look better in a functional language?

Wednesday, June 04, 2008

Why there is (or might be) a Web OS

I hate to say that Tim Bray is wrong about the Cloud OS. I agree that, in general, memes with catchy titles are often meaningless when you try to explore the details. That being said, I think there are some reasonable parallels between that operating system concept (as represented by, say, Microsoft Windows, Apple's OS X and various Linux flavours) and some things available today on the Web:

  • There is now an understanding that I can write software applications that will run on someone else's physical machines - whether it's via the Google/OpenSocial or Facebook way of thinking ("gadgets" portable between application "containers") or applications running on top of Web-based APIs to virtual machines like Google AppEngine or Amazon EC2. Isn't that really quite similar to the idea of writing an application to run on Windows, OS X and so on?
  • It is increasingly the case that one can control these applications via relatively standardized interfaces (HTTP/XMPP/XML) Similar to the relatively standardized interfaces for writing applications in a "traditional" OS - kernel device drivers, client APIs for window manager notifications. We seem to be rapidly converging on a single UI manager - the browser.
  • Specific applications may be provided by more than one vendor, and I may use various different vendors' applications integrated via "mashups". I have Google contacts, Yahoo calendar and Twitter for micro-blogging - I can use their APIs to combine their applications into a new application.
But Tim says:
The OS is the software that sits between you and the hardware. In practice, it offers a set of brutally stupid and complex services for managing storage and networking and the lowest level of user interaction. It’s difficult and unpleasant to use.
As defined by Windows et al, that might be true. But isn't it possible to improve on that concept by providing services at a higher level (my location service, my contacts service, my "lifestream" service)? Wouldn't it be nice it we could use those services from more than one vendor? Don't we need a bit more standardization than AtomPub? What if there already were a standard?

Note that I do NOT think that there is a Web OS - I think we should avoid calling "it" that, anyway.

But what if if we could define and make a "Cloud OS" that is related to the traditional kind (roughly as noted above) but demonstrably better than any machine-based one - would the meme be more useful then, Tim?

Labels: , ,

Thursday, May 01, 2008

How to write a virus for the "Web OS"

The BBC has an article today showing how they managed to commit "identity theft" by writing a Facebook application that retrieved personal information from Facebook users. Facebook applications seem a lot like computer viruses anyway. So is this the first (destructive) virus for the Web OS?

Labels: , ,