Panagiotis Astithas is setting out to give people a tour of Helma, starting with a quick start guide to the very first steps of getting up and running .
3.4.2008, 18:03A Quick Start to Hello World
The Overlooked Power of JavascriptGlenn Vanderburg has put video and slides of "The Overlooked Power of Javascript" online, a presentation he gave last fall at JAOO in Aarhus, Denmark. If you do not yet understand Javascript as a powerful programming language, this presentation will serve as a good introduction. It won't really make you see the power, but it will give you an idea where to go and look to find it. 3.4.2008, 12:15 |
Adobe's position on ES4 features, plus the Flex 3 SDK source code is now available under the MPLLarsen Hansen and Jeff Dyer have issued a position statement outlining Adobe's point of view on how the ECMA TG1 should proceed towards ES4 . Looks reasonable to me. Plus the Flex 3 SDK source code is now available under the MPL and includes tools to disassemble .swf Flash files. It also contains the code for the actionscript compiler. Note that they messed up, however, and the compiler modules are missing in the released download package. They have since added the missing files to the subversion repository . So, you'll need to check it out from there . 26.2.2008, 20:42 |
Solar cell directly splits water for hydrogen"Plants trees and algae do it. Even some bacteria and moss do it, but scientists have had a difficult time developing methods to turn sunlight into useful fuel. Now, Penn State researchers have a proof-of-concept device that can split water and produce recoverable hydrogen." http://wattwatt.com/pulses/236/solar-cell-directly-splits-water-for-hydrogen/ 26.2.2008, 18:56 |
Asynchronous Beer and Geeking and other opportunities to talk about Helma, Rhino and Javascript on the server-sideWhat's the one senseful thing to do if you live anywhere remotely near a pub called "The Rhino"? Exactly, you go there to talk about Rhino and the wonderful things you can do with it on the server-side thanks to Helma . For example, you can do this at The Rhino in Toronto , where Kristan "Krispy" Uccello initiated a meetup of Javascript geeks to take place every second Monday evening of the month. The next Ajax Pub Nite is February 11, 2007 at 7pm in Toronto at The Rhino. If you live at the other end of the world, I'm sure Maksim Lin's talk on Web Development with Helma would be another excellent opportunity for Rhino chatter. I assume that takes place somewhere in Melbourne, Australia, but the exact place and time is yet to be announced. Then there would be another chance at the OpenExpo in Berne , Switzerland, where I'll be presenting the Helma project on the 12th and 13th of March 2008. And if you are at Lift'08 this week, I won't mind talking about Helma there either :-) 5.2.2008, 11:56 |
Openmocha and Jhino updated to 0.8New versions of the Openmocha and Jhino javascript server-side packages are available to download . They now contain basic support for fetchlets and many bug fixes:
|
Even more Server-side Javascript with JaxerCoincidence has it that there is even more server-side Javascript news right now: Jaxer It is basically Mozilla running behind Apache on the server-side, extended with the server-side functionality you would expect, like reading/writing files, db access and other external communication. But since the server-side runs inside a full fledged browser environment, with not only the DOM but CSS and all the client-side js functionality, including XMLHTTP requests and the whole bit, you can really work on both sides with less mental switching. Take a look at the example John Resig mentions : <html>
<head>
<script src="http://code.jquery.com/jquery.js" runat="both"></script>
<script>
jQuery(function($){
$("form").submit(function(){
save( $("textarea").val() );
return false;
});
});
</script>
<script runat="server">
function save( text ){
Jaxer.File.write("tmp.txt", text);
}
save.proxy = true;
function load(){
$("textarea").val(
Jaxer.File.exists("tmp.txt") ? Jaxer.File.read("tmp.txt") : "");
}
</script>
</head>
<body onserverload="load()">
<form action="" method="post">
<textarea></textarea>
<input type="submit"/>
</form>
</body>
</html>
Maybe sometimes it really helps to see both the client-side and server-sider code together like this, without the need to switch between separate files for views and controls. That's something to keep in mind for Jhino. With the older versions of Openmocha you always had the server-side and client-side code together on one page when using the web-based editor. With Jhino we currently lost that. So, this is one good argument to bring back a gui editor where one can see all the properties and behaviors of a Mocha object at a glance. I'm not sure how often it will really make sense to run the code on both the client and server side. I hope we will come up with some interesting use cases for this, because the idea is intriguing! 23.1.2008, 13:07 |
e4xd and jhino - javascript server-side soft-codingA new and experimental core for a complete rewrite of Openmocha. The e4xd sub-project provides the javascript server-side for the Openmocha project, a javascript application server with a "soft-coding" framework. The soft-coding allows modifications and development work from the "inside" of the running web application. The behavior of the web application can be changed in ways that closely relates to the hierarchical content structure of the resulting website, without the need to "hard-code" these changes in code files. Every content object becomes "sovereign" and can define its own behavior, overriding what it would inherit from the hard-coded prototypes or from other soft-coded objects higher up in the content structure hierarchy. The e4xd objectengine leverages naming conventions for hard-coded filenames and soft-coded object property names to overlay the hard-coded and soft-coded properties and methods and determine the behavior of an object at runtime. Internally, these conventions follow the existing ones of the Helma framework, but expand that philosophy, adding additional conventions and accomodating to the needs of the soft-coding environment. The jhino sub-project provides a base application scaffold for the soft-coding environment. It leverages the e4xd object engine and adds an additional layer of conventions, resulting in a basic scaffold for a working base application with CRUD type functionality and access control. Basically, jhino already provides a fully working soft-coding environment, but requires the standard Helma development tools such as the shell and inspector to do the actual "soft-coding". The e4xd javascript server-side currently requires a patched version of Helma and Rhino. In the case of Rhino, e4xd depends on the JOMP patch and Helma needs to be modified to do the additional file suffix mapping required by e4xd.
Getting Started
Prerequisites and System RequirementsTo run OpenMocha a Java Virtual Machine 1.4 or better is required. For FreeBSD and other operating systems with ports collection you may install a JRE or JDK from the ports collection. For Windows, Linux and Solaris you can get a Java runtime or development kit from http://java.sun.com/j2se/downloads/. If you are on Mac OS X then you already have a Java runtime that will work well with OpenMocha. While you can integrate OpenMocha with other tools such as Apache and MySQL, you do not have to. OpenMocha is pre-configured to be deployed on its own and comes with a built-in object oriented database and web server. Getting started with OpenMochaOn the e4xd.org site, you should be able to find a working build to download and simply start with ./start.shFor FreeBSD, Linux, Solaris, Mac OS X and other Unix flavors, start the Helma framework by invoking ./start.sh from the command line. On Windows, invoke start.bat instead. If the java command can not be found, make sure the JAVA_HOME environment variable is set to the location of your Java installation. With Helma running, you should be able to connect using your browser and the URL http://127.0.0.1:8080/ or http://localhost:8080/ To initialize the setup, complete the user registration form at http://127.0.0.1:8080/exampleapp/register and follow the instructions to copy the security information into the server.properties file. You may then login to your new OpenMocha server via http://127.0.0.1:8080/exampleapp/login and start configuring and deploying your web applications. Installing jhino modules in a existing Helma setupIn addition to the full openmocha build, there is also a build that contains only the jhino modules and patched jar files, in order to add jhino to your own helma install. You would need to replace the helma.jar and rhino.jar in your Helma install with the patched versions. The "objectengine" and "jhino" modules are expected to be placed in Helma's modules directory and the exampleapp would normally go into Helma's apps directory. You could then start the example app from your manage application or add it to the apps.properties file to have it start automatically.More info and helpOther than what you find on the (possibly not yet existing) e4xd.org website, the best places to get in touch are the openmocha mailing list and google group or the #helma@irc.freenode.net IRC channel .
Also, in case you are new to Helma, you of course need to add the helma.org website and mailing lists to the top of that list. To get in touch with me directly, you should find additional contact information on the zumbrunn.com site. Chris Zumbrunn < chris@zumbrunn.com > http://zumbrunn.com 22.1.2008, 16:35 |
>>> Additional Filename Conventions |
| > Update to Helma 1.6.1 |
| > Netscape, the browser, to live one more month |
| > SimpleDB vs CouchDB |
| > Helma powered AppJet - Takeoff! |
| > CouchDB for Helma |
| > Bubble bursting friendship bracelets |
| > Evolving ES4 as the universal scripting language |
| > Helmablog and an article in Linux Pro Magazine |
| > More praise for Helma |
| > Javascript as Universal Scripting Language |
| > So, what's up with World Radio Switzerland? |
| > Helma Conspiracy Theory |
| > JSONPath and CouchDB |
| > Hold the whole program in your head, and you can manipulate it at will |
| > Keeping track of localhost:8080 |
| > Rhino 1.6R6 with E4X fix and patches for Helma |
| > Helma 1.6 is ready! |
| > Junction brings Rhino on Rails to Helma |
| > Javascript for Java programmers |
| > The server-side advantage |
| > John Resig on Javascript as a language |
| > Rhino on Rails |
| > Release Candidate 3 of Helma 1.6.0 |
| > ECMAScript 4 Reference Implementation |
| > Antville Summer Of Code 2007 |
| > Helma 1.6.0-rc2 |
| > Using H2 with Helma |
| > Helma warped around existing db schemas |
| > Rocket the Super Rabbit |
| > Bootstrap is out of the bag |
| > The last mention of Microsoft |
| > Helma 1.6.0-rc1 |
| > Introducing Planet Helma |
| > Helma ante portas |
| > Fixing Javascript inheritance |
| > Shutdown-Day the Helma way |
| > Upcoming Helma 1.6, new reference docs and IRC channel |
| > Making Higgs where the Web was born |
| > Jala for Helma |
| > See you at Lift'07 |
| > More on Javascript Inheritance |
| > Mocha Inheritance |
| > 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 |
| > 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 |
| > 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 |
| > Anno 1999: Der Oberhasler |
| > Anno 1998: crossnet |
| > Think different |
| > 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? |
| > Crossnet - der kollektive Intellekt der Schweiz |
| > Global Screen Design Services |
| > Anno 1993: Macro-micro navigator |
| > Anno 1992: Intouch i-station |
| > Anno 1991: mediacube |
| > Anno 1990: RasterOps |
| > Anno 1989: Lambada by Kaoma |
| > Anno 1988: Perfect by Fairground Attraction |
| > Anno 1968: Mony Mony and People Got to Be Free |
| > August 28th 1968: William Buckley Vs Gore Vidal |