Javascript for Java programmers

Maksim Lin wrote a nice introduction to Javascript for Java programmers . I think that's exactly how the Helma documentation has to introduce people from different backgrounds to the basics of Javascript, and then continue on to the concepts of Helma.

7.7.2007, 21:34

Junction brings Rhino on Rails to Helma

Steve says he switched the server-side implementation of Trimpath Junction to run on top of Helma . So, using Steve Yen's Junction, we'll soon have Rhino on Rails running as a Helma app.

What is this now? Junction on Helma? Or Helma on Junction? My head is spinning. Well... Rhino on Rails, anyway :-)

11.7.2007, 15:34

Helma 1.6 is ready!

Go grab it here! This release makes building server-side applications with Javascript more powerful and more flexible than ever.

See the change log for a full overview of all the enhancements. Highlights include support for getters/setters and E4X with the new Rhino 1.6, subskins and macro pipes/filters as additions to the skin rendering framework , and various new HTTP-related features .

Have fun exploring this Helma release and we hope you'll share your experiences with us on the mailing list and the IRC channel .

19.7.2007, 12:34

Rhino 1.6R6 with E4X fix and patches for Helma

Rhino 1.6R6 has now been released . The older Rhino jar that is part of the current Helma 1.6 package contains a E4X bug that prevents attribute support from working properly. To use E4X with Helma, you therefore need to replace that jar with the newer version.

While all Helma related patches that were pending at the time have been committed to Rhino 1.6R6 in June, there since has been one more Helma related patch that didn't make it into the Rhino 1.6R6 release version.

So, here's a version of the Rhino 1.6R6 containing that E4X fix and the pending Helma related patch:

http://helma.zumbrunn.net/downloads/rhino16r6patched/rhino.jar

With that patched version placed at ./lib/rhino.jar of your Helma installation, you can now enjoy E4X in your server-side Javascript and for example turn your skins into XML objects. With the code below, you could then access a skin "foo.skin" as XML object using this syntax: this.views.foo

/**
 * Object containing the collection of available views
 * 
 * @type Object
 */
Mocha.prototype.__defineGetter__('views',function() {
    var views = {};
    var protos = this.getPrototypeChainAsNames();
    var that = this;
    for (var proto in protos) {
        for (var skin in app.skinfiles[protos[proto]]) {
            if (!views[skin]) {
                views.__defineGetter__(skin,
                function(){ 
                    var s = skin; 
                    var obj = that; 
                    return function(){ 
                        return new XML(obj.renderSkinAsString(s)); 
                    }; 
                }());
            }
        }
    }
    return views;
})

/**
 * Returns the prototype chain as a string array of prototype names
 * 
 * @return Array
 */
function getPrototypeChainAsNames(){
    return this.getPrototypeChain().map(
                function(proto){ 
                    return / (\w+)\]$/(proto.toString())[1];
                });
}

/**
 * Returns the prototype chain as an array
 * 
 * @return Array
 */
function getPrototypeChain(){
    var protoChain = [];
    var proto = this.__proto__;
    do {
        protoChain.push(proto);
        proto = proto.__proto__;
    }
    while (proto != Object.prototype)
    return protoChain;
}
31.7.2007, 11:34

Keeping track of localhost:8080

Apparently delicious: http://localhost:8080/

26.8.2007, 11:00

Hold the whole program in your head, and you can manipulate it at will

Paul Graham, Holding a Program in One's Head :

"Your code is your understanding of the problem you're exploring. So it's only when you have your code in your head that you really understand the problem."

"Distractions are bad for many types of work, but especially bad for programming, because programmers tend to operate at the limit of the detail they can handle. The danger of a distraction depends not on how long it is, but on how much it scrambles your brain. A programmer can leave the office and go and get a sandwich without losing the code in his head. But the wrong kind of interruption can wipe your brain in 30 seconds."

"The more succinct the language, the shorter the program, and the easier it is to load and keep in your head. You can magnify the effect of a powerful language by using a style called bottom-up programming, where you write programs in multiple layers, the lower ones acting as programming languages for those above."

Yep.

26.8.2007, 11:17

>>> 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!
> St-Imier Gatherings 2017: July 30 - September 22
> The Summer Camps experience of St-Imier 2017
> Kurdistan-reve-de-Printemps
> The Mycelium Model of Glocal Governance
> Anarchy 2023 renversé









Manifesting
Freedom and Solidarity
since 1985

Chris Zumbrunn
chris@zumbrunn.com
t.me/zumbrunn
@zumbrunn@social.coop
Listening to synergy.radio



Décentrale Synergiehub
2610 Mont-Soleil
Switzerland
+41 329 41 41 41
dezentrale.org