Tuesday, June 24, 2008
Firefox extension security
Thursday, June 19, 2008
Rhinos and Tigers
- Low Level Virtual Machine (LLVM)
Wednesday, June 18, 2008
Firefox extension development
- Extension Developer Center
- Mozilla Development Center reference for Java in Firefox Extensions.
- Javascript 1.5 LiveConnect overview.
- Setting up and extension development environment.
- MozillaZine Extension Development Forum.
InternalError: Unable to convert JavaScript value [...blah blah...] to Java value of type java.net.URL[]
// from http://simile.mit.edu/repository/java-firefox-extension/firefox/chrome/content/scripts/browser-overlay.js _toJavaUrlArray: function(a) { var urlArray = java.lang.reflect.Array.newInstance(java.net.URL, a.length); for (var i = 0; i < a.length; i++) { var url = a[i]; java.lang.reflect.Array.set( urlArray, i, (typeof url == "string") ? new java.net.URL(url) : url ); } return urlArray; }
Thursday, June 05, 2008
Virtual Private Hosting vs Self-hosting
Sunday, June 01, 2008
On the Criteria to Be Used in Decomposing Systems into Modules
David L. Parnas's infuential 1972 paper On the Criteria to Be Used in Decomposing Systems into Modules (sited in Paul Shannon's Gaggle paper) described modularization by information-hiding, later developed into high cohesion and low coupling.
The paper points out that it takes deliberate attention to get good software structure and that limiting information is the key to good design. Where there are many modules, more structure is needed. It's useful to create a hierarchical modular structure using "part of" and arrange programs in a hierarchical structure based on "uses". (By programs, he seems to mean parts of a module?) He criticizes the idea of "layers of abstraction" as too vague in absence of any measure of what's more abstract than what.
The concept of information-hiding as a software design principle is widely accepted in academic circles. Many successful designs can be seen as successful applications of abstraction or information hiding. On the other hand, most industrial software developers do not apply the idea and many consider it unrealistic.
The principle is now clear. It is still hard to apply.
He also seems to foreshadow design patterns.
Researchers should be publishing proposed standard structures for classes of programs. Researchers should be publishing proposed standard designs.
This kind of design-centered approach to software engineering appeals to me a lot more than fluffy stuff like usability studies and requirements gathering.