Helma 1.5.2

Hot on the heels of Helma 1.5.1 and in order to clear the slate for Helma/Rhino 1.6, which will bring us E4X support amongst other goodies, Helma 1.5.2 has been released , fixing a potentially annoying error logging issue.

18.8.2006, 18:45

Truly Hooverphonic!

The belgian group Hooverphonic was clearly the highlight of this years Mont-Soleil Open Air Festival ! I already really liked their last album No More Sweet Music , but seeing them perform live was even more impressive. Unlike many groups these days, which can't match the quality of their recordings outside the studio, Hooverphonic's performance was excellent!

28.8.2006, 15:45

Fresh Rhino on Safari

The 5th edition of David Flanagan 's Javascript - The Definitive Guide is now also available on Safari and I have it on my online bookshelf :-)

I must admit that when I started reading the 5th edition, I quickly started to look forward to the 6th edition, although the 5th edition is well worth getting for anybody that works with Javascript.

The 5th edition seems to do some selective catching up and shies away even from Javascript 1.6 additions that look certain to be part of ECMA-262 version 4. Apparently, David Flanagan drew a carfully drafted line for what he wanted to include in the 5th edition and was thinking ahead to the 6th edition already. That's not a bad thing, of course. The result is a very clean 5th edition.

Too bad E4X ended up getting buried in the Client-Side section. I hope the 6th edition will treat it as an extension to Core Javascript instead. Hopefully, including mentioning it in the Literals section and in chapter 3, even-though it is an optional "standard extension".

One of the things that makes this book so great is the fact that it cleanly separates between the browser/client side and the core language, making it the best companion when working in Rhino based environments on the server-side such as Helma .

Naturally, when working in an environment like Helma, the limitations on using the newest language extensions do not apply, and the 5th edition doesn't quite cater to this niche as well as it could.

So, basically, I hope for a bit more "Rhino" in the 6th edition of the "Rhino book" ;-) ...and maybe even a chapter on existing server-side frameworks.

1.9.2006, 12:38

"The meaning of life is to improve the quality of all life"

Nuff said.

5.11.1996, 20:27

Update: 9.7.2011, 20:05
After stumbling into discussions about this with people once in a while for probably the last decade or so, I noticed that "Nuff said" really isn't enough. To the contrary, a book may need to be written about it. For some reason, a lot of people seem to think that talking about the meaning of life is pointless, or even stupid, or that there is no answer. I don't understand why. To me, it's an important question with an obvious answer.


Mocha Inheritance

In its current incarnation, Javascript prototype inheritance has some shortcomings. In particular, prototypes do not inherit their parent's constructor and methods in child prototypes can not dynamically access an inherited method they override.

After Hannes' and Jürg's suggestions for improvements to Dean Edwards' Base Class approach to Javascript inheritance, I made an attempt to solve the problem by focusing more intensely on fixing Javascript's prototype inheritance than adding class sugar around it.

What I came up with is this:

name type size
mocha.js application/x-javascript     1311 bytes
mocha.html      text/html 1942 bytes

Mocha Inheritance does its magic in these 20 lines of code:

Function.prototype.inherit = function(inherit) {

    var fnc = inherit ? this : function(){};

    inherit = inherit || this;

    var Constructor = function(){

       inherit.apply(this, arguments);

       fnc.apply(this, arguments);

    };

    Constructor.prototype = new inherit();

    Constructor.prototype.constructor = inherit;

    return Constructor;

 };

 

 Function.prototype.applySuper = function(method,obj,args) {

    var that = this;

    do {

       if (that.prototype[method] && that.prototype[method] != obj[method])

          return that.prototype[method].apply(obj,args);

       that = that.prototype.constructor;

    } while (that != Object);

 };

Creating a new prototype "Mensch" with mocha inheritance from "Animal":

var Mensch = Animal.inherit();

Letting a previously created constructor "Mensch" mocha inherit from "Animal":

Mensch = Mensch.inherit(Animal);

And here an example of a Mensch method "evolve" that overrides what it inherits from Animal, but still manages to do nothing different:

Mensch.prototype.evolve = function(){

   return this.constructor.applySuper('evolve', this, arguments);

 }

With some more syntactic sugar around it, I think this is quite a nice approach.

