Track your comments throughout the blogosphere and keep the conversations flowing... coComment is out of the bag.
4.2.2006, 23:23Track your comments
Sketching image queries and reinventing emailA first sneak peek at the things we can expect from System One in 2006: Retrievr lets you find flickr images by drawing rough sketches of them. " This article is not intended as a proposal for a replacement for email. [...] Nevertheless, in understanding how the move to REST improves email, you will hopefully come to see how moving your own web services to it would improve them ." In other news... Subversion hits 1.3.0 and brings us path-based authorization for svnserve. In case you've been looking for it: Venkman for Firefox 1.5 And one more puzzle piece for building Mocha heaven: Banteng - leveraging GCJ and Rhino to build cross-platform native applications in Javascript. 3.1.2006, 9:23
|
||||||||||||
ECMAScript - The Switzerland of development environmentsJon Udell points out that with the ongoing debate in programming circles about the pros and cons of static vs dynamic typing and class vs prototype based languages, and with ECMAScript gaining new respect and evolving at a faster pace, perhaps these styles will turn out more complementary than we suspect: a programming language can stay neutral to coding practices." When you already know what your types should be, [...], declare them. When you don't, don't. One language, two styles, complementary benefits. Good idea!" 29.12.2005, 13:45 |
||||||||||||
I love E4X
As a reality check of
my proposal for skins in Helma 2
, I so far came up with the following prototype. The idea seems to work quite nicely already with current builds of Helma 2. I thought E4X could make implementing these kinds of mocha objects very easy, but I was surprised that it really turned out that way in practice.
function handle_get() {
19.12.2005, 10:28 |
||||||||||||
Tutorial D, Industrial D and the relational modelFrom this interview with Chris Date : [...] But the trouble with the relational model is, it's never been implemented--at least, not in commercial form, not properly, and certainly not fully. So while it's true that there have been a couple of developments in the marketplace over the past few years that I do quite like, I like them primarily because I see them as attempts to implement pieces of the relational model that should have been implemented years ago but weren't. I refer here to (a) "business rules" and (b) "object/relational DBMSs." I'll take them one at a time.
[...] The next thing I want to say is that, while the relational model is certainly the foundation for "doing databases right," it's only the foundation. There are various ways we can build on top of the relational model, and various attempts have been made to do such a thing over the past 25 years or so. Here are a couple of examples:
19.12.2005, 0:01
|
||||||||||||
Stop bashing JavaJürg, making the case for Java beyond J2EE :
"...there were alternatives around since years (e.g.
Helma
,
which is surprisingly similar to Rails in a few fields), and often the
people who now blame J2EE for not having been efficient were simply to
lazy to really look for alternatives earlier on."
"I think it might be time to stop bashing Java and enjoy the fact that there are actually ways of working with it or any language available in its growing little universe that are enjoyable, not bound to Sun licenses, very flexible, fast and resource-saving." 18.12.2005, 20:16 |
||||||||||||
E4X Mocha ObjectsThe next generation of Mocha Objects might evolve in a direction that would look something like the following, tying in tighter with the hard-coding environment of Helma: ./Site/list.view.control // function at Site.prototype.views.list.control(that)
if (this.topics.count()) {
that.topics = {};
for (var topic in this.topics) {
that.topics.name = this.topics[topic].name;
that.topics.count = this.topics[topic].comments.count();
}
}
./Site/list.view <table border="1">
<tr if="topics">
<th lookup="true">Topic Name</th>
<th lookup="true">Comment Count</th>
</tr>
<tr for="topics" class="rowcolor{ $topics % 2 }">
<td>{ topics$.name }</td>
<td if="!topics$.count" lookup="true">
No comments yet</td>
<td if="topics$.count == 1" lookup="true">
{ topics$.count } comment</td>
<td if="topics$.count > 1" lookup="true">
{ topics$.count } comments</td>
</tr>
<tr if="!topics">
<td colspan="2" align="center" lookup="true">
This list is empty</td>
</tr>
</table>
./Site/list.control // function at Site.prototype.controls.list
var content = {
main : this.views.list.render()
};
var page = Page.views.default.render(content);
return page;
this.views.list.control() is invoked when the list view is rendered. When it is invoked, "that" is the object which was passed as parameter of the render() method or otherwise an empty/default object. "that" is the object that will be used as the Javascript context when rendering the view. Views would be E4X Javascript XML objects. When Helma would render these views, it would parse them for "lookup", "if" and "for" attributes and then evaluate them in the context of "that".
When parsing the "for" attributes, Helma would loop through the indicated object (topics) with
When parsing the "lookup" attributes, Helma would check if a lookup handler function exists and if so would apply it to the element's content. this.controls.list would be the function that is called in order to handle the request, similar to todays this.list_action. 9.12.2005, 9:02
|
||||||||||||
Logging and other antimatters
Javascript logging from
log4j
to
log4js.
W3C has chartered a Web APIs Working Group . There is no danger from antimatter. There are of course other dangers on the CERN site, as in any laboratory: high voltage power in certain areas, deep pits to fall in, etc. Wikis, weblogs and microlearning, learning from microformats: The theory of Vanilla . 24.11.2005, 7:02 |
||||||||||||
>>> Stronger types in Javascript 2 |
||||||||||||
| > Javascript Diagnosis & Testing | ||||||||||||
| > Homo Oxymora | ||||||||||||
| > Yeah, why not Javascript? | ||||||||||||
| > Moving beyond Java | ||||||||||||
| > Spidermonkey Javascript 1.5 finally final | ||||||||||||
| > Helma Trivia | ||||||||||||
| > Finding Java Packages | ||||||||||||
| > JSEclipse Javascript plug-in for Eclipse | ||||||||||||
| > Catching up to Continuations | ||||||||||||
| > Mighty and Beastie Licenses | ||||||||||||
| > Tasting the OpenMocha Console | ||||||||||||
| > "Who am I?", asks Helma | ||||||||||||
| > Savety vs Freedom and other recent ramblings | ||||||||||||
| > Mont-Soleil Open Air Lineup | ||||||||||||
| > Rhinola - Mocha reduced to the minimum | ||||||||||||
| > OpenMocha 0.6 available for download | ||||||||||||
| > E4X presentation by Brendan Eich | ||||||||||||
| > What is Mocha? | ||||||||||||
| > Do you remember Gopher? | ||||||||||||
| > The current.tv disappointment | ||||||||||||
| > OpenMocha Project Roadmap | ||||||||||||
| > MochiKit Javascript Library | ||||||||||||
| > Getting your feet wet with OpenMocha | ||||||||||||
| > People flocking to see global warming | ||||||||||||
| > Rails vs Struts vs Mocha | ||||||||||||
| > The JavaScript Manifesto | ||||||||||||
| > OpenMocha is ready for a spin | ||||||||||||
| > The limits of harmonization | ||||||||||||
| > Le Conseil fédéral au Mont-Soleil | ||||||||||||
| > Amiga History Guide | ||||||||||||
| > The people must lead the executive, control the legislature and be the military | ||||||||||||
| > Copyback License | ||||||||||||
| > Looking at FreeBSD 6 and Beyond | ||||||||||||
| > Qualified Minority Veto | ||||||||||||
| > The Doom of Representative Democracy | ||||||||||||
| > Violence in a real democracy | ||||||||||||
| > Concordance and Subsidiarity | ||||||||||||
| > Wrapping Aspects around Mocha Objects? | ||||||||||||
| > Future of Javascript Roadmap | ||||||||||||
| > Baby steps towards Javascript heaven | ||||||||||||
| > Mac OS X spreading like wildfire | ||||||||||||
| > Trois petits filous à Faoug | ||||||||||||
| > Jackrabbit JSR 170 | ||||||||||||
| > Rich components for HTML 5 | ||||||||||||
| > More Java Harmony | ||||||||||||
| > Mac goes Intel | ||||||||||||
| > Google goes Rumantsch | ||||||||||||
| > Oxymoronic Swiss-EU relations | ||||||||||||
| > Rico and Prototype Javascript libraries | ||||||||||||
| > Paul Klee - An intangible man and artist | ||||||||||||
| > Incrementalism in the Mozilla roadmap | ||||||||||||
| > Mocha multi-threading | ||||||||||||
| > Moving towards OpenMocha | ||||||||||||
| > Google goes Portal | ||||||||||||
| > What Bush doesn't get | ||||||||||||
| > Unique and limited window of opportunity | ||||||||||||
| > Persisting Client-side Errors to your Server | ||||||||||||
| > Dive Into Greasemonkey | ||||||||||||
| > Brown bears knock on Switzerland's door | ||||||||||||
| > The experience to make what people want | ||||||||||||
| > "Just" use HTTP | ||||||||||||
| > Yes, what is gather? | ||||||||||||
| > A Free Song for Every Swiss Citizen | ||||||||||||
| > Java in Harmony | ||||||||||||
| > Jan getting carried away | ||||||||||||
| > Evil Google Web Accelerator? | ||||||||||||
| > JSON.stringify and JSON.parse | ||||||||||||
| > Ajax for Java | ||||||||||||
| > The launching of launchd | ||||||||||||
| > Timeless RSS | ||||||||||||
| > Kupu | ||||||||||||
| > SNIFE goes Victorinox | ||||||||||||
| > AJAX is everywhere | ||||||||||||
| > Papa Ratzi | ||||||||||||
| > How Software Patents Work | ||||||||||||
| > Ten good practices for writing Javascript | ||||||||||||
| > Free-trade accord with japan edges closer | ||||||||||||
| > Mocha at a glance | ||||||||||||
| > Adobe acquires Macromedia | ||||||||||||
| > Safari 1.3 | ||||||||||||
| > View complexity is usually higher than model complexity | ||||||||||||
| > Free Trade Neutrality | ||||||||||||
| > SQL for Java Objects | ||||||||||||
| > Security Bypass | ||||||||||||
| > Exactly 1111111111 seconds | ||||||||||||
| > Kurt goes Chopper | ||||||||||||
| > Choosing a Java scripting language | ||||||||||||
| > Spamalot's will get spammed a lot | ||||||||||||
| > The visual Rhino debugger | ||||||||||||
| > The Unix wars | ||||||||||||
| > EU-Council adopts software patent directive | ||||||||||||
| > FreeBSD baby step "1j" | ||||||||||||
| > Never trust a man who can count to 1024 on his fingers | ||||||||||||
| > Visiting the world's smallest city | ||||||||||||
| > Finally some non-MS, non-nonsense SPF news | ||||||||||||
| > Swiss cows banned from eating grass | ||||||||||||
| > Ludivines, the "Green Fairy" of absinthe | ||||||||||||
| > First Look At Solaris 10 | ||||||||||||
| > EU Commission Declines Patent Debate Restart | ||||||||||||
| > Alan Kay's wisdom guiding the OpenLaszlo roadmap towards Mocha? | ||||||||||||
| > 1 Kilo | ||||||||||||
| > Re: FreeBSD logo design competition | ||||||||||||
| > Schweizer Sagen | ||||||||||||
| > Europas Eidgenossen | ||||||||||||
| > XMLHttpRequest glory | ||||||||||||
| > Art Nouveau La Chaux-de-Fonds 2005-2006 | ||||||||||||
| > The Beastie Silhouette | ||||||||||||
| > The Number One Nightmare | ||||||||||||
| > Safe and Idempotent Methods such as HEAD and TRACE | ||||||||||||
| > Sorry, you have been verizoned. | ||||||||||||
| > Daemons and Pixies and Fairies, Oh My! | ||||||||||||
| > Sentient life forms as MIME-attachments: RFC 1437 | ||||||||||||
| > Web Developer Extension for Firefox | ||||||||||||
| > Refactoring until nothing is left | ||||||||||||
| > Brendan, never tired of providing Javascript support | ||||||||||||
| > Catching XP in just 20 Minutes | ||||||||||||
| > Designing the Star User Interface | ||||||||||||
| > Rhino, Mono, IKVM. Or: JavaScript the hard way | ||||||||||||
| > Re: SCO | ||||||||||||
| > Judo | ||||||||||||
| > Convergence on abstraction and on browser-based Console evaluation | ||||||||||||
| > Today found out that inifinite uptimes are still an oxymoron | ||||||||||||
| > New aspects of woven apps | ||||||||||||
| > Original Contribution License (OCL) 1.0 | ||||||||||||
| > Unified SPF: a grand unified theory of MARID | ||||||||||||
| > BSD is designed. Linux is grown. | ||||||||||||
| > 5 vor 12 bei 10 vor 10 | ||||||||||||
| > Mocha vs Helma? | ||||||||||||
| > Schattenwahrheit: Coup d'etat underway against the Cheney Circle? | ||||||||||||
| > Abschluss Bilaterale II Schweiz-EU | ||||||||||||
| > From Adam Smith to Open Source | ||||||||||||
| > Linux - the desktop for the rest of them | ||||||||||||
| > Big Bang | ||||||||||||
| > Leaky Hop Objects | ||||||||||||
| > Return Path Rewriting (RPR) - Mail Forwarding in the Spam Age | ||||||||||||
| > Microsoft Discloses Huge Number Of Windows Vulnerabilties | ||||||||||||
| > Steuerungsabgabe statt Steuern | ||||||||||||
| > Anno 2003: deployZone | ||||||||||||
| > The war against terror | ||||||||||||
| > The war against terror (continued) | ||||||||||||
| > The relativity of Apple's market share | ||||||||||||
| > Are humans animals? | ||||||||||||
| > Anno 1999: Der Oberhasler | ||||||||||||
| > Anno 1998: crossnet | ||||||||||||
| > Geschwindigkeit vs Umdrehungszahl | ||||||||||||
| > Anno 1997: Xmedia | ||||||||||||
| > "The meaning of life is to improve the quality of all life" | ||||||||||||
| > Anno 1996: CZV | ||||||||||||
| > How do I set a DEFAULT HTML-DOCUMENT? | ||||||||||||
| > Global Screen Design Services | ||||||||||||