Creator of JSON
Crock is a product of our public school system. A registered voter, he owns his own car. He has developed office automation systems. He did research in games and music at Atari. He was Director of Technology at Lucasfilm. He was Director of New Media at Paramount. He was the founder and CEO of Electric Communities/Communities.com. He was founder and CTO of State Software, where he discovered JSON. He is now an architect at Yahoo!.Presentations by Douglas Crockford
JSON
JSON is quickly becoming the world's most popular data interchange format. It is simple, textual, and is able to represent the data structures used in modern programming languages.KEYNOTE - The State of Ajax
With Ajax, a name was given to immediately interactive distributed applications, and the focus of innovation has moved from the browser makers to the web developers. We are seeing now an explosion of application patterns and styles.JavaScript: The Good Parts
Hidden deep inside of JavaScript is an elegantly beautiful programming language.Douglas Crockford's The Department of Style
Media, Technology, Creative Discontent, Neandertals, and a Lot More.
Thursday, March 27, 2008
Yesterday, presidential candidate John McCain said "We have incurred a moral responsibility in Iraq. It would be an unconscionable act of betrayal, a stain on our character as a great nation, if we were to walk away from the Iraqi people." We don't want to abandon the Iraqi people to the violence and confusion that we unleashed, but ordering the deaths of more American soldiers in Iraq will not bring about peace. A military solution is not possible. So in desperation, to end the loss of life on all sides, I would offer the following deal.
If the factions will agree to stop killing each other, we will immediately withdraw all troops and deliver former President George Bush and former Vice President Dick Cheney to the Iraqi High Court to stand trial for war crimes.
Tuesday, March 25, 2008
Any HTML tag that accepts a src= or href= attribute should also be allowed to take a hash= attribute. The value of a hash attribute would be the base 32 encoding of the SHA of the object that would be retrieved. This does a couple of useful things.
First, it gives us confidence that the file that we receive is the one that we asked for, that it was not replaced or tampered with in transit.
Second, browsers can cache by hash code. If the cache contains a file that matches the requested hash=, then there is no need to go to the network regardless of the url. This would improve the performance of Ajax libraries because you would only have to download the library once for all of the sites you visit, even if every site links to its own copy.
Monday, March 24, 2008
The HTML environment lacks modularity. It is not possible to run guest code and be confident that it will not attack. Some of the popular attacks are XSS, XSRF, and Phishing. This deficiency is a huge source of insecurity. The <iframe> has been suggested as a sandboxed container, but the <iframe> is subject to two out of three attacks, so it is far from safe.
I have proposed that we replace <iframe> with <module>. The <module> is a vat that prohibits all three attacks (although as long as we have JavaScript and the DOM, it will still be subject to internal XSS attacks). It may be easier to provide an option that lets <iframe> and <frame> and <body> behave like vats.
If we add a vat attribute to an insecure container, then the container is locked down. It is not allowed to access the DOM tree of another container. Other containers are not allowed to access its DOM tree. Navigation (location) of other containers is not allowed. HTTP requests made from a container to sites other than the container's domain do not carry cookies or other ambient authority. A script should be able to easily determine if it is in a vat or not. The vat attribute is included in the http requests for the vat's assets.
The only local way that a vat container can interact with another container is with a communications mechanism such as Cross Document Messaging (XDM). If we had such containment, we could include components from other sites using a notation such as <iframe vat src="pirate.net/theworst.html">. The browser would then be fully minimally adequate for mashups.
It will still be a dangerous environment, and will continue to be dangerous until we replace JavaScript and the DOM. But this small improvement would move us way ahead. The construction of secure mashups will no longer be impossible, just risky.
Friday, March 21, 2008
I think the thing that made the www, despite its inadequacy, was Andreessen's <img> tag. Images gave designers the ability to make a page look like something. It was possible to create the illusion that HTML could do anything, that it was what we needed. It quickly attracted a majority of naive technologists, which attracted the herd.
Thursday, March 20, 2008
Bush used to say about bin Laden that "he can run, but he can't hide." It appears that the opposite is true: his health is poor, so he can't run, but he sure hides well, well enough that Bush can't find him. He is too sick to appear on camera, but he is still issuing videos. His latest threatens revengence against the civilized world for the behavior of Danish cartoonists. He sees the cartoons as part of a Papal crusade, and he warns that there will be terrible consequences.
If you want to see what he's so upset about, do an image search for danish prophet cartoon. My view is that bin Laden is way out of line here. There is another thing that Bush says in private that comes closer to the truth: "Fuck'em if they can't take a joke."