IE, innerHTML

"The (innerHTML) property is read/write for all objects 
except the following, for which it is read-only:
COL, COLGROUP, FRAMESET, HTML, STYLE, TABLE, TBODY,
TFOOT, THEAD, TITLE, TR."
(source)

excellent ...
(1)
Permalink
Posted in: |

SF embedded videoplayer


www.sf.tv now provides an embedable videoplayer for their video content.

Permalink
Posted in:

Window.Growl Script.aculo.us mod

Intrigued by the way how Growl reports about activities from various sources, we were looking for a similar way to report about response states, actions and general messages from an ajax laden webapp. Daniel Mota nicely implemented Growl's Smoke and Bezel notification types in Javascript with the help of mootols. Since Prototype and Script.aculo.us were already matters of fact and there was no way to accompany the two with mootols, we tryed to imitate Window.Growl with the Effects provided by Script.aculo.us.

Window.Growl Script.aculo.us mod

More details and download on http://blog.var.cc/static/growl/.
Permalink
Posted in:

Learn CSS from the guru

There are new css related courses by monorom starting after autumn/fall holidays. Most noticeable: The `CSS template Werkstatt'-course which aims to examine the design of css driven and standardized templates for content management systems.

Links:
The `CSS template Werkstatt'
Modernes Internetdesign mit CSS

[via: monorom]

Permalink
Posted in:

REST in peace

Within the descriptions of REST as an architectural style, every information or resource is supposed to be identifiable by a resource identifier or URI. Components in a RESTful environment can apply actions on resources according to their representational state. A webbrowser for example issues a request for a particular URI and retrieves the current state of the resource in xhtml. The browser is then capable of rendering the representation into a colorful webpage.

According to a purist view on REST, the distinctiveness of an URI implies its persistence independent of the action applied to it (/fileinfo/delete/myfile.txt and /fileinfo/add/myfile.txt are two different uris for the same resource). Moreover, REST relies on HTTP with its variety of request methods and it is not counted to be RESTful, if all actions have to be performed via GET. Besides the argument of not using HTTP the way it should be, there are also reasons from the view of the implementation that i find more convincing: Parameters are a source for errors, lead to ambigous requests, have to be caught and evaluated etc.

The specifications suggest a mapping of HTTP request methods that refer to particular functions:

Method Operation
GET retrieve retrieves the representaiton of a resource
HEAD retrieves metadata for the
representation and the resource
POST create creates a resource
PUT update updates a resource
DELETE delete deletes a resource

The perfect world is nice. However, in practice one hardly finds anything beyond GET and POST methods in relation to REST apis. GET for read-only requests and POST often combines requests to either create or update a resource. An interesting option would be to include reflection mechanisms into HEAD requests. Especially since REST doesn't has something like the unnecessary complicated WSDL to describe a service. The ways to define REST apis seem to be quite versatile. Yahoo for example defines a single resource for the websearch api. Further adjustements on the result representation are all applicable via parameters.

References / more:

 
(1)
Permalink
Posted in: |

Flash/Javascript integration kit with mtasc

The following corrections were nescessary to get Macromedias flash/javascript integration kit working with mtasc:

 
-------- JavaScriptProxy.as ---------

* Replace:

	public function __resolve(functionName:String):Function
	{		
		var f:Function = function()
		{
			arguments.splice(0,0, functionName);
			var f:Function = call;
			f.apply(this, arguments);		
		};
		
		return f;
	}


* With:

	public function __resolve(functionName:String):Function
	{		
		var f:Function = function()
		{
			arguments.splice(0,0, functionName);
			var f:Function = this.call;   //change!!
			f.apply(this, arguments);		
		};
		
		return f;
	}


-------- JavaScriptSerializer.as ---------


* Replace:

	/* Deserializes a Boolean Value */
	public static function deserializeBoolean(s:String):String
	{
		return Boolean(s);
	} 	


* With:

	/* Deserializes a Boolean Value */
	public static function deserializeBoolean(s:String):Boolean
	{
		return Boolean(s);
	}


//////////////////////////////////////////


//mtasc has a more strict scope rule so

* Replace:

	for(var x:Number = 0; x < len; x++)
	{
		arr.push(parseNode(children[x], o));
	}
	

