<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress.com" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>

<channel>
	<title>node &amp;laquo; WordPress.com Tag Feed</title>
	<link>http://en.wordpress.com/tag/node/</link>
	<description>Feed of posts on WordPress.com tagged "node"</description>
	<pubDate>Wed, 25 Nov 2009 17:13:10 +0000</pubDate>

	<generator>http://en.wordpress.com/tags/</generator>
	<language>en</language>

<item>
<title><![CDATA[Petit Mouton]]></title>
<link>http://mademoisl.wordpress.com/2009/11/18/petit-mouton/</link>
<pubDate>Wed, 18 Nov 2009 00:19:11 +0000</pubDate>
<dc:creator>Eve Kazan</dc:creator>
<guid>http://mademoisl.wordpress.com/2009/11/18/petit-mouton/</guid>
<description><![CDATA[Une drôle de petite boule blanche s&#8217;est baladée ce soir sur Butterdish, elle se faufilait entr]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><h5><a href="http://www.flickr.com/photos/evekazan/4113172934/"><img class="alignnone size-full wp-image-1822" title="Butterdish" src="http://mademoisl.wordpress.com/files/2009/11/butterdishb.jpg" alt="" width="470" height="278" /></a></h5>
<h5 style="text-align:justify;">Une drôle de petite boule blanche s&#8217;est baladée ce soir sur <span style="color:#800000;">Butterdish</span>, elle se faufilait entre les feuilles, entre les vaches, sautait les barrières. Un petit mouton ou peut-être une petite brebis.</h5>
<p><a href="http://www.flickr.com/photos/evekazan/4113173382/"><img class="alignnone size-full wp-image-1824" title="Petit Mouton" src="http://mademoisl.wordpress.com/files/2009/11/petiteb.jpg" alt="" width="470" height="278" /></a></p>
<h5 style="text-align:justify;">Les rares observateurs crurent voir un petit mouton avec un parapluie<span style="color:#800000;"> Node</span>, un chapeau de cowboy<span style="color:#800000;"> Surf Couture</span>, d&#8217;autres disent qu&#8217;il portait un manteau de laine <span style="color:#800000;">Kiitos</span>, une écharpe <span style="color:#800000;">Artilleri</span>.</h5>
<h5 style="text-align:justify;">Et puis le petit mouton a disparu, il est partit en laissant derrière lui quelques graines tombées de son sac <span style="color:#800000;">Plod</span>.</h5>
<p><a href="http://www.flickr.com/photos/evekazan/4112406753/"><img class="alignnone size-full wp-image-1827" title="Petit Mouton" src="http://mademoisl.wordpress.com/files/2009/11/petite-01b.jpg" alt="" width="470" height="279" /></a></p>
<h5>Location : <span style="color:#800000;"><a title="slurl" href="http://slurl.com/secondlife/Chuckles%20Isle/181/92/21">Butterdish</a></span></h5>
<h5><!--more--></h5>
<h5>Avatar : DP*YumYum &#8211; <span style="color:#800000;">Summer Choice 2009</span></h5>
<h5>Hair : Maitreya &#8211; Green &#8211; <span style="color:#800000;">295L$</span><br />
Mouth : Surf Couture &#8211; Chewing Wheat &#8211; <span style="color:#800000;">(with hat)</span></h5>
<h5>Jacket : Kiitos &#8211; Lentotahti &#8211; Long Knit Gown &#8211; <span style="color:#800000;">300L$</span><br />
Scarf : Artilleri &#8211; Taylor scarf stripes &#8211; <span style="color:#800000;">50L$ Friday</span><br />
Salopette : Untone Quilt &#8211; overall &#38; Capris</h5>
<h5>Umbrella : Node &#8211; umbrella &#8211; <span style="color:#800000;">550L$</span></h5>
<h5>Hat : Surf Couture – Straw Cowboy Hat – Dune – <span style="color:#800000;">175L$</span><br />
Bag : Plod &#8211; Leather shoulder bag &#8211; Christmas version</h5>
<h5>Friends : Hpmd &#8211; Little birds &#8211; ice pink &#8211; <span style="color:#800000;">180L$</span><br />
&#38; *M* – Mischief kitten amesho keychain – <span style="color:#800000;">100L$</span></h5>
<h5>Shop SLurls : <a href="http://mademoisl.wordpress.com/slurl/"><span style="color:#800000;">Click</span></a></h5>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Studi Kasus Loading File FXZ]]></title>
<link>http://belajarjavafx.wordpress.com/2009/11/16/studi-kasus-loading-file-fxz/</link>
<pubDate>Mon, 16 Nov 2009 03:37:52 +0000</pubDate>
<dc:creator>belajar-javafx</dc:creator>
<guid>http://belajarjavafx.wordpress.com/2009/11/16/studi-kasus-loading-file-fxz/</guid>
<description><![CDATA[Kasus dibawah ini adalah contoh ketika saya mencoba me-load file .fxz kemudian ingin mengambil atau ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Kasus dibawah ini adalah contoh ketika saya mencoba me-load file .fxz kemudian ingin mengambil atau memunculkan salah satu Node/ImageView dalam paket .fxz/group tersebut dan memanipulasinya. Dibawah ini contoh kodenya:</p>
<blockquote><p>&#8230;&#8230;&#8230;.</p>
<p>var stage:Stage =   Stage {<br />
title: &#8220;HTI Channel Player&#8221;<br />
width: 400<br />
height: 200<br />
style:StageStyle.TRANSPARENT<br />
};<br />
var scene:Scene=Scene{};<!--more--></p>
<p>public function run() {<br />
var fxd = FXDLoader.loadContent(&#8220;{__DIR__}skins/BaseSkin.fxz&#8221;);<br />
var play2=fxd.getNode(&#8220;play&#8221;);<br />
var fxdContent = FXDLoader.loadContent(&#8220;{__DIR__}skins/BaseSkin.fxz&#8221;);</p>
<p>//&#8212;&#8212;&#8212; isi paket dari file .fxz tersebut diinisialisasi pada group<br />
var group=fxdContent.getRoot();<br />
//&#8212;&#8212;&#8212;&#8211; mengambil node/image pertama pada group</p>
<p>var play = group.content[0];</p>
<p>//&#8212;&#8212;&#8212;- kemudian image/node tersebut saya coba masukan kedalam scene.content<br />
insert play into scene.content;<br />
play.translateX = 100;<br />
}</p>
<p>stage.scene=scene;<br />
stage;</p>
<p>}</p>
<p>//&#8212;&#8212;&#8212;&#8212; ketika kode ini dijalankan</p></blockquote>
<p>Akan muncul error seperti ini:</p>
<blockquote><p>WARNING * WARNING * WARNING * WARNING * WARNING<br />
An attempt has been made to add node to a new group without<br />
first removing it from its current group. See the class<br />
documentation for javafx.scene.Node for further information.<br />
This request will be granted temporarily but it will<br />
be refused in the future. Please change your code now.<br />
node=ImageView oldgroup=Group newgroup=Group<br />
Stack trace follows.<br />
java.lang.IllegalArgumentException<br />
at javafx.scene.Group$_SBECL.onChange(Group.fx:162)<br />
at com.sun.javafx.runtime.location.SequenceVariable.notifyListeners(SequenceVariable.java:157)<br />
at com.sun.javafx.runtime.location.SequenceVariable.setAsSequence(SequenceVariable.java:259)<br />
at com.sun.javafx.runtime.location.SequenceVariable.set(SequenceVariable.java:222)<br />
at com.sun.javafx.runtime.location.SequenceVariable.set(SequenceVariable.java:39)<br />
at com.sun.javafx.runtime.location.Bindings$BijectiveBinding$2.onChange(Bindings.java:151)<br />
at com.sun.javafx.runtime.location.AbstractLocation$1.onAction(AbstractLocation.java:219)<br />
at com.sun.javafx.runtime.location.AbstractLocation$1.onAction(AbstractLocation.java:216)<br />
at com.sun.javafx.runtime.location.AbstractLocation.iterateChildren(AbstractLocation.java:181)<br />
at com.sun.javafx.runtime.location.AbstractLocation.invalidateDependencies(AbstractLocation.java:253)<br />
at com.sun.javafx.runtime.location.SequenceVariable.notifyListeners(SequenceVariable.java:150)<br />
at com.sun.javafx.runtime.location.SequenceVariable.replaceSlice(SequenceVariable.java:324)<br />
at com.sun.javafx.runtime.location.SequenceVariable.insert(SequenceVariable.java:442)<br />
at player.Main.javafx$run$(Main.fx:81)<br />
at player.Main.javafx$run$(Main.fx:81)<br />
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br />
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)<br />
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)<br />
at java.lang.reflect.Method.invoke(Unknown Source)<br />
at com.sun.javafx.runtime.provider.GUIRuntimeProvider$1.run(GUIRuntimeProvider.java:65)<br />
at com.sun.javafx.tk.swing.SwingToolkit$StartupRoutine.run(SwingToolkit.fx:593)<br />
at java.awt.event.InvocationEvent.dispatch(Unknown Source)<br />
at java.awt.EventQueue.dispatchEvent(Unknown Source)<br />
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)<br />
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)<br />
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)<br />
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)<br />
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)<br />
at java.awt.EventDispatchThread.run(Unknown Source)</p></blockquote>
<p>Hasilnya tetap muncul image/node yang diinginkan, tapi tetap muncul error diatas. Hal ini karena ternyata saya mencoba menambahkan node yang ada di group A (misalkan) ke dalam group B (misalkan) tanpa menghapus terlebih dahulu node tersebut di group A.</p>
<p>Jadi solusinya (1) tetap sesuaikan dengan dokumentasi pada API JavaFX, yaitu load/masukan keseluruhan isi group tersebut pada scene.content, baru setelah itu ambil node tertentu kemudian manipulasi deh. Atau (2) bisa saja dengan mengikuti peringatan dari compiler tadi yaitu dengan menghapus dari group pertama kemudian tambahkan pada group baru. Tapi tentu berarti node tersebut akan hilag di group pertama. klo mo caba silahkan.</p>
<p>Tapi untuk solusi (1) akhirnya saya coba tambahkan kode berikut:</p>
<blockquote><p>//&#8212;&#8212;&#8211; masukan/load group tersebut kedalam scene.content</p>
<p>insert group into scene.content;</p>
<p>//&#8212;&#8212;&#8211; baru ambil node tertentu</p>
<p>var play = group.content[0];</p>
<p>//&#8212;&#8212;&#8212;- nah sekarang aman untuk bisa di manipulasi<br />
play.translateX = 100;</p></blockquote>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[QTP-XML service functions (6) – CreateChildElementByName]]></title>
<link>http://automationbeyond.wordpress.com/2009/11/14/qtp-xml-service-functions-6/</link>
<pubDate>Sat, 14 Nov 2009 12:34:22 +0000</pubDate>
<dc:creator>Albert Gareev</dc:creator>
<guid>http://automationbeyond.wordpress.com/2009/11/14/qtp-xml-service-functions-6/</guid>
<description><![CDATA[Parent page: Service Functions – XML (QTP, VBScript) Description Uses .AddChildElementByName method ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Parent page: <a title="Permanent Link to Service Functions – XML (QTP, VBScript)" rel="bookmark" href="http://automationbeyond.wordpress.com/2009/10/02/service-functions-xml/" target="_blank"><strong>Service Functions – XML (QTP, VBScript)</strong></a></p>
<p><span style="text-decoration:underline;"><strong>Description</strong></span></p>
<p>Uses .AddChildElementByName method to create a child XML node, then returns reference to the newly created object. If Parent XML node is not defined returns &#8220;Nothing&#8221;.</p>
<blockquote><p>Public Function CreateChildElementByName(ByRef objXMLParent, ByVal sTagName, ByVal sInnerText)<br />
 Dim objColl</p>
<p> If objXMLParent is Nothing Then<br />
  Set CreateChildElementByName = Nothing<br />
  Exit Function<br />
 End If</p>
<p> objXMLParent.AddChildElementByName sTagName, sInnerText</p>
<p> Set objColl = objXMLParent.ChildElementsByPath(“./”&#38;sTagName)<br />
 If objColl.Count &#62;0 Then<br />
  Set CreateChildElementByName = objColl.Item(objColl.Count)<br />
 Else<br />
  Set CreateChildElementByName = Nothing<br />
 End If<br />
 <br />
End Function</p></blockquote>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[On The Move!]]></title>
<link>http://motherspreciousgems.wordpress.com/2009/11/01/on-the-move/</link>
<pubDate>Sat, 31 Oct 2009 15:34:45 +0000</pubDate>
<dc:creator>motherspreciousgems</dc:creator>
<guid>http://motherspreciousgems.wordpress.com/2009/11/01/on-the-move/</guid>
<description><![CDATA[The training has begun! I am walking an average of 3.5 miles a day to prepare for the Avon Walk that]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><img class="alignleft size-full wp-image-1572" title="s110562069208_7991" src="http://motherspreciousgems.wordpress.com/files/2009/11/s110562069208_7991.jpg" alt="s110562069208_7991" width="100" height="85" />The training has begun! I am walking an average of 3.5 miles a day to prepare for the Avon Walk that I will be doing in just 6 months. <img class="alignright size-full wp-image-1566" title="Celebrate" src="http://motherspreciousgems.wordpress.com/files/2009/11/celebrate.png" alt="Celebrate" width="160" height="160" />The fall foliage and cooler days makes this an enjoyable activity and I also frequent the gym for additional weight lifting and endurance work outs.  I held a fund raising event at the breast care center at Walter Reed Army Medical Center last week and raised 8% of my goal by selling my jewelry creations. So far I am at nearly 30% raised so I continue pressing on with those efforts a little bit every day. Thank you to all who have donated so far! My Avon Walk page can be viewed <strong><span style="color:#cd5aca;"><a href="http://info.avonfoundation.org/site/TR/Walk/WashingtonDC?px=5166577&#38;pg=personal&#38;fr_id=1910" target="_blank">HERE</a></span></strong><span style="color:#cd5aca;">.</span></p>
<p>This week my MRI results came back all clear so that was good news! I must admit I held my breath for those 8 days waiting for results.  I am told that this feeling of dread lasts a long time, at least until the ten-year survival point.  Even then, with no cure for breast cancer,  the fear of recurrence looms all the time. The MRSA infection in my arm continues to heal well and is down to a dime-sized scab with some scarring.</p>
<p>In the meantime I celebrate LIFE and help those newly diagnosed whom I meet, which seems to be nearly every week. The numbers of women affected by this disease never ceases to amaze me. Giving them hope and support gives me a reason to continue fighting for a cure.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[هالة حشيش رئيسة لـ القنوات المتخصصة و جمال الشاعر لـ الفضائية]]></title>
<link>http://mwaal.wordpress.com/2009/10/30/%d9%87%d8%a7%d9%84%d8%a9-%d8%ad%d8%b4%d9%8a%d8%b4-%d8%b1%d8%a6%d9%8a%d8%b3%d8%a9-%d9%84%d9%80-%d8%a7%d9%84%d9%82%d9%86%d9%88%d8%a7%d8%aa-%d8%a7%d9%84%d9%85%d8%aa%d8%ae%d8%b5%d8%b5%d8%a9-%d9%88-%d8%ac/</link>
<pubDate>Fri, 30 Oct 2009 07:53:05 +0000</pubDate>
<dc:creator>mwaal</dc:creator>
<guid>http://mwaal.wordpress.com/2009/10/30/%d9%87%d8%a7%d9%84%d8%a9-%d8%ad%d8%b4%d9%8a%d8%b4-%d8%b1%d8%a6%d9%8a%d8%b3%d8%a9-%d9%84%d9%80-%d8%a7%d9%84%d9%82%d9%86%d9%88%d8%a7%d8%aa-%d8%a7%d9%84%d9%85%d8%aa%d8%ae%d8%b5%d8%b5%d8%a9-%d9%88-%d8%ac/</guid>
<description><![CDATA[اسامة الشيخ مشرفا على اتحاد الاذاعة والتليفزيون أصدر أنس الفقى وزير الإعلام قرارا بتولى المهندس أسام]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>اسامة الشيخ مشرفا على اتحاد الاذاعة والتليفزيون</p>
<p>أصدر أنس الفقى وزير الإعلام قرارا بتولى المهندس أسامة الشيخ مهام وظيفة رئيس اتحاد الاذاعة والتلفزيون اعتبارا من 31 أكتوبر /تشرين الثاني الجارى .</p>
<p>كما أصدر الفقى قرارا بتكليف هالة حشيش للقيام بمهام وظيفة رئيس قطاع قنوات النيل المتخصصة ، وتكليف جمال الشاعر بالقيام بمهام وظيفة نائب رئيس قطاع التليفزيون ورئيس القناة الفضائية المصرية .</p>
<p>كما أصدر قرارا بتعيين عمرو محمد عمرو رئيسا للقناة الثقافية بقطاع قنوات النيل المتخصصة ، كما أصدر قرارا بتعيين أمين بسيونى مستشارا لوزير الإعلام .</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Blow]]></title>
<link>http://comcprh.wordpress.com/2009/10/26/blow/</link>
<pubDate>Mon, 26 Oct 2009 14:31:18 +0000</pubDate>
<dc:creator>comcoprh</dc:creator>
<guid>http://comcprh.wordpress.com/2009/10/26/blow/</guid>
<description><![CDATA[Voici un tutoriel pour donner un effet Blow (souffle en français) à un objet simple. Il a pour avant]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><a href="http://comcprh.wordpress.com/files/2009/10/blow-1.jpg"><img class="aligncenter size-full wp-image-239" title="blow-1" src="http://comcprh.wordpress.com/files/2009/10/blow-1.jpg" alt="blow-1" width="496" height="165" /></a></p>
<p>Voici un tutoriel pour donner un effet Blow (souffle en français) à un objet simple. Il a pour avantage d&#8217;etre très simple et rapide à mettre en place. En effet, il est strictement basé sur l&#8217;usage des nodes.</p>
<p>Niveau : intermédiaire.</p>
<ul>
<li>Créez une nouvelle scène et enlevez le cube si il est présent. Ajoutez un mesh de type texte et éditez le comme vous voulez. Cadrez de façon a ce que la caméra soit face au texte.</li>
<li>Maintenant, créez un nouveau matériel pour le texte. Sa couleur sera celle du&#8221;Blow&#8221; que l&#8217;on peut voir sur le rendu final. Mettez le <em>Spec</em> à 0.</li>
<li>Dans les paramètres de Scène (F10) cochez “Do Composite”. Allez ensuite dans l’éditeur de node, cochez “Composite Node” (le dessin avec un visage dessus) puis “Use Node”.</li>
<li>Faites un rendu.</li>
<li>Dans l&#8217;éditeur de nodes, effectuez les réglages suivant :</li>
</ul>
<div id="attachment_240" class="wp-caption aligncenter" style="width: 310px"><a href="http://comcprh.wordpress.com/files/2009/10/reglages_node.jpg"><img class="size-medium wp-image-240" title="reglages_node" src="http://comcprh.wordpress.com/files/2009/10/reglages_node.jpg?w=300" alt="Réglages des nodes" width="300" height="207" /></a><p class="wp-caption-text">Réglages des nodes</p></div>
<p>Et voila, ce tuto ce termine ici. N&#8217;hésitez pas à m&#8217;écrire si vous avez besoin de plus d&#8217;explications !</p>
<p>comCoprh</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Preventing Submit with empty repeating tables]]></title>
<link>http://silversandsassociates.wordpress.com/2009/10/18/preventing-submit-with-empty-repeating-tables/</link>
<pubDate>Sun, 18 Oct 2009 21:29:04 +0000</pubDate>
<dc:creator>Frederik Van Lierde</dc:creator>
<guid>http://silversandsassociates.wordpress.com/2009/10/18/preventing-submit-with-empty-repeating-tables/</guid>
<description><![CDATA[Checking if fields are filled in is straight-forward inInfoPath, but how to check if a repeating nod]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Checking if fields are filled in is straight-forward inInfoPath, but how to check if a repeating node is having at least one record filled in ?</p>
<p><span style="color:#ff0000;"><strong><span style="color:#993300;">The datasource used in this example:</span></strong></span></p>
<p><img title="SumitRepeatingNodes_DataSource" src="http://blueinfopath.wordpress.com/files/2009/10/sumitrepeatingnodes_datasource1.jpg" alt="SumitRepeatingNodes_DataSource" width="500" height="266" /></p>
<p>I used a repeating table, but this solution can be used with any repeating nodes in the datasource</p>
<p><span style="color:#993300;"><strong>Solution:<br />
</strong></span>1. Go to <strong>Tools</strong> -<strong>  Submit Options</strong></p>
<p><strong><img title="SumitRepeatingNodes_Submit" src="http://blueinfopath.wordpress.com/files/2009/10/sumitrepeatingnodes_submit.jpg" alt="SumitRepeatingNodes_Submit" width="400" height="345" /><br />
</strong>2. Select <strong>Perform custom action using Rules<br />
</strong>3. Click on <strong>Rules<br />
</strong>4. Add Rule (No Submit )<br />
    a. Name: Do Not Submit<br />
    b. Set Condition: Select expression and add the following expression:<br />
           count(/my:myFields/my:group1/my:group2[my:field1 != ""]) = 0<br />
    c. Set Action: Messagebox:  Repeating Table must be filled in.<br />
    d. Select <strong>Stop processing rules when this rule is finished</strong></p>
<p><img title="SumitRepeatingNodes_SubmitNoSubmit" src="http://blueinfopath.wordpress.com/files/2009/10/sumitrepeatingnodes_submitnosubmit.jpg" alt="SumitRepeatingNodes_SubmitNoSubmit" width="499" height="101" /></p>
<p>5. Add Rule (Submit )<br />
    a. Name: Do Submit<br />
    b. Set Condition: Select expression and add the following expression:<br />
           count(/my:myFields/my:group1/my:group2[my:field1 != ""]) &#62; 0<br />
    c. Set Action: Submit using a data connection</p>
<p> </p>
<p><strong><span style="color:#993300;">Explanation:<br />
</span></strong>What we do is checking if in the repeating table, the key field is at least 1 filled in.<br />
So we use the Count sPath function, the node in the parameter we add a filter [my:field1 !='']</p>
<p>You can adapt the solution by specifing that all records must be filled in etc or at leats 3 records are filled in etc.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Preventing Submit with empty repeating tables]]></title>
<link>http://blueinfopath.wordpress.com/2009/10/18/preventing-submit-with-empty-repeating-tables/</link>
<pubDate>Sun, 18 Oct 2009 21:25:08 +0000</pubDate>
<dc:creator>Frederik Van Lierde</dc:creator>
<guid>http://blueinfopath.wordpress.com/2009/10/18/preventing-submit-with-empty-repeating-tables/</guid>
<description><![CDATA[Checking if fields are filled in is straight-forward inInfoPath, but how to check if a repeating nod]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Checking if fields are filled in is straight-forward inInfoPath, but how to check if a repeating node is having at least one record filled in ?</p>
<p><span style="color:#ff0000;"><strong><span style="color:#993300;">The datasource used in this example:</span></strong></span></p>
<p><img class="alignnone size-full wp-image-74" title="SumitRepeatingNodes_DataSource" src="http://blueinfopath.wordpress.com/files/2009/10/sumitrepeatingnodes_datasource1.jpg" alt="SumitRepeatingNodes_DataSource" width="500" height="266" /></p>
<p>I used a repeating table, but this solution can be used with any repeating nodes in the datasource</p>
<p><span style="color:#993300;"><strong>Solution:<br />
</strong></span>1. Go to <strong>Tools</strong> -<strong>  Submit Options</strong></p>
<p><strong><img title="SumitRepeatingNodes_Submit" src="http://blueinfopath.wordpress.com/files/2009/10/sumitrepeatingnodes_submit.jpg" alt="SumitRepeatingNodes_Submit" width="400" height="345" /><br />
</strong>2. Select <strong>Perform custom action using Rules<br />
</strong>3. Click on <strong>Rules<br />
</strong>4. Add Rule (No Submit )<br />
    a. Name: Do Not Submit<br />
    b. Set Condition: Select expression and add the following expression:<br />
           count(/my:myFields/my:group1/my:group2[my:field1 != ""]) = 0<br />
    c. Set Action: Messagebox:  Repeating Table must be filled in.<br />
    d. Select <strong>Stop processing rules when this rule is finished</strong></p>
<p><img class="alignnone size-full wp-image-76" title="SumitRepeatingNodes_SubmitNoSubmit" src="http://blueinfopath.wordpress.com/files/2009/10/sumitrepeatingnodes_submitnosubmit.jpg" alt="SumitRepeatingNodes_SubmitNoSubmit" width="499" height="101" /></p>
<p>5. Add Rule (Submit )<br />
    a. Name: Do Submit<br />
    b. Set Condition: Select expression and add the following expression:<br />
           count(/my:myFields/my:group1/my:group2[my:field1 != ""]) &#62; 0<br />
    c. Set Action: Submit using a data connection</p>
<p> </p>
<p><strong><span style="color:#993300;">Explanation:<br />
</span></strong>What we do is checking if in the repeating table, the key field is at least 1 filled in.<br />
So we use the Count sPath function, the node in the parameter we add a filter [my:field1 !='']</p>
<p>You can adapt the solution by specifing that all records must be filled in etc or at leats 3 records are filled in etc.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Parsing XML using jQuery]]></title>
<link>http://newcountdown.wordpress.com/2009/10/13/parsing-xml-using-jquery/</link>
<pubDate>Tue, 13 Oct 2009 18:27:59 +0000</pubDate>
<dc:creator>pmiller624</dc:creator>
<guid>http://newcountdown.wordpress.com/2009/10/13/parsing-xml-using-jquery/</guid>
<description><![CDATA[Parsing XML with jQuery can be quick and easy. First look over the XML and JavaScript codes and try ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Parsing XML with jQuery can be quick and easy. First look over the XML and JavaScript codes and try and understand whats going on. My XML file is a short list of cars inside cars there&#8217;s a manufacturer tag and a car tag. Each manufacturer has three cars in it. I am going to show you how to display the manufacturer and the cars below them.</p>
<p><a href="http://newcountdown.wordpress.com/files/2009/10/screen-shot-2009-10-13-at-2-01-29-pm.png"><img class="alignnone size-medium wp-image-159" title="Screen shot 2009-10-13 at 2.01.29 PM" src="http://newcountdown.wordpress.com/files/2009/10/screen-shot-2009-10-13-at-2-01-29-pm.png?w=300" alt="Screen shot 2009-10-13 at 2.01.29 PM" width="300" height="197" /></a></p>
<p><a href="http://newcountdown.wordpress.com/files/2009/10/screen-shot-2009-10-13-at-2-01-08-pm.png"><img class="alignnone size-medium wp-image-158" title="Screen shot 2009-10-13 at 2.01.08 PM" src="http://newcountdown.wordpress.com/files/2009/10/screen-shot-2009-10-13-at-2-01-08-pm.png?w=300" alt="Screen shot 2009-10-13 at 2.01.08 PM" width="300" height="121" /></a></p>
<p>I assume you understand the XML code if not look up some XML tutorials&#8230; on to the JavaScript.</p>
<p>line 1 is needed to use jQuery<br />
line 2-15 this is our complete code for displaying our information</p>
<ul>
<li>lines 3-5 are loading our external XML file so it can be used with the JavaScript</li>
<li>line 6 start the function that reads the XML if the loading was successful</li>
<li>line 7 is taking the XML file that was pasted in by $(data) and is looking for the node&#8230; &#8220;information&#8221;, it then starts an each loop which will loop through all the information tags</li>
<li>line 8 is telling JavaScript to write to the page the value inside of  &#8220;manufacturer&#8221; then setting a line break using &#60;br/&#62;</li>
<li>line 9 starts another each loop which loops through all the &#8220;car&#8221; tags</li>
<li>line 10 again is telling JavaScript to write to the page the value inside of &#8220;car&#8221; NOTE: the &#8220;&#38;nbsp;&#8221; is telling the HTML to indent so here I have it indent three time</li>
<li>lines 11-14 are just the closing brackets for all that statements</li>
</ul>
<p>Your end result should be something like this, unless you didn&#8217;t choose to do cars.</p>
<p>Lamborghini<br />
&#160;&#160;&#160;Gallardo<br />
&#160;&#160;&#160;Murcielago<br />
&#160;&#160;&#160;Diablo<br />
Lexus<br />
&#160;&#160;&#160;ES 350<br />
&#160;&#160;&#160;IS 350C<br />
&#160;&#160;&#160;RX 350</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Central Node (again)]]></title>
<link>http://spacebaconxna.wordpress.com/2009/10/06/central-node-again/</link>
<pubDate>Tue, 06 Oct 2009 03:06:31 +0000</pubDate>
<dc:creator>alexlester86</dc:creator>
<guid>http://spacebaconxna.wordpress.com/2009/10/06/central-node-again/</guid>
<description><![CDATA[Redid the central node, just to give it a bit of pizzaz. Added a bit more graffiti, and resized the ]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Redid the central node, just to give it a bit of pizzaz. Added a bit more graffiti, and resized the top texture.</p>
<p><a href="http://spacebaconxna.wordpress.com/files/2009/10/01.jpg"><img class="aligncenter size-medium wp-image-262" title="01" src="http://spacebaconxna.wordpress.com/files/2009/10/01.jpg?w=300" alt="01" width="300" height="282" /></a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Central Node]]></title>
<link>http://spacebaconxna.wordpress.com/2009/10/01/central-node/</link>
<pubDate>Thu, 01 Oct 2009 07:00:36 +0000</pubDate>
<dc:creator>alexlester86</dc:creator>
<guid>http://spacebaconxna.wordpress.com/2009/10/01/central-node/</guid>
<description><![CDATA[We&#8217;ve started this one a few times now, because we had trouble imagining something high tech i]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>We&#8217;ve started this one a few times now, because we had trouble imagining something high tech in the middle of the slum area. In the end we went for simple and grungy.</p>
<p>Didn&#8217;t take long to model, but took ages to texture. We&#8217;re thinking the players will start off on top of the node, and hoping that it will have a glow on it.</p>
<p>. <a href="../files/2009/10/node.jpg"><img title="node" src="../files/2009/10/node.jpg?w=300" alt="node" width="300" height="248" /></a></p>
<p><a href="http://spacebaconxna.wordpress.com/files/2009/10/node2.jpg"><img title="node2" src="http://spacebaconxna.wordpress.com/files/2009/10/node2.jpg?w=300" alt="node2" width="300" height="247" /></a></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Transits: Saturn in Libra 2009-2010]]></title>
<link>http://buddymaterna.wordpress.com/2009/09/28/transits-saturn-in-libra-2009-2010/</link>
<pubDate>Mon, 28 Sep 2009 22:03:02 +0000</pubDate>
<dc:creator>buddymaterna</dc:creator>
<guid>http://buddymaterna.wordpress.com/2009/09/28/transits-saturn-in-libra-2009-2010/</guid>
<description><![CDATA[Because Saturn is essentially dignified in Libra, the sign if its exaltation, Saturn is welcome to t]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Because Saturn is essentially dignified in Libra, the sign if its exaltation, Saturn is welcome to this sign and can do only good things for all planets points and houses that are placed in this sign. Planets that are placed in Libra will be given nothing but support from a Saturn in its happiest and even most powerful state. Saturn has in fact got more essential dignities in Libra than he has in his own signs of Aquarius and Capricorn. The idea of an exaltation is that the planet is increasing in strength and power. The idea is that any planet by transit will bestow its good or bad qualities through the house in which it is visiting at the time.</p>
<p> </p>
<p>Because Saturn is in Libra, it is bestowing its best side in this sign and &#8220;on the side of&#8221; all planets which Saturn must conjoin. There is some degree of variance to what you can expect though depending on planet and on  house. Say for example that natal Sun is in Libra, this is the sign of Sun´s fall, with Saturn crossing over Sun, Saturn will be exceedingly strong, and bring out the best qualities which are counter to the essence of the Sun. In other words Saturn brings forth principles of co-operation and dependency, reliance on other people, and alliances, it´s not good for individuality or self-serving goals, however it is excellent for all aspects related to a more social interaction. Saturn in this instance will force Sun into being considerate of others´ needs. The same story can be said of Saturn transiting a Libran Mars, even more so, it goes against Mars´s nature to be co-operative, but on the other hand you might see a situation where planets in their fall are helped by a planet the feels completely at home in this sign.</p>
<p> </p>
<p>The converse now must be said for those with essentially dignified planets in Libra. Venus or Saturn in this sign will definitely benefit from Saturn´s discriminating ray. It is said time and time again that Saturn is a serious planet, and true it is, but it can also be said that Saturn is simply realistic. This transit is important for taking in the big picture, which sounds awfully like Jupiter. While Jupiter makes big promises and big wishes about the big picture (which are hardly ever realised), Saturn on the other hand makes decisions (Capricorn ruler) which it can stick to and which in the long run go on to create the big picture. A transiting Saturn to a Libran Venus is akin to a transiting Jupiter to a Pisces Venus, or Sun to an Aries Mars, or Mars to a Capricorn Saturn. Having a dignified planet conjoined by another dignified planet by transit can only bring forth good things. Some of the possibilities with Saturn in Libra will be about picking the right partners, but being Saturn it is likely that the choice will be well thought out and arranged without emotion, if that´s what is needed. Saturn likes things that last a long time, the idea that marriage is &#8220;for better or for worse&#8221;, the idea that it ought not to be broken, that comes from Saturn´s exaltation in Libra.</p>
<p><strong>Pluto, Uranus, Jupiter, Node</strong></p>
<p>I´ve mentioned in other pieces on this site that Saturn is configured during 2010-2011 with other outer planets. In my opinion, these hard aspects will bring much calamity and changes, but the people that need worry are not early Librans, Libra in the 7th house might be different though. The basic principle that I put forward is that Saturn is the &#8220;strong&#8221; or rather, the strongest planet in this stand-off. Uranus may attack Saturn from Aries with a Jupiter in Triplicity, and Pluto may go all psycho on Saturn from Capricorn, (all in cold calculatation), however, this exalted Saturn is so much stronger than all the planets that confront it, any planet in Libra with reasonable dignity will come out smelling of roses after this transit is over. All alliances will be victorious in the face of adversity. On a personal level it bodes well for planets in Libra which may symbolise marriages, partnerships, artistic or musical work, in fact anything that planets in this sign rule over in the chart.</p>
<p>Late 2009 is the beginning of first Saturn Pluto Square. It is true that Pluto can destroy things, or at least make things appear to be destroyed. Remember the idea of &#8220;from the ashes&#8221;, it´s cliche, but it seems to be the appropriate keynote for Pluto transits. The fact that Pluto is in Capricorn in any case will give Saturn and any planets in early Libra the upper hand. Pluto will be forced to co-operate, something that rarely ever happens.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[drup (unit 5)]]></title>
<link>http://greenleopard.wordpress.com/2009/09/27/drup/</link>
<pubDate>Mon, 28 Sep 2009 03:12:23 +0000</pubDate>
<dc:creator>greenleopard</dc:creator>
<guid>http://greenleopard.wordpress.com/2009/09/27/drup/</guid>
<description><![CDATA[Not having a wonderful time with Drupal. Dug a great hole, leapt into it, with great travail and the]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><img class="alignleft size-medium wp-image-372" title="drops_05" src="http://greenleopard.wordpress.com/files/2009/09/drops_05.gif?w=300" alt="drops_05" width="232" height="175" />Not having a wonderful time with Drupal. Dug a great hole, leapt into it, with great travail and the aid of some last-semester techno-friends, climbed back out. I have a way with problems beyond my current ability to solve, and Drupal offered a number of open doors straight to them. At one point I declared &#8220;I&#8217;M A PROGRAMMER NOT A WEB DESIGNER&#8221; and on some simpleheaded level this may be true but what I meant was, stop making my crazy with both the websense and the programmersense. I found that Drupal required both sensibilities which is, I believe, why I went briefly to crazy world. Trying to figure out if the problem at hand, say, needing to create the node for an image before attaching it to my mosaic node, was superficial or complex took a lot of system resources. Or which content was spoken of as external-linkable. Or how the entirety of views_slideshow works. The good news is that I sure have the hang of downloading, unpacking, and installing the modules. I figure any Linux experience is good Linux experience. And I&#8217;m grateful for the problems, only because they seem fixed now, and before that because I had to rifle around for tools to help me out. Though I was warned it wouldn&#8217;t help, I found phpMyAdmin my best friend sorting out users relative to roles, and ESPECIALLY in locating, by lost-user-ID-number, some dead and orphaned content that was haunting my site.</p>
<p>However. I loved being introduced to Drupal and would love to play more, with guidance. I think it&#8217;s an entirely appropriate setting for my collection on mosaics and is value-added relative to any and all websites I have attempted in the past. It could actually encourage me to build the site, to seek content, to enhance content, to organize content, in a way that Dreamweaver does not. It is collection-aware, and it&#8217;s the first software I&#8217;ve experienced of its kind. I&#8217;d like to find out what Drupal regulars feel is the &#8220;average&#8221; learning curve, or whether Drupal &#8220;drop-ins&#8221;, infrequent users or one-time-project users, can quantify <em>their</em> learning curve.</p>
<p>Difficult and praiseworthy both is Drupal, but not <em>huge</em> degrees of difference from this setting, WordPress. I still have learning to do here, could potentially mount at least an exhib of mosaics here, with some web content, some text&#8230;</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[New Scientist: How to Short Circuit the U.S. Power Grid]]></title>
<link>http://malignpower.wordpress.com/2009/09/23/new-scientist-how-to-short-circuit-the-u-s-power-grid/</link>
<pubDate>Wed, 23 Sep 2009 02:58:17 +0000</pubDate>
<dc:creator>greengoddesslove</dc:creator>
<guid>http://malignpower.wordpress.com/2009/09/23/new-scientist-how-to-short-circuit-the-u-s-power-grid/</guid>
<description><![CDATA[How to short circuit the grid. PREDICTING how rumours and epidemics percolate through populations, o]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><a title="how to short circuit the grid" href="http://www.newscientist.com/article/mg20327255.900-how-to-shortcircuit-the-us-power-grid.html" target="_blank">How to short circuit the grid.</a></p>
<p>PREDICTING how rumours and epidemics percolate through populations, or how traffic jams spread through city streets, are network analyst Jian-Wei Wang&#8217;s bread and butter. But his latest findings are likely to spark worries in the US: he&#8217;s worked out how attackers could cause a cascade of network failures in the US&#8217;s west-coast electricity grid &#8211; cutting power to economic powerhouses Silicon Valley and Hollywood.</p>
<p>snip</p>
<p>Their aim was to examine the potential for cascade failures, where a major power outage in a subnetwork results in power being dumped into an adjacent subnetwork, causing a chain reaction of failures. Where, they wondered, were the weak spots? Common sense suggests they should be the most highly loaded networks, since pulling them offline would dump more energy into smaller networks.</p>
<p>To find out if this is indeed the case, the team analysed both the power loading and the number of connections of each grid subnetwork to establish the order in which they would trip out in the event of a major failure. To their surprise, under particular loading conditions, taking out a lightly loaded subnetwork first caused more of the grid to trip out than starting with a highly loaded one.</p>
<p>&#8220;An attack on the nodes with the lowest loads can be a more effective way to destroy the electrical power grid of the western US due to cascading failures,&#8221; Wang says. To minimise the risk, he says, the grid&#8217;s operators should defend the west coast sections by adjusting their power capacity to ensure these specific conditions do not arise.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Nouvelles images]]></title>
<link>http://comcprh.wordpress.com/2009/09/20/nouvelles-images-2/</link>
<pubDate>Sun, 20 Sep 2009 16:30:25 +0000</pubDate>
<dc:creator>comcoprh</dc:creator>
<guid>http://comcprh.wordpress.com/2009/09/20/nouvelles-images-2/</guid>
<description><![CDATA[J&#8217;ai ajouté 2 images sur le thème des nuages à ma galerie (ici). La première est composée d]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>J&#8217;ai ajouté 2 images sur le thème des nuages à ma galerie (<a href="http://www.hiboox.fr/go/albums/html/creations,706428f86b60fe93a2098b4d143ef053">ici</a>).</p>

<p>La première est composée d&#8217;un unique nuage que j&#8217;ai essayé de rendre le plus réaliste possible. Je me suis aidé d&#8217;un tutoriel vidéo que j&#8217;ai trouvé sur le web. Je suis assez content du résultat. Et je sens que je vais devoir publier un article sur ce fameux tuto, mais pas tout de suite.</p>
<p>Autre style, autre genre pour la seconde image. Je me suis à peine inspiré de La-Haut <img src='http://s.wordpress.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  Elle n&#8217;est pas parfaite (entre autre les moches nuages gris du bas) mais je l&#8217;aime quand même et je suis content d&#8217;avoir rendu le soleil comme je voulais ! Malgré sa simplicité apparente, j&#8217;ai tout de même du utiliser les <em>nodes</em> et le<em> rendu par passe</em> pour appliquer l&#8217;effet <em>Edg</em>e comme il fallait.</p>
<p>comCoprh</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Rigging ( 01 )]]></title>
<link>http://soarteam.wordpress.com/2009/09/18/12/</link>
<pubDate>Fri, 18 Sep 2009 18:52:20 +0000</pubDate>
<dc:creator>soar</dc:creator>
<guid>http://soarteam.wordpress.com/2009/09/18/12/</guid>
<description><![CDATA[INTRODUCTION TO RIGGING Rigging : Rigging is also known as Character setup i.e., setting up a charac]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p style="text-align:center;"><strong>INTRODUCTION TO RIGGING</strong></p>
<p style="text-align:left;"><strong>Rigging</strong> : Rigging is also known as Character setup i.e., setting up a character for Animation.The Formal definition is &#8220;Builiding up a skeleton for a character and binding ( attaching ) its mesh to a skeleton&#8221;.In general, Rigging is the process of making an animatable character ( turning a static object into an object which can move ).</p>
<p style="text-align:left;">Before rigging any character, A Rigging Artist has to observe, analyze the character movements.  And he has to take notes on Animation Requirements ( like how the character will act &#38; its desired movements e.t.c., ) as well as Rigging requirements ( like user friendly controls, GUI,  global scaling, e.t.c., ) for each and every character. All these requirements are like set of rules to be followed to get the desired functionality and behavior.</p>
<p style="text-align:left;"><strong>Basic Steps involved in Rigging</strong> :</p>
<ul>
<li style="text-align:left;">Setting up a skeleton structure for a character through Maya Joints and Bones.</li>
<li>Binding its model ( geometry, mesh )  to a skeleton, Now on the smooth binded model is called as &#8221; Skins &#8220;.</li>
<li>Editing the Paint Weights on the Character to get the desired smooth deformations on skins, We can do skinning at any time through out the Rigging Process ( Rigging Pipeline ).</li>
<li>Giving IK handles and Controls to a Skeleton, and setting up deformers and constraints as needed.</li>
</ul>
<p>Before explaining all these steps in detail, We have to know some of the basic terms and its definitions.</p>
<p><strong>Joints</strong> : A joint in Maya is a primary entity that is used to create any skeleton structure. Maya joints are  similar to real joints in living beings. In technical terms, A Maya Joint is a Transform Node that has no Shape node, So, it is a pivot point and cannot be renderable.</p>
<p><img class="size-full wp-image-49  aligncenter" title="Joints001" src="http://soarteam.wordpress.com/files/2009/09/joints0011.jpg" alt="Joints001" width="405" height="201" /></p>
<p style="text-align:left;"><strong>Bones</strong> : Maya Bones are the visual cues that illustrate relationship between joints. Bones have no value in Maya, they are just for identification purpose only. By viewing the bones we can know the direction in which joints and bones are aligned in a scene. In technical terms a bone is not a node, it doesn&#8217;t exists.</p>
<p style="text-align:left;"><img class="aligncenter size-full wp-image-51" title="hi" src="http://soarteam.wordpress.com/files/2009/09/hi.jpg" alt="hi" width="480" height="140" />The  above  image shows the direction of bones, so that we can identify which is a root joint and a leaf joint.</p>
<p style="text-align:left;"><strong> Joint Chain ( Hierarchy )</strong> : Any group of joints and their bones connected in series. See the above diagram for illustration.</p>
<p style="text-align:left;"><strong>Skeleton Hierarchy</strong> : A series of joints and Joint chains with hierarchical relationships. The joints that are formed in a hierarchy while building up a skeleton system.</p>
<p style="text-align:left;"><img class="aligncenter size-full wp-image-54" title="skeleton" src="http://soarteam.wordpress.com/files/2009/09/skeleton.jpg" alt="skeleton" width="473" height="543" />The above is an example for a skeleton Hierarchy.</p>
<p style="text-align:left;">
<p style="text-align:left;">
<p style="text-align:left;">
<p style="text-align:left;"><strong> </strong></p>
<p style="text-align:left;"><strong> </strong></p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Rode Kruis: Slechts 2% Nederlanders bekwaam in eerstehulpverlening]]></title>
<link>http://schaduw.wordpress.com/2009/09/16/rode-kruis-slechts-2-nederlanders-bekwaam-in-eerstehulpverlening/</link>
<pubDate>Wed, 16 Sep 2009 09:00:08 +0000</pubDate>
<dc:creator>Erik</dc:creator>
<guid>http://schaduw.wordpress.com/2009/09/16/rode-kruis-slechts-2-nederlanders-bekwaam-in-eerstehulpverlening/</guid>
<description><![CDATA[Uit onderzoek van het Nederlandse Rode Kruis is gebleken dat slechts 2% van de Nederlanders in staat]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Uit <a href="http://www.rodekruis.nl/Content/Over_ons/Voor_de_pers/Persberichten/September_2009/Rode_Kruis_Nederland_vertrouwt_te_veel_op_professionele_hulpverleningsdiensten">onderzoek van het Nederlandse Rode Kruis </a>is gebleken dat slechts 2% van de Nederlanders in staat is eerstehulp te verlenen bij een ongeluk of ramp. Dit in tegenstelling tot Noorwegen waar 95% van de bevolking hiertoe in staat is. Voor al diegenen die willen roepen dat Noorwegen maar 4 miljoen inwoners heeft: 80% van de 90 miljoen Duitsers en 10 miljoen Oostenrijkers is er ook toe in staat! Het Nederlandse Rode Kruis citeert uit <a href="http://www.rodekruis.nl/dsresource?objectid=14391&#38;type=pdf">het First Aid for a Safer Future rapport</a> van de Internationale Federatie van Rode Kruis en Rode Halve Maan verenigingen.</p>
<p>Naar aanleiding van deze constatering doet het Rode Kruis de volgende aanbevelingen:</p>
<p style="padding-left:30px;"><em>Het rapport doet diverse aanbevelingen die vertaald kunnen worden naar de Nederlandse situatie. Zo zou Eerste Hulp onderwijs laagdrempelig en beschikbaar moet worden voor iedereen die meer wil weten over Eerste Hulp. Het Nederlandse Rode Kruis pleit hierbij niet direct voor verplichtstelling, maar wil alle mogelijkheden om de Eerste Hulp kennis in Nederland te vergroten met betrokken partijen en overheid aftasten. Daarnaast zou Eerste Hulp in verschillende levensfases moeten worden aangeboden; op school, als onderdeel van het rijbewijs en op de werkplek. Ook dienen er specifieke afspraken te worden gemaakt om iedereen, die een ander in een noodsituatie helpt, te beschermen tegen aansprakelijkheidsstelling.</em></p>
<p>Dit lijkt mij een goede zaak, sinds ik in 2007 mijn EHBO diploma gehaald heb verbaas ik me dat ik dit nooit eerder gedaan heb. Niet dat je het dagelijks nodig hebt, in tegendeel ik gebruik het bijna nooit, behalve tijdens een inzet voor het Rode Kruis. Of tijdens de 4-daagse van Nijmegen toen een wandelaar onderuit ging, stond ik klaar, gelukkig nog wat omstanders en viel het allemaal mee, maar goed er waren al tientallen wandelaars bijkans over hem heen gewalst.</p>
<p>Toen ik gevraagd werd om mee te helpen EHBO examens te beoordelen op middelbare scholen was ik meteen enthousiast. Toen ik die 11 en 12 jarige basisschoolieren bezig zag baalde ik dat op mijn oude school dit nooit gegeven wordt. Nou heeft dit met gebrek aan docenten capaciteit te maken weet ik. Het Rode Kruis Apeldoorn biedt ook maar enkele scholen deze opleiding aan, gewoon omdat er te weinig vrijwilligers zijn die EHBO les willen geven.</p>
<p>Maar stel dat dit nou op de een of andere wijze door de scholen of overheden gefaciliteerd wordt? Dan zou er toch wel iets mogelijk moeten zijn?</p>
<p>Sinds Koninginnedag in Apeldoorn weet ik hoe belangrijk het is dat er mensen helpen. En met enige kennis van eerstehulp voel je je wellicht minder machteloos naar mijn idee als je getuige bent van een ongeluk.  Sommige bekenden van me hebben geen EHBO maar zeggen dan dat hun partner er wel bekwaam in is. Ik vraag dan altijd retorisch terug: wie helpt hem/haar als hem of haar iets overkomt? Sja, dan staan ze tijdens dat gesprek met hun B** vol tanden, echter als het echt zo zou zijn zouden ze machteloos staan te balen?</p>
<p>Let wel, eerstehulpverlening is geen wondermiddel. Je kan geen mensenlevens redden, mensen staan niet wonderbaarlijk op na een heftig ongeluk, gered dankzij jouw deskundige handelingen. Dat is een illusie. Waarschijnlijker is het frustrerend om te ervaren dat mensen het ondanks jouw pogingen niet redden. Maar het gaat niet om wat je niet red, want zonder ingrijpen zouden vele slachtoffers er zeker niet meer zijn. Het gaat er om wat je wel deed, en daar is enige kennis voor nodig. Een eerstehulpverlener is volgens de wet een leek, maar wel leek met iets meer kennis dan alle andere leken. In het land der blinden!</p>
<p style="text-align:center;"><a href="http://www.rodekruis.nl/"><img title="het Nederlandse Rode Kruis" src="http://www.rodekruis.nl/images/logo_nrk.gif" alt="" width="322" height="35" /></a></p>
<p>Uiteraard pleit ik voor eigen parochie, want waar moet men een cursus gaan volgen? Bij <a href="http://www.rodekruis.nl/">het Nederlandse Rode Kruis </a>natuurlijk zou ik zeggen. Maar dat is niet waar! Er zijn ook nog vele <a href="http://www.ehbo.nl/">Oranje Kruis EHBO verenigen</a> of <a href="http://www.koninklijke-ehbo.nl/">Koninklijke Nederlandse Verenigingen EHBO</a> waar cursussen gevolgd kunnen worden. Ik pleit er namelijk voor dat er meer dan 2% van de Nederlanders in staat is om eerstehulp te verlenen bij ongelukken, een belangrijke zaak zo lijkt me, sla de krant er maar op open.</p>
<p>Naar het nu steeds duidelijker wordt ga ik in oktober beginnen aan de <a href="http://www.nod-ehbo.org/">opleiding voor kaderinstructeur EHBO bij het NODE</a> (Nederlandse Organisatie Docenten EHBO), waartoe ik hoop toe gelaten te worden (er is een toelatingstest) en welke dan hopelijk in mei 2010 succesvol wordt afgerond. Dan kan ik vanaf volgend seizoen mijn bijdrage leveren aan het opleiden van nieuwe enthousiaste EHBO-ers</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Image of the City]]></title>
<link>http://decorestudio.wordpress.com/2009/09/10/image-of-the-city/</link>
<pubDate>Thu, 10 Sep 2009 07:48:55 +0000</pubDate>
<dc:creator>decorestudio</dc:creator>
<guid>http://decorestudio.wordpress.com/2009/09/10/image-of-the-city/</guid>
<description><![CDATA[In his 1960 book Image of the City, Kevin Lynch discussed the legibililty of the city, or the ease w]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>In his 1960 book <em>Image of the City</em>, Kevin Lynch discussed the<strong> legibililty</strong> of the city, or the ease with which people understand the layout or organization of a place. While his work referred to an urban scale, like we have learned in the Eames&#8217; film Powers of Ten, you can zoom in  or zoom out and see related issues. Think design fractals; change scale, but the same issues remain.</p>
<p>Lynch defined  a method of analyzing legibility based on five elements: <strong>Landmarks, Node, District, Edge, and Path</strong>.</p>
<p><strong>Landmarks</strong> are pretty straightforward; they are points of reference. <em>&#8220;Another point of point-reference, but in this case the observer does not enter within them, they are external. They are usually a rather simply defined physical object: building, sign, store, or mountain.&#8221; </em>These landmarks can vary in size and scale, like a mountain or a tree. But they are important in urban form because they help people orient themselves in their environment and identify where they are. Camelback Mountain is a pretty significant landmark in metro Phoenix, don&#8217;t you think?</p>
<p><strong>Nodes</strong> are centers that create a hub or center of activity. They <em>&#8220;are points, the strategic spots in a city into which an observer can enter, and which are intensive foci to and from which he is traveling. They may be primary junctions,  places of a break in transportation, a crossing or convergence of paths, moments of shift from one structure to another. Or the nodes may be simply concentrations, which gain their importance from being the condensation of some use or physical character, as a street-corner hangout or an enclosed square.&#8221;</em> It might even be considered to be a landmark that is noted by the negative space, rather than the positive physical object. Think Central Park, on the scale of the city (though of course, zoom in, and Central Park is its own urban environment, with many of the legibility elements).</p>
<p><strong>Districts</strong> are areas of homogeneity, areas with similar characteristics, which could be of use, form, color, etc.  They<em> &#8220;are medium to large sections of the city, conceived of as having two-dimensional extent, which the observer mentally enters &#8216;inside of,&#8217; and which are recognizeable as having some common identifying character.&#8221;</em> This one is easy to imagine &#8211; think of a city&#8217;s industrial district vs. a residential neighborhood.</p>
<p><strong>Edges</strong> represent dividing lines between districts, the termination of the homogeneity. Some districts have no egdes, and blend in with the next, while others meet other distinct districts, forming seams in the urban environment. These edges <em>&#8220;are the linear elements not used or considered as paths by the observer. They are boundaries between two phases, linear breaks in continuity: shores, railroad cuts, edges of development, walls&#8230;&#8221;</em> Obviously, coastlines create distinct edges, as do mountains, rivers, etc.</p>
<p><strong>Paths</strong> are familiar routes to follow, the major and minor routes of circulation. An urban environment has a heirarchy of paths, from freeways, through arterial roadways, collectors, local, laneways, pedestrian paths, etc. They <em>&#8220;are the channels alon which the observer customarily, occasionally, or potentially moves. They may be streets, wlakways, transit lines, canals, railroads&#8230;&#8221;</em> Pierre Charles L&#8217;Enfant&#8217;s urban plan of Washinton connected monuments with very distinct paths.</p>
<p>I think Lynch&#8217;s characterization of how we think of a city works on so many levels, on so many scales. In your project, you may not have all of these, but you may be influenced by these ideas in the organization of your store. Is the focal point of your design the landmark? How is merchandise grouped, in what kind of districts? What is the impression one gets while crossing the threshold of the store, over the edge of the design?</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Javascript DOM Scripting]]></title>
<link>http://developerspage.wordpress.com/2009/09/03/javascript-dom-scripting/</link>
<pubDate>Thu, 03 Sep 2009 10:27:56 +0000</pubDate>
<dc:creator>developerspage</dc:creator>
<guid>http://developerspage.wordpress.com/2009/09/03/javascript-dom-scripting/</guid>
<description><![CDATA[Javascript is a scripting language and gives powerful client-end script to improve the user interfac]]></description>
<content:encoded><![CDATA[Javascript is a scripting language and gives powerful client-end script to improve the user interfac]]></content:encoded>
</item>
<item>
<title><![CDATA[40 éves az Internet]]></title>
<link>http://fahej.wordpress.com/2009/09/02/40-eves-az-internet/</link>
<pubDate>Wed, 02 Sep 2009 16:01:54 +0000</pubDate>
<dc:creator>fahéj</dc:creator>
<guid>http://fahej.wordpress.com/2009/09/02/40-eves-az-internet/</guid>
<description><![CDATA[&#8220;September 2, 1969: Forty years ago today, in Leonard Kleinrock&#8217;s UCLA lab, a group of c]]></description>
<content:encoded><![CDATA[&#8220;September 2, 1969: Forty years ago today, in Leonard Kleinrock&#8217;s UCLA lab, a group of c]]></content:encoded>
</item>
<item>
<title><![CDATA[ECJ: A Second Tutorial]]></title>
<link>http://cvalcarcel.wordpress.com/2009/09/01/ecj-a-second-tutorial/</link>
<pubDate>Tue, 01 Sep 2009 19:55:14 +0000</pubDate>
<dc:creator>cvalcarcel</dc:creator>
<guid>http://cvalcarcel.wordpress.com/2009/09/01/ecj-a-second-tutorial/</guid>
<description><![CDATA[This is the fifth of my postings on introductory examples in genetic algorithms and genetic programm]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>This is the fifth of my postings on introductory examples in genetic algorithms and genetic programming. If you have been following these posts you already know that I do not go into what is GA or GP or how you would go about implementing your own GA/GP systems. If you want an introduction please read <a href="http://proquestcombo.safaribooksonline.com/9780596529321/evolving_intelligence">Chapter 11, Evolving Intelligence</a>, from <a href="http://www.amazon.com/gp/product/0596529325?ie=UTF8&#38;tag=ladybuguniver-20&#38;linkCode=as2&#38;camp=1789&#38;creative=9325&#38;creativeASIN=0596529325">Toby Segaran&#8217;s Programming Collective Intelligence</a><img src="http://www.assoc-amazon.com/e/ir?t=ladybuguniver-20&#38;l=as2&#38;o=1&#38;a=0596529325" width="1" height="1" border="0" alt="" style="border:none!important;margin:0!important;" />. It is a great introduction to GA/GP and I highly recommend it.</p>
<p>Time to look at the <a href="http://cs.gmu.edu/~eclab/projects/ecj/">ECJ</a> version of the GP example. Let me warn you: there are a lot of steps I will be skipping; look at the code I modified and at the code from the ECJ code drop. This framework isn&#8217;t as straightforward as <a href="http://jgap.sourceforge.net/">JGAP</a> or <a href="https://watchmaker.dev.java.net/">Watchmaker</a>, but I am coming to believe it is the more powerful of the three.</p>
<h2>Simple Math Test &#8211; A Genetic Program</h2>
<p>Input: a series of number pairs</p>
<p>Output: the formula the transforms the pair of numbers to a desired output value.</p>
<p>As it turns out ECJ <a href="http://cs.gmu.edu/~eclab/projects/ecj/docs/tutorials/tutorial4/index.html">Tutorial 4</a> is an example of the above. In a testament to the use of highly accurate names the example is called <code>MultiValuedRegression</code>. Toby Segaran calls his multi-valued regression example Simple Math Test.</p>
<p>(Hmm. Which example would you rather try? I am pretty certain that those of us (well, me) who fit in the novice category of <a href="http://en.wikipedia.org/wiki/Dreyfus_model_of_skill_acquisition">the Dreyfus model of skill acquisition</a> would prefer the simpler name&#8230;unless you are into math in which case you are already insulted that we would grow code to figure out the solution instead of figuring it out ourselves. But I digress.)</p>
<p>I thought this post was going to be a short one. ECJ is both simple enough and complex enough that I will refer you to the full code from the ECJ download to view all the pieces involved in running this example and to the tutorial documentation to understand how this example works. However, looking at the fitness function and at the custom class I had to write will help in understanding how the ECJ pieces fit.</p>
<p>The following gratuitous diagram is from the ECJ documentation.</p>
<p style="text-align:center;"><img src="http://cs.gmu.edu/~eclab/projects/ecj/docs/tutorials/tutorial4/GPGraph.png" alt="" /></p>
<p>High-level Diagram of the ECJ GP Framework from the ECJ Tutorial 4 Documention</p>
<p>While I would have preferred a UML diagram, this will do. It is all about aggregation relationships anyway:</p>
<ul>
<li>Individuals have a Species</li>
<li>Individuals contain a GPTree (solution tree)</li>
<li>A GPTree has GPTreeConstraints</li>
<li>A GPTree has Nodes which have NodeConstraints</li>
<li>Nodes may have child nodes. The child nodes in turn have NodeConstraints</li>
<li>NodeConstraints contain the child type and the Node return type</li>
</ul>
<p>Here is my gratuitous UML diagram.</p>
<div id="attachment_300" class="wp-caption aligncenter" style="width: 610px"><img class="size-full wp-image-300" title="tutorial4-uml" src="http://cvalcarcel.wordpress.com/files/2009/09/tutorial4-uml.jpg" alt="ECJ GP UML Diagram" width="600" height="397" /><p class="wp-caption-text">ECJ GP UML Diagram</p></div>
<p>I admit it is not as explicit as ECJ&#8217;s diagram and it doesn&#8217;t use color (I&#8217;m not good with color. Except for purple. And maybe salmon. And bone. Or is it eggshell?).</p>
<p>The original ECJ <code>MultiValuedRegression</code> example does not use constants. The fitness function used the formula x^2 * y + x*y + y, but if you recall the Toby Segaran formula was x^2 + 2y + 3x + 5. What&#8217;s different? The use of actual numbers: 2, 3 and 5, to be exact.</p>
<p>In order to create the parse tree of code to be executed we have to use operators for addition and multiplication, variable wrappers for x and y, and numeric wrappers for integers (in the ECJ example, the subtraction operator is also used so I left it for old-times sake). In a situation where the formula to be evolved is quite unknown you may find yourself throwing in trig functions, power notation, the division operator and any other functions you think will help your population evolve in the proper direction.</p>
<p>I created a new <a href="http://www.eclipse.org">Eclipse</a> project and called it <code>SimpleMathTest</code>. I added the ECJ installation to the project&#8217;s classpath and in addition I copied the following into the <code>src</code> folder from the ECJ code drop:</p>
<ul>
<li>ec.app.tutorial4.*.java. Rename the package to <code>hiddenclause.ec.app.tutorial4</code> or whatever you like, but any place in the instructions below where I reference the package name you need to substitute the proper name.</li>
<li>ec.params</li>
<li>simple.params</li>
<li>koza.params</li>
<li>tutorial4.params</li>
</ul>
<p>The various param files refer to each other. In order to make them visible to each other I had to change the paths declared using the parent.0 property.</p>
<p>Within <code>tutorial4.params</code> I changed the value of parent.0 to:</p>
<pre class="brush: bash;">parent.0 = koza.params</pre>
<p>Within <code>koza.params</code> I changed the value of parent.0 to:</p>
<pre class="brush: bash;">parent.0 = simple.params</pre>
<p>Within <code>simple.params</code> I changed the value of parent.0 to:</p>
<pre class="brush: bash;">parent.0 = ec.params</pre>
<p>In order to run the example within Eclipse create a run configuration for the project. The <strong>Run Configuration</strong> tabs for <code>SimpleMathTest</code> should be set as:</p>
<ul>
<li>Main
<ul>
<li>Project: <code>SimpleMathTest</code></li>
<li>Main class: <code>ec.Evolve</code></li>
</ul>
</li>
<li>Arguments
<ul>
<li>Program Arguments: <code>-file tutorial4.params -p gp.tree.c=true</code></li>
<li>Working Directory: <code>${workspace_loc:SimpleMathTest/src/hiddenclause/ec/app/tutorial4}</code></li>
</ul>
</li>
</ul>
<p>No other tabs needed to be changed.</p>
<h2>The Fitness Code</h2>
<p>I changed the fitness code from:</p>
<p><code>MultiValuedRegression.java</code></p>
<pre class="brush: java;">...
    expectedResult = currentX * currentX * currentY
                   + currentX * currentY
                   + currentY;
...
</pre>
<p>to this:</p>
<pre class="brush: java;">...
    expectedResult = currentX * currentX
                   + 2 * currentY
                   + 3 * currentX
                   + 5;
...</pre>
<p>The <code>MultiValuedRegression</code> class has a small local API, but a rather large one if you look at its inheritance tree. The three methods I care about within <code>MultiValuedRegression</code> are:</p>
<ul>
<li><code>setup()</code> &#8211; this is where the object gets information from the properties database. It is only called once.</li>
<li><code>clone()</code> &#8211; creates a deep copy of the <code>MultiValuedRegression</code> object.</li>
<li><code>evaluate()</code> &#8211; the fitness function. Well, technically not the fitness function as the <code>KozaFitness</code> object looks at the fitness score generated by evaluate() and picks who goes into the next generation.</li>
</ul>
<p>Running the modified example code in ECJ did not find the formula. From a testing perspective the failure was to be expected. Now I could implement a class to handle constants and update the configuration file.</p>
<h2>The Custom Data Classes</h2>
<p>I implemented two classes using ECJ naming conventions: <code>Int</code> and <code>IntData</code>. Int is a wrapper for an integer value; it has to inherit from the ERC (Ephemeral Random Constants) class which holds a constant value. <code>IntData</code> is a wrapper for the result of the calculation and is checked in the fitness function; its value changes with each individual checked. <code>Int</code> is created and populated in the <code>GPTree</code> as it tries and reverse engineer the formula; <code>IntData</code> is passed in to each Individual as a place to store the result of the code execution (in this case a calculation).</p>
<p>The <code>Int</code> class has 6 local methods. They are all quite shallow so take a look at the code for a peek into what they do (the code is located below). The method I care about is <code>eval()</code>: it takes an incoming <code>GPData</code> object, downcasts it to an object of type <code>IntData</code>, and stores the Int object&#8217;s value in it.</p>
<pre class="brush: java;">    @Override
    public void eval(final EvolutionState state, final int thread,
                     final GPData input,
                     final ADFStack stack,
                     final GPIndividual individual,
                     final Problem problem) {
        IntData rd = ((IntData) (input));
        rd.x = _val;
    }</pre>
<p>The IntData class has one local method named <code>copyTo()</code>. All it does is take its current value and assign it to an incoming <code>GPData</code> object.</p>
<pre class="brush: java;">public class IntData extends GPData {
    public int x; // return value

    @Override
    public GPData copyTo(final GPData gpd)
    {
        ((IntData) gpd).x = x;
        return gpd;
    }
}</pre>
<h2>The Configuration File</h2>
<p>The changes in here were pretty easy: Add the new wrapper as a function, add the result wrapper, and declare the use of the fitness function.</p>
<p>The new wrapper is defined in tutorial4.param as:</p>
<pre class="brush: bash;">...
gp.fs.0.size = 6
...
gp.fs.0.func.2 = hiddenclause.ec.app.tutorial4.Int
gp.fs.0.func.2.nc = nc0
...</pre>
<p>The fitness function is declared as:</p>
<pre class="brush: bash;">eval.problem = hiddenclause.ec.app.tutorial4.MultiValuedRegression</pre>
<p>The result wrapper is declared twice: once for external use (the value checked within MultiValuedRegression) and once for internal use.</p>
<pre class="brush: java;">eval.problem.data = hiddenclause.ec.app.tutorial4.IntData
eval.problem.stack.context.data = hiddenclause.ec.app.tutorial4.IntData</pre>
<h2>The Output</h2>
<p>Once all that was done, I was able to run the example and see if I could evolve the result I was looking for. The out.stat file had this to say:</p>
<pre class="brush: bash;">...
Final Statistics
================
Total Individuals Evaluated: 7168

Best Individual of Run:
Evaluated: true
Fitness: Raw=0.0 Adjusted=1.0 Hits=10
Tree 0:
((x - (3 - x)) + (y + y)) + ((8 + x) + (x * x))</pre>
<p>The above simplifies to:</p>
<pre class="brush: java;">
x - 3 + x + y + y + 8 + x + x * x

2x - 3 + 2y + 8 + x + x^2

3x + 5 + 2y + x^2

x^2 + 2y + 3x + 5</pre>
<p>The cat was alive.</p>
<h2>The Code</h2>
<p><code>tutorial4.params</code></p>
<pre class="brush: bash;"># Copyright 2006 by Sean Luke and George Mason University
# Licensed under the Academic Free License version 3.0
# See the file &#34;LICENSE&#34; for more information

# Modified by Carlos Valcarcel for use as an example on the Hidden Clause blog.

parent.0 = koza.params

# We have one function set, of class GPFunctionSet
gp.fs.size = 1
gp.fs.0 = ec.gp.GPFunctionSet
# We'll call the function set &#34;f0&#34;.  It uses the default GPFuncInfo class
#gp.fs.0.name = f0
#gp.fs.0.info = ec.gp.GPFuncInfo

# The function set.
gp.fs.0.size = 6
gp.fs.0.func.0 = hiddenclause.ec.app.tutorial4.X
gp.fs.0.func.0.nc = nc0
gp.fs.0.func.1 = hiddenclause.ec.app.tutorial4.Y
gp.fs.0.func.1.nc = nc0
gp.fs.0.func.2 = hiddenclause.ec.app.tutorial4.Int
gp.fs.0.func.2.nc = nc0
gp.fs.0.func.3 = hiddenclause.ec.app.tutorial4.Add
gp.fs.0.func.3.nc = nc2
gp.fs.0.func.4 = hiddenclause.ec.app.tutorial4.Sub
gp.fs.0.func.4.nc = nc2
gp.fs.0.func.5 = hiddenclause.ec.app.tutorial4.Mul
gp.fs.0.func.5.nc = nc2

eval.problem = hiddenclause.ec.app.tutorial4.MultiValuedRegression
eval.problem.data = hiddenclause.ec.app.tutorial4.IntData
# The following should almost *always* be the same as eval.problem.data
# For those who are interested, it defines the data object used internally
# inside ADF stack contexts
eval.problem.stack.context.data = hiddenclause.ec.app.tutorial4.IntData
</pre>
<p><code>Int.java</code></p>
<pre class="brush: java;">
/*
 * This is a version of the MultiValuedRegression code from the ECJ code drop to
 * present an implementation of Toby Segaran's SimpleMathTest example.
 *
 * This is an example only! Use it for anything else at your own risk!
 * You have been warned! Coder/user beware!
 */

package hiddenclause.ec.app.tutorial4;

import ec.EvolutionState;
import ec.Problem;
import ec.gp.ADFStack;
import ec.gp.ERC;
import ec.gp.GPData;
import ec.gp.GPIndividual;
import ec.gp.GPNode;
import ec.util.Code;
import ec.util.Parameter;

public class Int extends ERC {
    private int _val;

    @Override
    public void checkConstraints(final EvolutionState state,
                                 final int tree,
                                 final GPIndividual typicalIndividual,
                                 final Parameter individualBase) {
        super.checkConstraints(state, tree, typicalIndividual, individualBase);
        if (children.length != 0)
            state.output.error(&#34;Incorrect number of children for node &#34;
                    + toStringForError() + &#34; at &#34; + individualBase);
    }

    @Override
    public void eval(final EvolutionState state,
                     final int thread,
                     final GPData input,
                     final ADFStack stack,
                     final GPIndividual individual,
                     final Problem problem) {
        IntData rd = ((IntData) (input));
        rd.x = _val;
    }

    @Override
    public void resetNode(EvolutionState state, int thread) {
        _val = Math.abs(state.random[thread].nextInt() % 10);
    }

    @Override
    public String encode() {
        return Code.encode(_val);
    }

    @Override
    public boolean nodeEquals(GPNode node) {
        if (this.getClass() != node.getClass())
            return false;
        return (((Int) node)._val == _val);
    }

    @Override
    public String toString() {
        return Integer.toString(_val);
    }
}
</pre>
<p><code>IntData.java</code></p>
<pre class="brush: java;">
/*
 * This is a version of the MultiValuedRegression code from
 * the ECJ code drop to present an implementation of Toby
 * Segaran's SimpleMathTest example.
 *
 * This is an example only! Use it for anything else at your own risk!
 * You have been warned! Coder/user beware!
 */

package hiddenclause.ec.app.tutorial4;

import ec.gp.GPData;

public class IntData extends GPData {
    public int x; // return value

    @Override
    public GPData copyTo(final GPData gpd)
    {
        ((IntData) gpd).x = x;
        return gpd;
    }
}
</pre>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Nodes Background]]></title>
<link>http://desingarts.wordpress.com/2009/09/01/nodes-background/</link>
<pubDate>Tue, 01 Sep 2009 05:47:08 +0000</pubDate>
<dc:creator>desingarts</dc:creator>
<guid>http://desingarts.wordpress.com/2009/09/01/nodes-background/</guid>
<description><![CDATA[Rasterlines with bright spots on a gradient background. Useful as background for a cd, computer wall]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p><img class="alignnone size-medium wp-image-225" title="Nodes Background" src="http://desingarts.wordpress.com/files/2009/09/nodes-background.png?w=300" alt="Nodes Background" width="300" height="300" /></p>
<p>Rasterlines with bright spots on a gradient background. Useful as background for a cd, computer wallpaper, your designs, etc… See all previews further this post. PNG and vectors can be downloaded seperately for your convenience. Have fun using!</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[Seeing Double: reusing Models and Actors in Panda3D]]></title>
<link>http://oogtech.wordpress.com/2009/08/24/seeing-double-panda3d-reusing-models-and-actors/</link>
<pubDate>Mon, 24 Aug 2009 01:55:15 +0000</pubDate>
<dc:creator>oogtech</dc:creator>
<guid>http://oogtech.wordpress.com/2009/08/24/seeing-double-panda3d-reusing-models-and-actors/</guid>
<description><![CDATA[Panda3D makes an essential distinction between nodepaths and nodes. The easiest (and most useful) wa]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>Panda3D makes an essential distinction between <em>nodepaths</em> and <em>nodes</em>.</p>
<p>The easiest (and most useful) way to understand this is to consider that each node in your rendering graph (a <em>PandaNode</em> instance) is encapsulated within a <em>NodePath </em>instance.</p>
<p>Incidentally, this allows sharing nodes. The sample code below will assign an instance of a loaded actor to a new  nodepath. This process (&#8216;<a href="http://www.panda3d.org/wiki/index.php/Instancing">instantiation</a>&#8216; &#8211; according to the manual) can be repeated to share your actor.</p>
<pre>actor = Actor.Actor(<em>FILE_PATH, ...</em>)
# nodePath is the path to the node you are attaching
# your new instance to,
# e.g. the scene-graph root, <em>render</em>,<em> </em>is actually a NodePath
instancePath = nodePath.attachNewNode(<em>NAME</em>)
actor.instanceTo(instancePath)</pre>
<p>Since nodes can be shared, it&#8217;s not always possible to get the nodepath knowing the node, so it&#8217;s important to keep track of nodepath references.</p>
<p>Note that, if you play an animation on your actor, the same animation will play for every nodepath the actor is attached to. So this would be more useful to duplicate inanimate objects, or sync-ed animated objects.</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[IE's cloneNode doesn't actually clone!]]></title>
<link>http://brooknovak.wordpress.com/2009/08/23/ies-clonenode-doesnt-actually-clone/</link>
<pubDate>Sun, 23 Aug 2009 05:04:45 +0000</pubDate>
<dc:creator>brooknovak</dc:creator>
<guid>http://brooknovak.wordpress.com/2009/08/23/ies-clonenode-doesnt-actually-clone/</guid>
<description><![CDATA[When you want to deeply clone a node you use the cloneNode(true) method on the element you want to c]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><p>When you want to deeply clone a node you use the <code>cloneNode(true)</code> method on the element you want to clone (see <a href="http://www.w3.org/TR/DOM-Level-2-Core/core.html">w3&#8217;s DOM Level 2 specifications</a>)</p>
<p><div id="attachment_307" class="wp-caption aligncenter" style="width: 309px"><a href="http://brooknovak.wordpress.com/files/2009/08/6a00d83451901369e200e5507e82b98834-800wi.jpg"><img src="http://brooknovak.wordpress.com/files/2009/08/6a00d83451901369e200e5507e82b98834-800wi.jpg" alt="IE Cant even clone" title="IE Cant even clone" width="299" height="219" class="size-full wp-image-307" /></a><p class="wp-caption-text">IE Cant even clone</p></div><br />
<!--more--></p>
<p>I found that IE&#8217;s <code>cloneNode</code> method is broken. Yes, broken! If you want the cloned DOM structure to be <em>exactly</em> the same (i.e. a clone) then don&#8217;t use <code>cloneNode</code>. Take this example:</p>
<pre class="brush: jscript;">
    var container = document.createElement(&quot;div&quot;);
    container.appendChild(document.createTextNode(&quot;Apples&quot;));
    container.appendChild(document.createTextNode(&quot;Oranges&quot;));
    alert(container.firstChild.nodeValue); // Will Print &quot;Apples&quot;

    container = container.cloneNode(true);
    alert(container.firstChild.nodeValue); // Prints &quot;ApplesOranges&quot; on IE!
</pre>
<p>As pointed out by the comments in the example above, the <code>cloneNode</code> operation consolidates the two text nodes together as one! This is incorrect!</p>
<p>If you need <code>cloneNode</code> to keep the structure cloned, then you could write your own deep-clone method. Here is an implementation:</p>
<pre class="brush: jscript;">
    /**
     * Deeply clones a node
     * @param {Node} node A node to clone
     * @return {Node} A clone of the given node and all its children
     */
    function cloneNode(node) {
    	// If the node is a text node, then re-create it rather than clone it
        var clone = node.nodeType == 3 ? document.createTextNode(node.nodeValue) : node.cloneNode(false);

        // Recurse
        var child = node.firstChild;
        while(child) {
            clone.appendChild(cloneNode(child));
            child = child.nextSibling;
        }

        return clone;
    }
</pre>
<p>Happy coding!</p>
</div>]]></content:encoded>
</item>
<item>
<title><![CDATA[JavaFX Forms Framework Part 3]]></title>
<link>http://carlfx.wordpress.com/2009/08/20/javafx-forms-framework-part-3/</link>
<pubDate>Thu, 20 Aug 2009 06:13:53 +0000</pubDate>
<dc:creator>carldea</dc:creator>
<guid>http://carlfx.wordpress.com/2009/08/20/javafx-forms-framework-part-3/</guid>
<description><![CDATA[Introduction Matthew 7:13-14 This is the third installment of a series of blog entries relating to a]]></description>
<content:encoded><![CDATA[<div class='snap_preview'><h1>Introduction</h1>
<div id="attachment_456" class="wp-caption alignright" style="width: 235px"><img class="size-medium wp-image-456" title="Ancient of Days" src="http://carlfx.wordpress.com/files/2009/08/acient.jpg?w=225" alt="Matthew 7:13-14" width="225" height="300" /><p class="wp-caption-text">Matthew 7:13-14</p></div>
<p style="text-align:left;"><strong>T</strong>his is the third installment of a series of blog entries relating to a proof of concept for a <strong><a href="http://www.javafx.com">JavaFX</a> Forms Framework</strong>. If you missed the beginning of the series you may go to <a href="http://carlfx.wordpress.com/2009/07/29/javafx-forms-framework-part-1/"><strong>Part 1</strong></a> and <a href="http://carlfx.wordpress.com/2009/08/03/javafx-forms-framework-part-2/"><strong>Part 2</strong></a>. We will take a look at code snippets relating to how the FXForms Framework was implemented. If you want to jump right into the code you may download it <a href="http://jfxtras.org/portal/c/document_library/get_file?p_l_id=11535&#38;folderId=25048&#38;name=DLFE-1304.zip"><span style="text-decoration:underline;"><strong>here</strong></span></a> or browse the source code <span style="text-decoration:underline;"><span style="color:#0000ff;"><a href="http://code.google.com/p/jfxtras/source/browse/#svn/jfxtras.samples/trunk/CarlFX/fxforms" target="_blank"><strong>here</strong></a></span></span> from the <a href="http://code.google.com/p/jfxtras/source/browse/#svn/jfxtras.samples"><strong>JFXtras Samples</strong></a> area. To those who are following the series will notice similarities to <strong><a href="http://www.jgoodies.com/index.html">JGoodies</a> Bindings </strong>and <strong>Validation </strong><a href="http://www.jgoodies.com/downloads/libraries.html">libraries</a>, it is because of those libraries and <a href="http://www.jgoodies.com/articles/">presentations</a> which basically inspired me to create this <a href="http://en.wikipedia.org/wiki/Model%E2%80%93view%E2%80%93controller"><strong>MVC</strong></a> <strong>forms framework</strong> in <strong>JavaFX</strong>.</p>
<p style="text-align:left;"><strong>Disclaimer:</strong> Most of the code snippets will deal with the <strong>user of the API&#8217;s perspective</strong> as opposed to the <strong>implementer of the API&#8217;s perspective</strong> in order to keep the blog entry short. I will try my best to touch on areas regarding the framework&#8217;s underlying implementation. I advise people to check the code project out, review it and run it.</p>
<p>A thing I&#8217;d like to bring to your attention is that I decided to refactor the code a little and add a <strong>new</strong> feature to the <strong>FXForms Framework</strong>. I refactored the form to reference an instance of a presentation model instead of inheriting from it. As I mentioned in <strong><a href="../2009/08/03/javafx-forms-framework-part-2/"><strong>Part 2</strong></a></strong> the form will be independent of the presentation model. This provides different validation contexts while reusing the same form. An example of this situation is when a user uses a form to ‘<strong>Add</strong>’ information versus an ‘<strong>Edit</strong>’ of the form information. The new feature added is the ability to validate a field as the user is typing into the text box and positions an <strong>icon </strong>to indicate an <strong>error, warning or information </strong>to the user. Another feature might be to add <strong>tool tips</strong> when the mouse hovers over the icon similar to JGoodies’ <a href="http://www.jgoodies.com/products/images/validation/icons.png">IconFeedbackPanel</a> behavior in Java Swing. Before going further into the implementation details you may want to launch the <a href="http://jfxtras.org/portal/c/document_library/get_file?p_l_id=11535&#38;folderId=25048&#38;name=DLFE-1303.jnlp"><strong>demo</strong> </a>to get a feel for the behavior of the entry form with validation and icon indicators.</p>
<p style="text-align:center;">
<div id="attachment_472" class="wp-caption aligncenter" style="width: 98px"><a href="http://jfxtras.org/portal/c/document_library/get_file?p_l_id=11535&#38;folderId=25048&#38;name=DLFE-1303.jnlp"><img class="size-full wp-image-472  " title="Click to Launch" src="http://carlfx.wordpress.com/files/2009/08/webstart.gif" alt="Demo" width="88" height="23" /></a><p class="wp-caption-text">Demo</p></div>
<p><strong>Instructions:</strong></p>
<ul>
<li>Enter numbers or symbols into the first, last and middle name field.</li>
<li>Click on the check box to swap the <a href="http://weblogs.java.net/blog/rbair/archive/2006/05/the_unknown_jav.html"><strong>JavaBean</strong></a> for the form.</li>
<li>Observe the underlying bean values changing.</li>
</ul>
<p>Next are the steps on how to develop the demo using the <strong>FXForms Framework</strong>.</p>
<h1>Developer Steps</h1>
<ol>
<li>Create a <strong>JavaBean</strong> representing a domain object.</li>
<li>Create a <strong>Presentation Model</strong> with <strong>validation</strong> for a Form.</li>
<li>Create a <strong>Form</strong></li>
<li>Associate a <strong>Presentation Model to Form</strong></li>
<li>Use the <strong>Form </strong>in an application</li>
</ol>
<h1>Detailed Steps</h1>
<p style="text-align:left;"><strong><span style="color:#0000ff;">Step 1. Create a JavaBean representing a domain object.</span></strong></p>
<pre>// Java
<span style="color:#993300;">public class <strong>PersonBean</strong> extends <strong>DomainModel</strong></span>{
    <strong><span style="color:#993300;">public static final String FIRST_NAME_PROPERTY = "firstName";</span></strong>
    public static final String MIDDLE_NAME_PROPERTY = "middleName";
... // more strings naming properties
    <strong><span style="color:#993300;">private String firstName;</span></strong>
    private String middleName;
... // more attributes

    /**
     * Returns first name of the person.
     * @return
     */
    public String getFirstName() {
        return firstName;
    }

    /**
     * Sets the first name of the person.
     * @param firstName
     */
    public void setFirstName(String firstName) {
        String old = this.firstName;
        this.firstName = firstName;
        <strong><span style="color:#993300;">firePropertyChange(FIRST_NAME_PROPERTY, old, firstName);</span></strong>
    }
... // the rest of the methods.
}</pre>
<p><strong><a href="http://code.google.com/p/jfxtras/source/browse/jfxtras.samples/trunk/CarlFX/fxforms/test/domain/model/PersonBean.java">PersonBean.java</a> </strong>- A domain object containing property change support.</p>
<p><a href="http://code.google.com/p/jfxtras/source/browse/jfxtras.samples/trunk/CarlFX/fxforms/src/fxforms/model/DomainModel.java"><strong>DomainModel.java</strong></a> &#8211; Abstract base class containing property change support.</p>
<p><span style="color:#0000ff;"><strong>Step 2. Create a Presentation Model with validation for a Form</strong></span></p>
<p>As I mentioned earlier about reusing the same form with different presentation models. Below you will see an ‘<strong>Add Form</strong>’ with validation on the <strong>Last Name field</strong>. The error icon indicates that the last name <strong>may not</strong> contain <strong>symbols</strong> and <strong>numbers</strong>, but allowing <strong>letters</strong>, <strong>apostrophe </strong>or <strong>hyphen </strong>in the name. You will notice the red error icon beside the <strong>&#8216;last name&#8217;</strong> text field.</p>
<div id="attachment_403" class="wp-caption aligncenter" style="width: 310px"><img class="size-medium wp-image-403 " title="iSF86_add_form_example" src="http://carlfx.wordpress.com/files/2009/08/isf86_add_form_example.png?w=300" alt="Add Form validation on last name field." width="300" height="169" /><p class="wp-caption-text">Add Form validation on last name field.</p></div>
<pre>    // JavaFX
    var <strong>personForm</strong>:<strong>NameForm</strong> = <strong>NameForm</strong>{
        <strong><span style="color:#993300;">presentationModel:domain.model.personpresentationmodel.AddPersonPM{}</span></strong>
    };
    <span style="color:#993300;"><strong>personForm.presentationModel.jBean = new PersonBean();</strong></span></pre>
<p>Next, you will see an ‘<strong>Edit Form</strong>’ with <strong>no</strong> <strong>validation</strong> on the <strong>&#8216;Last Name&#8217; field</strong>. But, there is validation on the <strong>&#8216;First Name&#8217; field</strong>. The warning icon indicates that the first name can contain <strong>symbols </strong>and <strong>numbers</strong>, <strong>letters</strong>, <strong>apostrophe </strong>or <strong>hyphen</strong>, <strong>but isn’t recommended</strong>. You will notice the yellow warning icon beside the &#8216;<strong>first name</strong>&#8216; field.</p>
<div id="attachment_404" class="wp-caption aligncenter" style="width: 310px"><img class="size-medium wp-image-404 " title="iSF86_edit_form_example" src="http://carlfx.wordpress.com/files/2009/08/isf86_edit_form_example.png?w=300" alt="Edit Form no validation for Last Name field" width="300" height="168" /><p class="wp-caption-text">Edit Form no validation for Last Name field</p></div>
<pre>    // JavaFX
    <strong><span style="color:#993300;">personForm.presentationModel = domain.model.personpresentationmodel.EditPersonPM{}
    personForm.presentationModel.jBean = personBean2;</span></strong></pre>
<p><strong>*Note</strong>: The examples above are two hypothetical use cases, I mocked up those forms to help illustrate different validation contexts. The demo app uses an <strong>edit presentation model</strong> that does validate on the &#8216;<strong>last name</strong>&#8216; field.</p>
<p><span style="color:#0000ff;"><strong><span style="color:#000000;">Edit Person </span><span style="color:#000000;">Presentation Model w/Validation</span></strong></span></p>
<pre>// JavaFX
<span style="color:#993300;">public class <strong>EditPersonPM</strong> extends fxforms.model.model.PresentationModel</span> {

   /** Validate the first name field */
   var validateFirstName =  <strong>Validator</strong>{
       <span style="color:#993300;"><strong>id:PersonBean.FIRST_NAME_PROPERTY</strong></span>
       <strong><span style="color:#993300;">public override function validate(value:Object)</span></strong>{
           return validateName(value, PersonBean.FIRST_NAME_PROPERTY, <strong>"Warning"</strong>);
       }
   };
... // more validators
   postinit {
       <span style="color:#993300;"><strong>addValidator(validateLastName);</strong></span>
       addValidator(validateFirstName);
       addValidator(validateMiddleName);
   }
}
// Script level function
/**
 * Using regular expression allow letters, apostrophe, hyphen
 */
<span style="color:#993300;"><strong>function validateName(value:Object, propName:String, messageType:String)</strong></span>{ // use friendly names, short names, etc.
    var results = ValidationResult{};
    var strValue:String = value as String;
    <span style="color:#993300;">var found:<strong>Boolean </strong>= Pattern.matches("^[a-zA-Z,'.\\-\\s]*$", strValue);</span>
    if (not found) {
        var message:<span style="color:#993300;"><strong>FieldMessage</strong></span> = <span style="color:#993300;"><strong>FieldMessage</strong></span>{
            <strong>id:propName</strong>
            <strong>messageType:messageType</strong>
            <strong>errorId</strong>:"123"
            <strong>errorMessage</strong>:"No symbols in names except - or ' (apostrophe)"
        }
        <span style="color:#993300;">results.addMessage(message);</span>
    }
    <strong><span style="color:#993300;">return results;</span></strong>
}</pre>
<p style="text-align:left;"><strong>Line 01</strong>: Class EditPersonPM extends fxforms.model.model.PresentationModel<br />
<strong>Line 04</strong>: <strong>var validateFirstName</strong> is an instance of a Validator<br />
<strong>Line 12</strong>: Adds all <strong>Validator</strong>s to the presentation model<br />
<strong>Line 21</strong>: Script level function to be used in each validator<br />
<strong>Line 24</strong>: Regular expression to allow letters, apostrophe and hyphen characters only.<br />
<strong>Line 26</strong>: Creation of the message when <strong>Validator </strong>validates.</p>
<p style="text-align:left;"><a href="http://code.google.com/p/jfxtras/source/browse/jfxtras.samples/trunk/CarlFX/fxforms/test/domain/model/personpresentationmodel.fx"><strong>personpresentationmodel.fx</strong></a> &#8211; The edit presentation model for a person name form.</p>
<p style="text-align:left;"><strong><a href="http://code.google.com/p/jfxtras/source/browse/jfxtras.samples/trunk/CarlFX/fxforms/src/fxforms/model/model.fx">model.fx</a> </strong>- Contains presentation model and value model implementation.</p>
<p style="text-align:left;"><strong><a href="http://code.google.com/p/jfxtras/source/browse/jfxtras.samples/trunk/CarlFX/fxforms/src/fxforms/model/validation.fx">validation.fx</a></strong> &#8211; Contains the validator, message, result classes.</p>
<p style="text-align:left;">
<p style="text-align:left;">
<p style="text-align:left;"><span style="color:#0000ff;"><strong>Step 3. Create a Form</strong></span></p>
<p style="text-align:left;"><span style="color:#0000ff;"><strong><span style="color:#000000;">Edit Person Form (Screen mockup)</span><br />
</strong></span></p>
<pre>0 full name panel
+-1------------------------+ // VBox with 3 things
! +-2--------------------+ ! // HBox with 2 things
! ! [ 3 ] [ 4           ]! ! // Label(section) and Label(title)
! +----------------------+ !
! +-5--------------------+ ! // HBox with 2 things
! ! [ 6 ] [ 7  ]         ! ! // Label(spacer} and Text(instructions)
! !                      ! ! // wrapping text abilities
! +----------------------+ !
! +-8--------------------+ ! // HBox with 2 things
! ! +-9---+ +-10-------+ ! ! // VBox_9(labels) Vbox_10(textbox)
! ! ![11] ! ! [15]     ! ! ! // Label(lastname) TextBox()
! ! ![12] ! ! [16]     ! ! ! // Label(firstName) TextBox()
! ! ![13] ! ! [17]     ! ! ! // Label(mi)  TextBox()
! ! ![14] ! ! [18]     ! ! ! // Label(suffix)  TextBox()
! ! +-----+ +----------+ ! !
! +----------------------+ !
+--------------------------+</pre>
<p><strong>NameForm inherits from Form<br />
Form inherits from CustomNode</strong></p>
<pre>// JavaFX
<span style="color:#993300;"><strong>public class NameForm extends fxforms.ui.form.Form </strong></span>{
   <span style="color:#993300;"><strong>public override function create():Node</strong></span>{
        // 0 main panel
        var mainPanel:Panel = Panel{
            content:[]
        }
        ... // more layouts and widgets

        var firstLabel:Label = Label {
            text: "First Name"
            hpos:HPos.RIGHT
            font : Font {
                size: 18
            }
            layoutInfo: LayoutInfo { minWidth: 100 width: 150 maxWidth: 200 }
        };
        ... // more code
<strong><span style="color:#993300;">        var lastNameTextBox:TextBox = fxforms.ui.controls.MyTextBox {
            id:"lastName"
            columns:20
        };</span></strong>
        var miNameTextBox:TextBox = fxforms.ui.controls.MyTextBox {
            id:"middleName"
            columns:20
        };
        ... // more fields

        // *** NOTE: This is for easy lookup. And relating to Scene.lookup(id) bug in 1.2.
<span style="color:#993300;"><strong>        guiFields = [lastNameTextBox, firstNameTextBox, miNameTextBox, suffixNameTextBox];
        presentationModel.addGuiFields(guiFields);
        return mainPanel;</strong></span>
    } // create()
} // NameForm</pre>
<p style="text-align:left;"><strong><a href="http://code.google.com/p/jfxtras/source/browse/jfxtras.samples/trunk/CarlFX/fxforms/test/domain/forms/nameform.fx" target="_blank">NameForm.fx </a></strong>- This represents a Form containing a person&#8217;s name information.</p>
<p style="text-align:left;"><a href="http://code.google.com/p/jfxtras/source/browse/jfxtras.samples/trunk/CarlFX/fxforms/src/fxforms/ui/form.fx" target="_blank"><strong>form.fx</strong></a> &#8211; This is the base class which contains the presentation model for forms binding behavior.</p>
<p style="text-align:left;"><a href="http://code.google.com/p/jfxtras/source/browse/jfxtras.samples/trunk/CarlFX/fxforms/src/fxforms/ui/controls.fx" target="_blank"><strong>controls.fx</strong></a> &#8211; This contains all registered GUI controls for observing value model value changes. Currently only one control exists the <a href="http://java.sun.com/javafx/1.2/docs/api/javafx.scene.control/javafx.scene.control.TextBox.html" target="_blank"><strong>TextBox </strong></a>control.</p>
<p><strong>*Note</strong>: The ideal way to build forms is using the JFXtras MigLayout library. To learn more take a look at Dean Iverson&#8217;s blog entry called &#8220;<a href="http://pleasingsoftware.blogspot.com/2009/06/miglayout-for-javafx-reloaded.html">MigLayout for JavaFX Reloaded</a>&#8220;.</p>
<p style="text-align:left;">
<p style="text-align:left;"><span style="color:#0000ff;"><strong>Step 4. Associate a Presentation Model to Form</strong></span></p>
<pre>// JavaFX
var personForm:<strong>NameForm </strong>= <strong>NameForm</strong>{
    <strong><span style="color:#993300;">presentationModel:domain.model.personpresentationmodel.EditPersonPM{}</span></strong>
    translateX: bind slideFormX
};
<strong><span style="color:#993300;">var personBean2:domain.model.PersonBean = new domain.model.PersonBean();</span></strong>
personBean2.setFirstName("Squidward");
personBean2.setLastName("Tentacles");
personBean2.setMiddleName("Nickelodeon");
personBean2.setSuffixName("Sr.");

// set presentation model with domain object
<span style="color:#993300;"><strong>personForm.presentationModel.jBean = personBean2;</strong></span></pre>
<p style="text-align:left;"><strong>Line 02</strong>: Associate presentation model to form<br />
<strong>Line 05</strong>: Create an instance of a JavaBean<br />
<strong>Line 12</strong>: Bind bean to presentation model and form</p>
<p style="text-align:left;">Once the presentation model and form are assembled binding an existing Java object is a snap. In <strong>part 4</strong> on enhancing this process would be to create a factory to obtain meta information of the form to retrieve  nested properties within a POJO/JavaBean off of the JavaFX main thread (desktop profile is the EDT). This effort will help alleviate from the dreaded Hibernate lazy init exception when using detached objects. So, making sure you don&#8217;t block the GUI thread is a big deal when it comes to user experience.</p>
<p style="text-align:left;"><span style="color:#0000ff;"><strong>Step 5. Use the Form in an application</strong></span></p>
<pre>    <span style="color:#993300;"><strong>var switchPersonButton:CheckBox = CheckBox </strong></span>{
            text: bind personToSwitchText
            width: 100
            translateX: 5
            translateY: bind mainScene.height - switchPersonButton.height - 5
            allowTriState: false
            selected: false
            <span style="color:#993300;"><strong>override var onMouseReleased = function(e:MouseEvent):Void {
                if (selected){
                   personToSwitchText = "Sponge Bob";
                   personForm.presentationModel.jBean = personBean1;
                } else {
                   personToSwitchText = "Squidward";
                   personForm.presentationModel.jBean = personBean2;
                }
            }</strong></span>
        };

    var mainScene:Scene = Scene {
        fill: LinearGradient {
                    startX: 0
                    startY: 0
                    endX: 0
                    endY: 1
                    stops: [
                        Stop { offset: 0.1 color: Color.ORANGE },
                        Stop { offset: 1.0 color: Color.YELLOW },
                    ]
                }
        content: [<span style="color:#993300;"><strong>personForm</strong></span>, <strong><span style="color:#993300;">switchPersonButton</span></strong>, backButton, nextButton]
    };</pre>
<p style="text-align:left;"><strong><a href="http://code.google.com/p/jfxtras/source/browse/jfxtras.samples/trunk/CarlFX/fxforms/test/domain/Main.fx">Main.fx</a> </strong>- The main application file to launch the application</p>
<p style="text-align:left;">
<h1 style="text-align:left;">Value Model</h1>
<p style="text-align:left;">The &#8216;<strong>Value Model</strong>&#8216; is probably the most important aspect of how the Forms binding works. The value model is a model that holds a single value that notifies registered listeners that a value has changed. Registered listeners will likely be GUI controls and JavaBean properties. Bidirectional binding occurs when a bean property value changes, which notifies the value model which updates the  GUI control value. This holds true when going in the other direction too, such as the user changes the value of the GUI control which notifies the value model which updates the JavaBean property value.</p>
<p style="text-align:left;"><a href="http://code.google.com/p/jfxtras/source/browse/jfxtras.samples/trunk/CarlFX/fxforms/src/fxforms/model/model.fx">model.fx</a> &#8211; Contains presentation model and value model implementations.</p>
<p style="text-align:left;">
<h1 style="text-align:left;">Conclusion</h1>
<p>I feel the implementation of the fxforms framework using JavaFX was extremely easy and is a lot less code compared to a Java equivalent of a Swing/SWT forms framework, also carrying additional overhead using 3rd party libraries for binding and validation. As JavaFX matures with more controls the forms framework would need to be flexible enough to add any controls to handle custom bindings such as list models.  Next we will look at <a href="http://carlfx.wordpress.com/2009/08/29/javafx-forms-framework-part-4/"><strong>Part 4 Enhancements </strong></a>. As always any feedback is welcome!</p>
<p style="text-align:left;">
<h1 style="text-align:left;">References</h1>
<p>Validation presentation by Karsten Lentzsch &#8211; <a href="http://www.jgoodies.com/articles/validation.pdf">http://www.jgoodies.com/articles/validation.pdf</a></p>
<p>JGoodies: <a href="http://www.jgoodies.com/articles/validation.pdf">http://www.jgoodies.com/</a></p>
<p>JGoodies Support: <a href="http://www.jgoodies.com/products/purchase.html">http://www.jgoodies.com/products/purchase.html</a></p>
<p>The Unknown JavaBean by Richard Bair &#8211; <a href="http://weblogs.java.net/blog/rbair/archive/2006/05/the_unknown_jav.html">http://weblogs.java.net/blog/rbair/archive/2006/05/the_unknown_jav.html</a></p>
<p>JavaFX &#8211; JMS Unexpected Null Pointer Exception <a href="http://blogs.sun.com/clarkeman/entry/javafx_jms_unexpected_null_pointer">http://blogs.sun.com/clarkeman/entry/javafx_jms_unexpected_null_pointer</a></p>
<p>JFXtras Community Site &#8211; <a href="http://jfxtras.org/portal/home">http://jfxtras.org/portal/home</a></p>
<p style="text-align:left;">
<p style="text-align:left;">
<p style="text-align:left;">
<p style="text-align:left;">
<p style="text-align:left;">
</div>]]></content:encoded>
</item>

</channel>
</rss>
