For those that would like to take a current Helma development build for a spin but do not want to fiddle with exporting it from CVS and building it themselves:
http://helma.zumbrunn.net/downloads/anteportas/
Since I built it, I thought I share it.
31.3.2007, 20:52
Anders Engblom discovered a problem
with the applySuper method in version 0.2 of my mocha-inheritance code. The applySuper method wasn't properly keeping track of the prototype chain in cases where it inherited a method that itself called applySuper again. The best solution that I can think of so far is to add a "__parent" property to the inherited method, which points to the constructor that defined it.
So, here is the updated version:
/**
* Mocha Inheritance -- Javascript prototype inheritance reduced to the max.
*
* Chris Zumbrunn chris@zumbrunn.com http://zumbrunn.com
* version 0.3, March 26, 2007
*/
Function.prototype.inherit = function(fnc) {
var constr = this;
var Constructor = function(){
if (fnc)
fnc.apply(this, arguments);
constr.apply(this, arguments);
};
Constructor.prototype = new (fnc || this)();
Constructor.prototype.constructor = fnc || this;
return Constructor;
};
Function.prototype.applySuper = function(method,obj,args) {
var that = arguments.callee.caller.__parent || this;
do {
if (that.prototype[method] && that.prototype[method] != obj[method]
&& that.prototype[method] != arguments.callee.caller) {
that.prototype[method].__parent = that;
return that.prototype[method].apply(obj,args);
}
that = that.prototype.constructor;
} while (that != Object);
};
Example page and code with some additional syntactic sugar:
See the
Mocha Inheritance
wiki page on the Helma site for more details and to provide your comments.
28.3.2007, 0:15
|
Today is
Shutdown-Day 2007
- and here is the Helma project's unique contribution:
[10:41] * p3k (n=p3k@213.129.249.42) has joined
#helma
[10:44] * ibot3000 (n=PircBot@213.129.249.42) has joined
#helma
[10:44]
<p3k>
javascript:
a = 1
;
[10:46]
<zumbrunn>
oooh... a hop shell built into the channel?
[...]
[10:48]
<p3k>
mal sehen
[...]
[10:56]
<p3k>
javascript:
a = 1; a
[10:56] <ibot3000> 1
[10:57]
<p3k>
javascript:
new Date
[10:57] <ibot3000> Sat Mar 24 2007 11:58:27 GMT+0100 (CET)
[10:57]
<p3k>
javascript:
getDBConnection("test")
[10:57]
<rist>
wow
[10:57]
<p3k>
hehe :)
[10:58]
<zumbrunn>
:-)
[...]
[11:00]
<earl>
javascript:
new Date
[11:00] <ibot3000> Sat Mar 24 2007 12:02:17 GMT+0100 (CET)
[11:01] *
earl
pats ibot3000 on the back
[11:02]
<p3k>
javascript:
getDBConnection("debug")
[11:02] <ibot3000> [Database: 'org.hsqldb.jdbcDriver - connected]
[11:02]
<p3k>
uiuiui
[11:03]
<p3k>
javascript:
this
[11:03] <ibot3000> Version{PircBot 1.4.4 Java IRC Bot - www.jibble.org}
Connected{true} Server{irc.freenode.net} Port{6667} Password{null}
[11:04]
<p3k>
javascript:
this.partChannel("#helma");
[11:04] * ibot3000 (n=PircBot@213.129.249.42) has left
#helma
[11:04]
<p3k>
muahaha
[11:04]
<earl>
get him back! :)
[11:04] * ibot3000 (n=PircBot@213.129.249.42) has joined
#helma
[11:04]
<earl>
javascript:
['hello', 'tobi'].join(' ')
[11:04] <ibot3000> hello tobi
[11:05]
<p3k>
javascript:
"hello" + " " + "earl"
[11:05] <ibot3000> hello earl
[11:05]
<earl>
javascript:
java.lang.System.exit(0)
[11:05] * ibot3000 (n=PircBot@213.129.249.42) Quit (Remote closed the connection)
[11:05]
<earl>
ah yes :)
[11:05]
<p3k>
:)
[11:05]
<rist>
*LOL*
(from
#helma
on irc.freenode.net)
24.3.2007, 15:48
|
There is a lot happening right now in
Helmaland
. The Helma 1.6 release is not far away and offers
many interesting new features
, besides all the changes related to Rhino 1.6, particularly the
new skin macro features
Hannes has just implemented.
On the Jala front there have been already two updates to that new library, most interestingly, providing Helma with a
unit testing framework
.
Also, Helma 1.6 will include the
new reference documentation
without the Jala sections (since the Jala library is not included in the default package) rendered
like this
.
And last but not least, there is now a
#helma IRC channel
, where you will likely find additional support to what's provided on the mailing lists: #helma on irc.freenode.net
21.3.2007, 1:36
|
Brian Cox talking at the
Lift conference
about the
Large Hadron Collider
that will be put into operation at CERN later this year, which amongst other "things" will tell us whether
Higgs bosons
exit or not:
26.2.2007, 21:17
|
ORF Online and Teletext Austria bring us
Jala
, an open-source collection of JavaScript modules for the
Helma
Javascript Web Application Framework.
The
different Jala modules
provide support for GNU gettext compatible internationalization, asynchronous request dispatching, HopObject collection rendering, captcha style challenge-response checks, writers for XML, RSS and Potcast feeds, and lots more goodies, which basically means, it picks up where the modules that are currently included with Helma leave off.
17.2.2005, 08:10
|
Laurent
talked to
World Radio Geneva
about the upcoming
Lift conference (February 7-9)
:
http://zumbrunn.com/mochazone/wrgfm-lift07.m4a
18.1.2007, 12:11
|
I changed the syntax of the
Mocha Inheritance
code a bit, to what I think you'll agree is easier to read:
Function.prototype.inherit = function(fnc) {
var constr = this;
var Constructor = function(){
if (fnc)
fnc.apply(this, arguments);
constr.apply(this, arguments);
};
Constructor.prototype = new (fnc || this)();
Constructor.prototype.constructor = fnc || this;
return Constructor;
};
Prototype inheritance reduced to the max :-)
15.1.2007, 10:01
|
|
|
> Helma 1.5.3
|
|
> Fresh Rhino on Safari
|
|
> Truly Hooverphonic!
|
|
> Helma 1.5.2
|
|
> RFC 4329 application-ecmascript
|
|
> Helma 1.5.1 ready to download
|
|
> Aptana - Eclipse reincarnated as a Javascript IDE
|
|
> Building the Conversational Web
|
|
> Drosera steps in to debug Safari
|
|
> Helma 1.5.0 has been released!
|
|
> Helma 1.5 RC2 is ready
|
|
> Helma 1.5.0 Release Candidate 1 available for download
|
|
> FreeBSD Jails the brand new easy way
|
|
> Javascript 2 and the Future of the Web
|
|
> Frodo takes on chapter 3
|
|
> No Rough Cut :-(
|
|
> Welcome to Helma!
|
|
> 40th Montreux Jazz Festival
|
|
> trackAllComments
|
|
> Rails' greatest contribution
|
|
> Consensus vs Direct Democracy
|
|
> A candidate for CSCSJS or a Mocha Fetchlet
|
|
> A (Re)-Introduction to JavaScript
|
|
> coComment Roundup
|
|
> Track your comments
|
|
> Sketching image queries and reinventing email
|
|
> ECMAScript - The Switzerland of development environments
|
|
> I love E4X
|
|
> Tutorial D, Industrial D and the relational model
|
|
> Stop bashing Java
|
|
> E4X Mocha Objects
|
|
> Logging and other antimatters
|
|
> 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
|
|
> A Free Song for Every Swiss Citizen
|
|
> Yes, what is gather?
|
|
> 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
|
|
> Art Nouveau La Chaux-de-Fonds 2005-2006
|
|
> XMLHttpRequest glory
|
|
> 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
|
|
> Anno 2004: CZV
|
|
> 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?
|
|
> Server-side Javascript
|
|
> Democracy Now!
|
|
> The Cluetrain Manifesto
|
|
> Anno 1999: Der Oberhasler
|
|
> Anno 1998: volksrat.ch
|
|
> Anno 1998: crossnet
|
|
> Think different
|
|
> The right time to buy Apple stock
|
|
> Geschwindigkeit vs Umdrehungszahl
|
|
> Anno 1997: Xmedia
|
|
> "The meaning of life is to improve the quality of all life"
|
|
> Cute Barristas at Peet's Coffee
|
|
> Anno 1996: CZV
|
|
> Alternative 1995
|
|
> BZ Internet Cafe
|
|
> Xjournal
|
|
> How do I set a DEFAULT HTML-DOCUMENT?
|
|
> Searching Gopherspace
|
|
> Crossnet - der kollektive Intellekt der Schweiz
|
|
> Global Screen Design Services
|
|
> NEW-LIST digests
|
|
> ACTIV-L Digest
|
|
> Eternal September
|
|
> AOL expanding Internet services
|
|
> Anno 1993: Macro-micro navigator
|
|
> Freude herrscht!
|
|
> Anno 1992: Intouch i-station
|
|
> You register me in 50 states
|
|
> Anno 1991: mediacube
|
|
> Friedrich Dürrenmatt - Die Schweiz als Gefängnis
|
|
> Anno 1990: RasterOps
|
|
> Enable the Creative
|
|
> Photoshop Startup Memories and First Demo
|
|
> Anno 1989: Lambada by Kaoma
|
|
> Anno 1988: Perfect by Fairground Attraction
|
|
> Bürgerbrief
|
|
> Morgana - Selling Digital-Font based Sign-writing
|
|
> Macworld Expo 1988 Amsterdam
|
|
> Acorn Archimedes RISC Technology
|
|
> Anno 1987: Knowledge Navigator
|
|
> Anno 1986: Max Headroom in the News
|
|
> FidoNet
|
|
> Anno 1985: Amiga 1000
|
|
> Hello World on C128 in CP/M Mode
|
|
> Analog Desktop Publishing in 1984
|
|
> Anno 1982: Vic-20
|
|
> Gamchi
|
|
> Postel's Law
|
|
> The Future Is Unwritten
|
|
> Earth Mother and Fortieth Floor by Lesley Duncan
|
|
> California by Joni Mitchell
|
|
> Supplement to the Whole Earth Catalog
|
|
> Neil Young
|
|
> Whole Earth Catalog
|
|
> Anno 1968: Mony Mony and People Got to Be Free
|
|
> August 28th 1968: William Buckley Vs Gore Vidal
|