* With:

	for(var childNo:Number = 0; childNo < len; childNo++)
	{
		arr.push(parseNode(children[childNo], o));
	}

Via: osflash mailinglist

Permalink
Posted in: |

claimed!

list.blogug.ch

Subscribed to the new open Swiss blogs list,  an initiative kicked-off by Chregu, that aims to provide an exhaustive list of swiss blogs that everyone can use.  The idea is to have a central place where swiss blogs are listed to be used by services like aggregators etc.  Blogug is not an aggregator itself, but can provide lists of blogs as a resource for them. With the tagging feature, this becomes even more interesting. More info here.  

(1)
Permalink
Posted in: |

http 1.1 ranges

Support for ranges?

HEAD /test.mp3 HTTP/1.1
Host:blog.var.cc

HTTP/1.1 200 OK
Date: Sun, 18 Dec 2005 21:09:07 GMT
Server: Apache/2.0.54 (Ubuntu) PHP/5.1.1
Last-Modified: Sun, 18 Dec 2005 18:16:00 GMT
ETag: "a706f-bacb1-6d309800"
Accept-Ranges: bytes
Content-Length: 765105
Content-Type: audio/mpeg

Request the first 100 bytes

GET /test.mp3 HTTP/1.1
Host:blog.var.cc
Range: bytes=0-100

HTTP/1.1 206 Partial Content
Date: Sun, 18 Dec 2005 21:14:29 GMT
Server: Apache/2.0.54 (Ubuntu) PHP/5.1.1
Last-Modified: Sun, 18 Dec 2005 18:16:00 GMT
ETag: "a706f-bacb1-6d309800"
Accept-Ranges: bytes
Content-Length: 101
Content-Range: bytes 0-100/765105
Content-Type: audio/mpeg

Requests bytes 0-100 and 200-250. Response body contains range-parts delimited by a boundary.

GET /test.mp3 HTTP/1.1
Host:blog.var.cc
Range: bytes=0-100,200-250

HTTP/1.1 206 Partial Content
Date: Sun, 18 Dec 2005 21:16:15 GMT
Server: Apache/2.0.54 (Ubuntu) PHP/5.1.1
Last-Modified: Sun, 18 Dec 2005 18:16:00 GMT
ETag: "a706f-bacb1-6d309800"
Accept-Ranges: bytes
Content-Length: 351
Content-Type: multipart/byteranges; boundary=40838f1dda9586bd8


--40838f1dda9586bd8
Content-type: audio/mpeg
Content-range: bytes 0-100/765105

// binary data

--40838f1dda9586bd8
Content-type: audio/mpeg
Content-range: bytes 200-250/765105

// binary data

→ ftp://ftp.isi.edu/in-notes/rfc2616.txt

Permalink
Posted in: |

New css templates by Monorom

css intensivstation

Monorom (of www.intensivstation.ch fame) released three new templates.
One of it includes an interesting `hack' using dynamic properties. This is some Microsoft fancy to evaluate javascript code in order to dynamically set the value of certain css properties. A dynamic property can be assigned for instance to fake the min-width/min-height or max-width/max-height behaviour according to the window's scrollWidth/scrollHeight etc.

Monoroms templates are super comfortable to integrate and modify because of their readability and stability. They moreover suit well as skeletons for further elaborations towards individual designs.  
Permalink
Posted in:

BxCMS sprint

This friday, bitflux is organizing a sprint for the Bitflux CMS (BxCMS). Besides a little installation fest and introductions (e.g. how to write a plugin), it's the official release date of BxCMS 1.0RC1.

See http://wiki.bitflux.org/BxCMS_Sprint_20040924 for details. There you can also add your name in case you're interested to attend.
Permalink
Posted in:

Next1-10/18

LiveSearch

Blogroll

Relayed

Archive

Buttons

  • RSS 2.0 Feed
  • Latest comments
  • XHTML 1.0 compliant
  • Powered by Flux CMS
  • Powered by Popoon

Login


BXCMSNG Errors:
Notice[8] Undefined index: 0 in [BX_PROJECT_DIR]/inc/bx/plugins/blog/categories.php at line 59.