http://dev.helma.org/wiki/Mocha+Inheritance/

12.1.2007, 13:20

Helma 1.5.3

Helma 1.5.3 makes dynamically loaded code repositories available immediately after the app.addRepository() statement and offers improved logging behavior along with several small bug fixes.

http://helma.org/download/

http://helma.org/download/changelog/1.5.3/

15.11.2006, 19:27

>>> More on Javascript Inheritance

> See you at Lift'07
> The war against terror
> The war against terror (continued)
> Jala for Helma
> Making Higgs where the Web was born
> Upcoming Helma 1.6, new reference docs and IRC channel
> Shutdown-Day the Helma way
> Fixing Javascript inheritance
> Helma ante portas
> Introducing Planet Helma
> Helma 1.6.0-rc1
> The last mention of Microsoft
> Bootstrap is out of the bag
> Rocket the Super Rabbit
> Helma warped around existing db schemas
> Using H2 with Helma
> Helma 1.6.0-rc2
> Antville Summer Of Code 2007
> ECMAScript 4 Reference Implementation
> Release Candidate 3 of Helma 1.6.0
> Rhino on Rails
> John Resig on Javascript as a language
> The server-side advantage
> Javascript for Java programmers
> Junction brings Rhino on Rails to Helma
> Helma 1.6 is ready!
> Rhino 1.6R6 with E4X fix and patches for Helma
> Keeping track of localhost:8080
> Hold the whole program in your head, and you can manipulate it at will
> JSONPath and CouchDB
> Helma Conspiracy Theory
> So, what's up with World Radio Switzerland?
> Javascript as Universal Scripting Language
> More praise for Helma
> Helmablog and an article in Linux Pro Magazine
> Evolving ES4 as the universal scripting language
> Bubble bursting friendship bracelets
> CouchDB for Helma
> Helma powered AppJet - Takeoff!
> SimpleDB vs CouchDB
> Netscape, the browser, to live one more month
> Update to Helma 1.6.1
> Additional Filename Conventions
> e4xd and jhino - javascript server-side soft-coding
> Even more Server-side Javascript with Jaxer
> Openmocha and Jhino updated to 0.8
> Asynchronous Beer and Geeking and other opportunities to talk about Helma, Rhino and Javascript on the server-side
> Solar cell directly splits water for hydrogen
> Adobe's position on ES4 features, plus the Flex 3 SDK source code is now available under the MPL
> The Overlooked Power of Javascript
> A Quick Start to Hello World
> The Story of Stuff
> Earthlings - Can you face the truth?
> Larry Lessig's case for creative freedom
> Helma 1.6.2 ready to download
> Attila Szegedi about Rhino, Helma and Server-Side Javascript, and scripting on the JVM in general
> Helma Meeting Spring 2008
> Apple's position on ECMAScript 4 proposals
> ES4 comes to IE via Screaming Monkey
> SquirrelFish!
> Want ES4 in Helma today?
> ES4 Draft 1 and ES3.1 Draft 1
> Is AppleScript done?
> Brendan on the state of Javascript evolution
> Helma at the Linuxwochen in Linz
> Fresh Javascript IDE in Ganymede Eclipse release
> The A-Z of Programming Languages jumps to Javascript
> Ecmascript Harmony
> Large Hadron Collider
> Helma at the 2008 OpenExpo in Zurich
> Release Candidate 1 of Helma 1.6.3
> Helma 1.6.3 Release Candidate 2
> Helma 1.6.3-rc3 ready for testing
> Helma turns 1.6.3
> First Soleil on Mont-Soleil
> Anno 2004: CZV
> Server-Side Javascript Standard Library
> Is the Bespin web-based code editor the ideal future ServerJS IDE?
> New Eclipse Helma plugin project
> The best solution is that one isn't needed
> ReverseHttp and RelayHttp
> ES5 Candidate Specification
> A car has nothing to do with a carpet
> Think different
> Crossnet - der kollektive Intellekt der Schweiz
> Anno 1992: Intouch i-station
> Anno 1990: RasterOps
> Anno 1991: mediacube
> Anno 1993: Macro-micro navigator
> Server-side Javascript
> Surrender by Cheap Trick
> Permaculture 101
> Be part of the solution, not part of the problem
> CometD at a glance
> PubSubHub against spam and walled gardens
> Web-based editing of sandboxed server-side javascript apps
> Hang You From the Heavens by The Dead Weather
> Anno 1988: Perfect by Fairground Attraction
> August 28th 1968: William Buckley Vs Gore Vidal
> Anno 1968: Mony Mony and People Got to Be Free
> Unus Pro Omnibus - Omnes Pro Uno
> Been there, but haven't done that
> If they are not ready for what they need, give them the backbone for their future baby steps
> Before implementing a solution to a problem, always search for a workaround, because the workaround is often better than the original solution
> JVM Web Framework Smackdown
> Eating healthier would safe the planet
> ServerJS - putting Javascript to work on the *other* side
> CommonJS effort sets JavaScript on path for world domination
> While society must do things the right way, its people must find ways to do the right thing
> ServerJS - Brewing The Perfect Storm
> Move your money - It's a Wonderful Life
> You find what you google for.
> Module system strawpersons
> Keep Cool My Babies!
> Written In Reverse by Spoon
> The Moon And The Sky by Sade
> Helma 1.7.0 has escaped its stealth existence
> Modules, Proxies, and Ephemeron Tables
> Server-Side Javascript since... way back: RingoJS!
> Anno 1989: Lambada by Kaoma
> Eternal September
> AOL expanding Internet services
> Searching Gopherspace
> NEW-LIST digests
> ACTIV-L Digest
> Acorn Archimedes RISC Technology
> Hello World on C128 in CP/M Mode
> Anno 1986: Max Headroom in the News
> Anno 1985: Amiga 1000
> Anno 1982: Vic-20
> RhinoJS
> Lost and Found by Steve Mason
> Your Personal Religion by Sophie Hunger
> RingoJS 0.5 released
> Sweet People by Alyosha
> RingoJS vs NodeJS
> Get Around by Neil Young
> How creativity occurs
> The Future Is Unwritten
> What's Up Doc? by Carbon/Silicon
> Will Adobe see the light (of Day)?
> Good for Adobe, Good for Day, Good for the Ecosystem
> confederate?
> Brendan Eich on Proxies, Modules and other Proposals and Strawman
> CoffeeScript, underscore.coffee and underscore.js
> We have the world we want
> Lila Luftschloss
> If there is anything supernatural, it is humanity itself
> Oh No! by Marina And The Diamonds
> Reality is an onion, and depending on how deep you think, it may seem to contradict itself
> Web services should be both federated and extensible
> Freude herrscht!
> The Cluetrain Manifesto
> The Paul Allen Suit
> Erbix CommonJS soft-coding engine
> Nice comparison of Ringo and Node
> Faked web browsing
> Angry World by Neil Young
> Anno 1987: Knowledge Navigator
> Open source Facebook replacement Diaspora drops first alpha
> Restrepo
> Bungee jumps for all congressman, free!, no strings attached
> Link Love for Javascript
> Predictions of an ugly IPv4-to-IPv6 transition
> Ringo Release 0.6
> Order is an addictive illusion
> Peaceful Valley Boulevard and Rumblin
> Rhinola 0.8 - Server JS reduced to the minimum
> Unconditional Responsibility meets Total Compassion
> Which system setting, Mr. Citrix?
> Making Antimatter where the Web was born
> WikiLeaks moves to Switzerland
> Democracy Now!
> So Long, Larry King Live
> You register me in 50 states
> Daniel Ellsberg on Wikileaks
> Software Engineering
> California by Joni Mitchell
> Friedrich Dürrenmatt - Die Schweiz als Gefängnis
> Please Take by Wire
> Fixing the Future
> Cablecom baffled by service interruptions
> The decision to store data in a database is usually a case of premature optimization
> Could uprisings in Egypt and the Arab world produce a 'Muslim Gandhi'?
> No more White Stripes
> It Hurts Me Too by First Aid Kit
> Asmaa Mahfouz starting a revolution
> Think before teaching young dogs old tricks
> How to Save the World, Fast and Easy
> Powerful stroke of insight
> Madame Trudeaux by KT Tunstall
> Re: Administrivia
> Blue Tip by The Cars
> Piledriver Waltz by Alex Turner
> Canada, please evolve
> Heavyweight Champion of the World by Reverend and the Makers
> Everything is either simple or flawed
> AIR is to apps as PDF is to docs
> Wishful thinking is the mother of all progress
> Nuclear plants in Switzerland are modern Orgetorixism
> Newark Peace Education Panel
> Photoshop Startup Memories and First Demo
> BZ Internet Cafe
> Xjournal
> Morgana - Selling Digital-Font based Sign-writing
> Macworld Expo 1988 Amsterdam
> The right time to buy Apple stock
> Bürgerbrief
> Analog Desktop Publishing in 1984
> Enable the Creative
> Christiana Bike gone missing in Basel
> Postel's Law
> Best Music, News, and More is Back!
> bumblebee
> FidoNet
> Cute Barristas at Peet's Coffee
> Storm Song by Smoke Fairies
> Earth Mother and Fortieth Floor by Lesley Duncan
> Permaculture - A Quiet Revolution
> Paradise with Side Effects
> The Data Liberation Front
> What's Next California
> Not becoming part of the problem when trying to be part of the solution
> Customer Experience Management
> Adobe Digital Enterprise Platform
> This Painting is Not Available in Your Country
> Strength in Numbers by Colin Scallan
> RingoJS 0.8.0 is out!
> Re: parteifrei.ch
> Stuff by George Carlin
> Damn Love Song by Amy LaVere
> Switzerland is Not a Nation - it is a Philosophy
> Ralph Nader, Dennis Kucinich, Ron Paul
> 25th Fête de la Lune Noire
> Die Grünen sind die liberalsten
> How To Design A Good API and Why it Matters
> Here's to the crazy ones!
> New GPB-DA Poster (and Logo) for the Federal Elections 2011
> Evolution is not about the survival of the fittest, it is about the optimization of the synergies.
> Antwort auf offenen Brief von Tobias Sennhauser
> Alternative 1995
> Privacy is only needed to the extent that society is malfunctioning.
> The Creative Cloud, Elasticity, Touch and Context
> Libertär, EU-kritisch, ökologisch, sozial
> Consensus & Direct Democracy @ Occupy Everything
> Fortschritt statt schildbürgerliches Wachstum
> Hydrogen production from inexhaustible supplies of fresh and salt water using microbial reverse-electrodialysis electrolysis cells
> Will Not Follow by Gringo Star
> The Three Pillars of Democracy
> The Foundation of Democracy
> Bradley Manning by Cass McCombs
> Hochdemokratie
> Gamchi
> Whole Earth Catalog
> Supplement to the Whole Earth Catalog
> Neil Young
> O Freedom by Billy Bragg
> I believe I know what is true, but I know I don't know what is real.
> Zweites Eichhorn 2011 by michelo-ud
> Finish your Beer
> House Rules
> Late in the Night by Heartless Bastards
> Tim Anderson and Matthew Slater on Community Forge
> Journée: Coopératives & énergies renouvelables
> Summer 2012 will be the Woodstock of Anarchism
> Saturn Return by She Keeps Bees
> Lea & story-209 by michelo-ud
> Light Table - a new IDE concept
> Anno 1998: volksrat.ch
> Beim Denken sind Tiere auch nur Menschen
> Working on true, bottom up subsidiarity
> The Adobe Creative Cloud is coming!
> Jacob Appelbaum and National Security Agency whistleblower William Binne on growing state surveillance
> Out of Print: The 20th Century
> If what you are doing is not helpful, please stop doing it. Seriously.
> International Anarchism Gathering, St-Imier 2012
> Participate.ch macht Deliberative Demokratie mit Konsensforum
> Sixteen Saltines by Jack White
> Self-organisation as a powerful change agent
> Consensus is not something you either have or not. It is something you always have more or less of.
> Guggenheim by The Ting Tings
> The Definition of Love
> The axis of evil runs through our dining tables
> TerreVision - agriculture contractuelle
> Sophie's Choice in Bovine
> From Consumers to Citizens
> Deepening Democracy Days, June 2-12, 2012
> Surfing Democracy - Dynamic Facilitation and Wisdom Councils
> Radical Openness
> Plonk & Replonk
> Confirmation of the Higgs Boson and the Standard Model
> Declaration of Interdependence, Occupy Café and Occupy National Gathering
> Albert Streichs Mittnächtler
> A Guidebook of Alternative Nows
> The Story of Change
> Empowering Public Wisdom - The Manifesto
> The Transformation Project
> St-Imier 2012 Anarchism Gathering Program
> Du 8 au 12 août, les Imériens accueilleront les anarchistes du monde entier
> La Linea by Osvaldo Cavandoli
> Souper - Débat politique à Espace Noir
> Participate.ch brings Dynamic Facilitation Training to Zurich, March 4-6, 2013
> NEIN zum Tierseuchengesetz am 25.11.2012 - NON à la loi révisée sur les épizooties
> Weltformatplakat GPB-DA, Stadtratswahlen 2012
> Souper et débat politique - Round Three
> Fan traces "lost" singer Rodriguez
> RingoJS hits 0.9
> Jim Rough enjoying Hiltl...
> Gründungsversammlung Swiss Foodcoop Genossenschaft
> Ad-hoc Choice Creating
> Paddock cahier des charges choice creating session
> La Vélokaravane à Courtelary le 13.4.2013 au Toit des Saltimbanques
> Taste the Waste - about the worldwide destruction of food
> Governance Futures Lab for ReConstitutional Convention
> Simone Rebmann als Regierungsstatthalterin!
> Transition Town Bern am 25. April
> More than Honey by Markus Imhoof
> Occupy Love by Velcrow Ripper
> Overview & Continuum by Planetary Collective
> Zukunft säen – Vielfalt ernten
> Everyone is an exception. Let's try and catch each other.
> Art of Participatory Leadership 2013
> Social Capital World Forum 2013
> Reserve Ratio, Inter-Bank Lending and Equity Ratio
> Because *somebody* has to stand up for the people of the Internet
> The means are the way
> Original Black Bloc exhibited
> Dare to imagine: The grid that is us
> Collaborate locally, collaborate globally
> Edward Snowden, NSA PRISM wistleblower
> Installing Democracy
> Grüne NetzpolitikerInnen gegen BÜPF und NDG
> Nourrir la ville - Tagung für lokale und nachhaltige Strategien
> Leitideen des Anarchismus und EU-Kritik
> Green Phoenix Congress, September 25-29 2013, Schweibenalp, Switzerland
> Surfing Democracy November 25-26 2013
> Sommerfest von Transition Bern
> Open Air Filmvorführung in Bern am 11.8.: In Transition 2.0
> Es gibt kein Recht auf unethisches Verhalten.
> in-vitra Kulturen- und Kunstplattform in Biel-Bienne
> E-Voting: gesunde Skepsis und OpenSource ist nötig
> Virtual roundtable on governance
> Invitation to the 2013 "Beau-Sejour" gathering, October 25-27 in St-Imier, Switzerland
> Changelog for RingoJS 0.10
> Trends in Civic Tech
> Rolling Stone: In the Belly Of The Beast
> The Cryptosphere: decentralised, secure and open Web platform
> Zukunftsforum im Lorraine Quartier
> Polymoney Workshop
> Les idées principales de l'anarchisme et la critique de l'Union Européenne
> Culture of Collaboration
> La Décentrale Mont-Soleil
> Join the 2014 Beau-Sejour Gatherings, November 14-30
> RingoJS 0.11 is out!
> The New Decentralized Internet - MaidSafe
> Own The Change: Building Economic Democracy One Worker Co-op at a Time
> Stage d’initiation aux plantes sauvages comestibles et médicinales
> Decentralise Now Gathering for the 99%
> Outcomes of the Decentralise Now Gathering
> RSS murderers, some must rebuild bridges you have willfully destroyed
> Decentralized Autonomous Popcorn Time
> Tesla: All Our Patent Are Belong To You
> Why Wikipedia might be the most important invention ever
> The numbers of the day: 62 vs 50% and 1% vs 99%
> Decentralised Jokes
> Verpasst: Eine grosse Chance für ein krisensicheres Geld
> Richard Moore on the Electric Universe and Climate Change
> CoinFest 2016, April 5-10, Mont-Soleil
> Participate in the solutions of tomorrow!