<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearchrss/1.0/" xmlns:georss="http://www.georss.org/georss"><id>tag:blogger.com,1999:blog-17460203</id><updated>2009-07-16T11:03:14.731-07:00</updated><title type="text">Technoracle (a.k.a. "Duane's World")</title><subtitle type="html">Rants, raves and random brain dumps on Service Oriented Architecture (SOA), Web 2.0, Music 2.0, Flex, Adobe, PDF, LiveCycle, AIR, Technology and Culture.</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://technoracle.blogspot.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://technoracle.blogspot.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/17460203/posts/default?start-index=26&amp;max-results=25" /><author><name>Duane "Chaos" Nickull</name><uri>http://www.blogger.com/profile/08767498160563891543</uri><email>Duane.Nickull@gmail.com</email></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>449</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><link rel="self" href="http://feeds.feedburner.com/technoracle" type="application/atom+xml" /><entry><id>tag:blogger.com,1999:blog-17460203.post-8355389547606683930</id><published>2009-07-16T09:24:00.000-07:00</published><updated>2009-07-16T09:26:07.301-07:00</updated><title type="text">Adobe LiveCycle ES Developer Contest</title><content type="html">That is correct - win some money!!!  This will be the very first LiveCycle ES developer contest. Since the main driver of the next release of LiveCycle ES is usability and developer productivity, we are really interested in your feedback as well as the applications you are able to build and are holding a contest to see who can build the coolest application. All entries will be judged by a panel of experts with prizes awarded for entries that illustrate the power of combining Rich Internet Application and LiveCycle ES while using as many solution components as possible. Winning entries may be chosen to be showcased at MAX 2009 this Fall.&lt;br /&gt;&lt;br /&gt;How to enter is here:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://demo.host.adobe.com/M3/contest.html"&gt;http://demo.host.adobe.com/M3/contest.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Good luck and get coding!&lt;div class="blogger-post-footer"&gt;Original post at &lt;a href="http://technoracle.blogspot.com"&gt;http://technoracle.blogspot.com&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17460203-8355389547606683930?l=technoracle.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://technoracle.blogspot.com/feeds/8355389547606683930/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=17460203&amp;postID=8355389547606683930" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/17460203/posts/default/8355389547606683930" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/17460203/posts/default/8355389547606683930" /><link rel="alternate" type="text/html" href="http://technoracle.blogspot.com/2009/07/adobe-livecycle-es-developer-contest.html" title="Adobe LiveCycle ES Developer Contest" /><author><name>Duane "Chaos" Nickull</name><uri>http://www.blogger.com/profile/08767498160563891543</uri><email>Duane.Nickull@gmail.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="15353282611872762723" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17460203.post-8675517230518516300</id><published>2009-07-01T10:06:00.000-07:00</published><updated>2009-07-01T12:30:48.327-07:00</updated><title type="text">Flash Builder 4 Tutorial - writing data to a hard drive</title><content type="html">&lt;a href="http://tv.adobe.com/#vi+f1472v1118"&gt;ADC Presents&lt;/a&gt; - Writing Data to a Hard Drive from Adobe AIR. The Adobe Developer Connection tutorial is about 5 minutes long and explains all the main concepts for how to ensure you can get data persisted to the hard drive from AIR. Special thanks to James Ward and Bruce for this sample.&lt;br /&gt;&lt;br /&gt;&lt;embed height="385" name="AdobeTVPlayer" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/go/getflashplayer" width="600" src="http://tv.adobe.com/Embed.swf" bgcolor="#000000" play="true" loop="false" quality="high" allowscriptaccess="always" flashvars="v=~b64~aHR0cDovL2Fkb2JlLmVkZ2Vib3NzLm5ldC9mbGFzaC9hZG9iZS9hZG9iZXR2Mi9hZGNfcHJlc2VudHMvNjRfYWRjXzE1NC5mbHY/cnNzX2ZlZWRpZD0xNDcyJnhtbHZlcnM9Mg==&amp;amp;w=600&amp;amp;t=http://tv.adobe.com/vi+f1472v1118&amp;amp;h=385"&gt;&lt;/embed&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Here is the source code. This code has been updated for Flex 4 (Download Flash Builder 4 beta) - AIR 1.5. Email me if you want to get code that you can cut and paste (dnickull at adobe dot com).&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_JcWq9uCkob8/SkuadZmgANI/AAAAAAAAAqg/hI971bj5tXg/s1600-h/Picture+55.png"&gt;&lt;img style="WIDTH: 400px; HEIGHT: 287px; CURSOR: pointer" id="BLOGGER_PHOTO_ID_5353542411939217618" border="0" alt="" src="http://3.bp.blogspot.com/_JcWq9uCkob8/SkuadZmgANI/AAAAAAAAAqg/hI971bj5tXg/s400/Picture+55.png" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;Original post at &lt;a href="http://technoracle.blogspot.com"&gt;http://technoracle.blogspot.com&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17460203-8675517230518516300?l=technoracle.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://technoracle.blogspot.com/feeds/8675517230518516300/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=17460203&amp;postID=8675517230518516300" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/17460203/posts/default/8675517230518516300" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/17460203/posts/default/8675517230518516300" /><link rel="alternate" type="text/html" href="http://technoracle.blogspot.com/2009/07/flash-builder-4-tutorial-writing-data.html" title="Flash Builder 4 Tutorial - writing data to a hard drive" /><author><name>Duane "Chaos" Nickull</name><uri>http://www.blogger.com/profile/08767498160563891543</uri><email>Duane.Nickull@gmail.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="15353282611872762723" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_JcWq9uCkob8/SkuadZmgANI/AAAAAAAAAqg/hI971bj5tXg/s72-c/Picture+55.png" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17460203.post-6102217243855652579</id><published>2009-06-28T02:56:00.000-07:00</published><updated>2009-06-28T05:51:58.946-07:00</updated><title type="text">Flash for Mobile Rocks! HTC Hero is the Future!</title><content type="html">As reported by the &lt;a href="http://www.sfgate.com/cgi-bin/article.cgi?f=/g/a/2009/06/26/urnidgns852573C400693880002575E1007FCDFD.DTL"&gt;SFGate&lt;/a&gt;: "The HTC Hero opens up a whole world of multimedia content with support for Flash 9, intensifying the spotlight on &lt;a href="http://www.idg.com/www/rd.nsf/rd?readform&amp;amp;u=http://www.pcworld.com/article/158712/flash_on_iphone_hopes_dashed.html"&gt;Apple's lack of cooperation with Adobe in bringing Flash to the iPhone&lt;/a&gt;."&lt;br /&gt;&lt;br /&gt;If I had to hedge my bet on a long term winner for the mobile space, I place my bet on Android.  Sorry Apple - you are just pissing off too many developers.  Many of the developers in the real world work their behinds off to make awesome apps then they get blacklisted with no explanation.   Apple tries to kill open source frameworks like PhoneGap while Android embraces them.&lt;br /&gt;&lt;br /&gt;Android now not only challenges iPhone, but blows it away.  The newest HTC phone has Flash 9 capability with &lt;a href="http://www.idg.com/www/rd.nsf/rd?readform&amp;amp;u=http://www.pcworld.com/article/167165/coming_soon_adobe_flash_on_android_winmo_and_webos.html"&gt;Flash 10&lt;/a&gt; coming later this year. People can now experience Web content and applications that cannot run on the iPhone. Flash developers can make use of their talent for the Android Mobile O/S.  Keeping in mind that about 80 percent of all videos online use Adobe&lt;br /&gt;Flash.&lt;br /&gt;&lt;br /&gt;When I get back to Canada I am going to ditch my 3G and get the &lt;a href="http://www.cnet.com/8301-19736_1-10271808-251.html"&gt;HTC Hero&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;Original post at &lt;a href="http://technoracle.blogspot.com"&gt;http://technoracle.blogspot.com&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17460203-6102217243855652579?l=technoracle.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://technoracle.blogspot.com/feeds/6102217243855652579/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=17460203&amp;postID=6102217243855652579" title="6 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/17460203/posts/default/6102217243855652579" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/17460203/posts/default/6102217243855652579" /><link rel="alternate" type="text/html" href="http://technoracle.blogspot.com/2009/06/flash-for-mobile-rocks-htc-hero-is.html" title="Flash for Mobile Rocks! HTC Hero is the Future!" /><author><name>Duane "Chaos" Nickull</name><uri>http://www.blogger.com/profile/08767498160563891543</uri><email>Duane.Nickull@gmail.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="15353282611872762723" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17460203.post-623100277128392726</id><published>2009-06-27T01:02:00.000-07:00</published><updated>2009-06-27T05:41:49.996-07:00</updated><title type="text">Outline for MAX: LiveCycle ES for Java Developers</title><content type="html">Greg Wilson, Marcel Boucher, and I will be leading a mega lab at Adobe MAX 2009.  Special thanks to Scott MacDonald (Adobe) for helping with a ton of preparations on this course too.  It was largely his idea.&lt;br /&gt;&lt;br /&gt;CAVEAT: This is subject to change--but if so, we would like to change it based on your input here!!&lt;br /&gt;&lt;br /&gt;We'd like to post the outline here to get comments back on how we can make this the best course ever for LC ES and Java Developers.  Please append any comments or ideas below.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;********************&lt;br /&gt;SESSION OUTLINE: LiveCycle ES for Java Developers (3 HOUR MEGA LAB)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Marcel Boucher, Scott MacDonald (Contributor for content), Duane Nickull, Greg Wilson&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Audience Assumptions&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;- This is a lab for Java developers who want to learn how to unlock the full potential of LiveCycle ES.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Note: &lt;/span&gt; This is a Bring Your Own Laptop (BYOL)lab.  We will prepare a separate set of instructions to provide attendees with prerequisite and instructions to prepare for this lab.  It will explain in detail how to install the following software:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Prerequisites:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;o Experience with the Java programming language 1.6 or later.&lt;br /&gt;o Familiarity with XML syntax rules&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Software Requirements (needs to be installed - subject to change at last minute but we will tell you)&lt;/span&gt;&lt;br /&gt;o Acrobat 9 Pro Extended&lt;br /&gt;o Microsoft .NET 1.1 runtime&lt;br /&gt;o Java JDK 1.6 or later installed with JAVA_HOME and PATH set&lt;br /&gt;o LiveCycle WorkBench  must be installed.  If Linux/Mac OS X or Unix, VMWare must be installed to run workbench.&lt;br /&gt;o LC ES Server will be addressable via the LAN on a specific IP address.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;NOTE:&lt;/span&gt; A special virtual session will be scheduled at the MAX facility prior to this BYOL Mega Lab to help attendees ensure they have all the necessary software installed and configured correctly.  An instruction video will also be made available a week before the lab.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Session Description&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This crash course will enable developers to learn all about Adobe LiveCycle ES. The course is completely hands-on and provides solid insight into how to build, deploy, and aggregate services into automated business processes. At the heart of LiveCycle ES are powerful Java(tm) libraries for manipulating PDF(ISO 32000) documents.  These services can also be called remotely from a J2EE environment via EJB or SOAP endpoints.  This hands-on lab will show attendees how to consume services to perform operations on documents including how to create and manipulate PDF documents, converting documents, extract XMP metadata, explore PDF/XDP documents, working with forms, SAP system data, and digital signature tasks.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Topics&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;Lab 0: Forward:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Opening – survey audience – learn about them.&lt;br /&gt;- How many have used LC ES before (any version)?&lt;br /&gt;- How many are using current version?&lt;br /&gt;- Find out how much Java experience they have (to adjust mega lab as required on the fly)&lt;br /&gt;LiveCycle ES architecture for those who are not familiar with LC ES (optional – only present if there are those who do not know LC ES or are vague).&lt;br /&gt;What’s new in LC ES (scope to what is relevant to know for this mega lab)&lt;br /&gt;Any housekeeping – launching VMWare images, where to address an instance on network (LAN or WAN).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; font-style: italic;"&gt;Lab set up&lt;/span&gt;&lt;br /&gt;- location and configuration of *.jars&lt;br /&gt;- Configuration of Eclipse (assuming we use it)&lt;br /&gt;- Importing the Java project with the labs and samples.&lt;br /&gt;- TAs to help anyone with Classpath difficulties or similar&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Lab 1: Verifying LC ES is running and logging in.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Objective: Learn how to ensure your LC ES instance is up and running.  Log file location, pinging the server, logging in to adminui or workspace.&lt;br /&gt;  - Expected duration: 10 minutes&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Lab 2: Configuring users via the AdminUI&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Objectives: Learn how to ensure a new user has access to programmatically use the LC ES PDFG services.  This is done by making the user a PDFG user.&lt;br /&gt;  - Expected duration: 10 minutes&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Lab 3: Using  Java API to make a PDF Document&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Objectives: Learn how to make a PDF Document from a Java programming environment by calling up the PDFG Service using SOAP.   This is largely hands-on coding.  The skeleton of the class will be finished with the connection properties and outline with TODOs.  Attendees will code up the solution to this lab, run it, and convert a document to PDF via SOAP.&lt;br /&gt;- Expected duration: 15 minutes&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Lab 4: Building, Compiling and Deploying a Server-Side Component&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Objectives: Learn how to build a custom server-side component and what it means to deploy it to the server.  Attendees will build a new component, compile it, and deploy it to the server.&lt;br /&gt;- Expected duration: 25 minutes&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Lab 5: Making a Java Class to call your server side component over EJB&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Objectives: Talk to the newly deployed custom component via EJB endpoint.  Attendees will code up a new EJB service client class and call their newly deployed component.&lt;br /&gt;- Expected duration: 15 minutes&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Lab 6: Adding your custom component to a LiveCycle Process&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Objectives: Learn how to include the newly created custom component into a LiveCycle Business Process using workbench.  Attendees will also add another service or two to their endpoints and note how the properties dialog align with the Java method signatures (coding without writing code!)&lt;br /&gt;- Expected duration: 15 minutes&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Lab 7:  Programmatically Starting and stopping your new process&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Objectives: Learn how to programmatically start the newly created LC ES process from a Java environment and also query the running processes using the APIs (note – if supported via REST, otherwise, use SOAP).&lt;br /&gt;- Expected duration: 15 minutes&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Lab 8: Exporting and re-importing an *.lca Application&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Objectives: Learn how to export and re-import a *.lca (note – this is possibly not aligned with the talk title so needs  a good thinking).&lt;br /&gt;- Expected duration: 15 minutes&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Labs 9-12:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;We should prepare 3 more labs that call the LC ES infrastructure in case all attendees get through the first bits before the 3 hour lab is up.  Would like to suggest we add the most common calls based on the LC ES quick starts:&lt;br /&gt;&lt;br /&gt;- converting a PDF to an XDP (explain what XDP is etc.)&lt;br /&gt;- Importing/Exporting XMP metadata using the Java API&lt;br /&gt;- More Process management (time permitting):&lt;br /&gt;o Searching for/Suspending process instances using the Java API&lt;br /&gt;o Starting suspended process instances using the Java API&lt;br /&gt;o Terminating process instances using the Java API&lt;br /&gt;o Purging process data using the Java API&lt;div class="blogger-post-footer"&gt;Original post at &lt;a href="http://technoracle.blogspot.com"&gt;http://technoracle.blogspot.com&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17460203-623100277128392726?l=technoracle.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://technoracle.blogspot.com/feeds/623100277128392726/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=17460203&amp;postID=623100277128392726" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/17460203/posts/default/623100277128392726" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/17460203/posts/default/623100277128392726" /><link rel="alternate" type="text/html" href="http://technoracle.blogspot.com/2009/06/outline-for-max-livecycle-es-for-java.html" title="Outline for MAX: LiveCycle ES for Java Developers" /><author><name>Duane "Chaos" Nickull</name><uri>http://www.blogger.com/profile/08767498160563891543</uri><email>Duane.Nickull@gmail.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="15353282611872762723" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17460203.post-7080967770107049140</id><published>2009-06-22T01:46:00.000-07:00</published><updated>2009-06-22T06:59:33.977-07:00</updated><title type="text">Hamburg  FlexUGHH und Mir!</title><content type="html">&lt;p&gt;While in Europe, Sebastian and Marta asked me to pop over to Hamburg to do a talk for their user  group.  The event took place at an IBM office and was totally packed.   The group was awesome and I felt totally well received (Danke fur die Bier!).  We spent most of the time trying out the new features of Flash Builder 4 and helping developers understand the changes prior to them getting their hands on it.  As with Berlin, a lot of Flex 3 developers had issues trying Flash Builder 4. We found it very useful to work through the changes together starting with all the new namespaces (Spark, Halo, FXG et) plus the variants of MX NS values (2009, 2006, halo).  The big hits were the new advanced package explorer for each class, highlighting other instances of a class where it appears in the program (something Java developers are used to in Eclipse), advanced code hinting, content assist, class wizards and more.  The network monitor won lots of friends.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;img src="http://s3.amazonaws.com/twitpic/photos/full/12691506.jpg?AWSAccessKeyId=0ZRYP5X5F6FSMBCCSE82&amp;Expires=1245662267&amp;Signature=S2unZd4Ok4hmnoC3KVgyZiTL0ds%3D" border="0" /&gt;&lt;br /&gt;&lt;/p&gt;   &lt;p&gt;I thought I would have the record of being the speaker to come from furthest away, however someone else apparently came from New Zealand (perhaps Kai?).  The ColdFusion demo was a highlight!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;Original post at &lt;a href="http://technoracle.blogspot.com"&gt;http://technoracle.blogspot.com&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17460203-7080967770107049140?l=technoracle.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://technoracle.blogspot.com/feeds/7080967770107049140/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=17460203&amp;postID=7080967770107049140" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/17460203/posts/default/7080967770107049140" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/17460203/posts/default/7080967770107049140" /><link rel="alternate" type="text/html" href="http://technoracle.blogspot.com/2009/06/hamburg-flexughh-und-mir.html" title="Hamburg  FlexUGHH und Mir!" /><author><name>Duane "Chaos" Nickull</name><uri>http://www.blogger.com/profile/08767498160563891543</uri><email>Duane.Nickull@gmail.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="15353282611872762723" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17460203.post-914595785561636241</id><published>2009-06-20T07:47:00.000-07:00</published><updated>2009-06-22T01:45:57.738-07:00</updated><title type="text">Flash Summer Camp Berlin</title><content type="html">At the invitation of Bettina Schulz, I came to &lt;a href="http://www.flex-labs.de/flashcamp/#"&gt;Berlin Flash Summer Camp&lt;/a&gt; to do a talk on Flex and Flash Builder 4.  Bettina and Markus Luczak-Roesch arranged a great venue and had other luminaries there such as Sven Claar and Andre Michelle.  It was well attended (perhaps 80-120) and the attendees were blessed with some great talks.  While tired (I had literally flown in from Vancouver and landed only 2 hours prior to talking) I showed some of the new features of Flash Builder 4, Catalyst etc.  Rather than use the standard demo assets, I chose to build my own and was able to demo the new features (network monitor, PHP wizard, data paging, ColdFusion, SOAP wizard, BlazeDS, LiveCycle Data Services, etc.) as well as teach some newcomers about the overall architecture.   All I have to say is one thing:&lt;br /&gt;&lt;br /&gt;"I love User Groups!!!"&lt;br /&gt;&lt;br /&gt;Let me repeat that:&lt;br /&gt;&lt;br /&gt;"I REALLY love User Groups!!!"&lt;br /&gt;&lt;br /&gt;The fact they are all developers really makes me feel comfortable so we spent a lot of time concentrating on what will bite you when you go from working in Flex Builder 3 to Flash Builder 4 (the successor IDE, which still uses the Flex 4 framework). In general, a lot of Flex 3 developers had issues trying Flash Builder 4. I found it very useful to walk them through the changes starting with all the new namespaces (Spark, Halo, FXG et) plus the variants of MX NS values (2009, 2006, halo).  Many of them were confused why we would do this and the complexity that was added.  Once explained in terms they understood, they quickly became friendly with it and liked it.  The big hits were the new advanced package explorer for each class, highlighting other instances of a class where it appears in the program (something Java developers are used to in Eclipse), advanced code hinting, content assist, class wizards and more.  The network monitor won lots of friends, especially when demonstrating data paging.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_JcWq9uCkob8/Sjz376JOyCI/AAAAAAAAAqY/PZOVCaNgSK0/s1600-h/Picture+17.png"&gt;&lt;img style="cursor: pointer; width: 320px; height: 291px;" src="http://4.bp.blogspot.com/_JcWq9uCkob8/Sjz376JOyCI/AAAAAAAAAqY/PZOVCaNgSK0/s320/Picture+17.png" alt="" id="BLOGGER_PHOTO_ID_5349423066001623074" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The idea here is that alike when you request a map on your cell phone, you do not get all the data in one response to your original request, but it pages data as needed (on a cell phone tiles for your map).  The server side PHP API takes two arguments, the start index and number of items to return.  As the datagrid realizes it requires more data to fill more rows, it sends additional pages back to the server (MAMP in this case) to request the data and display it just in time.&lt;br /&gt;&lt;br /&gt;Andre Michelle needed more time for his track so Sven Claar and I did a totally improvised joint session, taking queues from the audience as to what to see or do next.  Sven covered the work flow with Catalyst and some other great stuff.&lt;br /&gt;&lt;br /&gt;One theme that I found was an intense interest in BlazeDS and LiveCycle Data Services ES and more people wanting to understand them in more detail.&lt;br /&gt;&lt;br /&gt;If you have not gone to a user group meeting lately - you better arrange to join and attend one soon.  Some of the best times you can imagine (and free beer too!!!).  Find one near you here:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://groups.adobe.com/pages/home"&gt;http://groups.adobe.com/pages/home&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;Original post at &lt;a href="http://technoracle.blogspot.com"&gt;http://technoracle.blogspot.com&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17460203-914595785561636241?l=technoracle.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://technoracle.blogspot.com/feeds/914595785561636241/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=17460203&amp;postID=914595785561636241" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/17460203/posts/default/914595785561636241" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/17460203/posts/default/914595785561636241" /><link rel="alternate" type="text/html" href="http://technoracle.blogspot.com/2009/06/flash-summer-camp-berlin.html" title="Flash Summer Camp Berlin" /><author><name>Duane "Chaos" Nickull</name><uri>http://www.blogger.com/profile/08767498160563891543</uri><email>Duane.Nickull@gmail.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="15353282611872762723" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_JcWq9uCkob8/Sjz376JOyCI/AAAAAAAAAqY/PZOVCaNgSK0/s72-c/Picture+17.png" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17460203.post-5090265727907839336</id><published>2009-06-20T01:45:00.000-07:00</published><updated>2009-06-20T14:14:50.539-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="university" /><category scheme="http://www.blogger.com/atom/ns#" term="Flex" /><category scheme="http://www.blogger.com/atom/ns#" term="brandenburg" /><category scheme="http://www.blogger.com/atom/ns#" term="adobe" /><category scheme="http://www.blogger.com/atom/ns#" term="soa" /><category scheme="http://www.blogger.com/atom/ns#" term="SaaS White Paper" /><title type="text">Berlin-Brandenburger SAP Forum</title><content type="html">On June 18 I spent the entire day at the &lt;a href="http://www.fh-brandenburg.de/"&gt;Fachhochschule Brandenburg&lt;/a&gt; (basically a technical university) with the applied computer science advanced faculty and students.  I was hosted by Professor Dr. Robert Franz, Professor Dr. Hartmut Heinrich and Professor Dr. Andreas Johannsen.  My talk was on the core patterns of SaaS and SOA as well as the practical implications for software developers and architects.  Through code, I demonstrated advanced micro-patterns for Web Service MEPs as well as briefly covering standard service clients like Flex4 for PHP, Web Services, REST (the real REST, not just meaning XML over HTTP) and more.&lt;br /&gt;&lt;br /&gt;The students were totally enthusiastic and the faculty has been very knowledgeable in how they view SaaS and especially the architectural model exploring how to use Adobe’s stack to quickly offer SAP systems data using the SaaS model.  The SAP speakers also had some great talks on SaaS and it is clear to me that Adobe and SAP need to work more closely together to harness the great power of SAP's enterprise while delivering business intelligence with Adobe's RIA stack.&lt;br /&gt;&lt;br /&gt;My white paper on SaaS architecture was published in the official SAP SaaS Wirtschaftsinformatik.    The same white paper is also published on &lt;a href="http://www.adobe.com/devnet/articles/saas.html"&gt;the SaaS architectural area of Adobe's website&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I would love to be able to follow this up by coming back to teach a full day (maybe 2 days?) Flex Boot Camp at the University.  This would involve a course similar to the one in Vancouver, except updated to reflect the new FB4 and F4, Catalyst work-flows and frameworks.&lt;br /&gt;&lt;br /&gt;As I was in Brandenburg, basically a beautiful place, I was reminded of the Dalai Lama's advice - go every year to a place you have never been before.  What a great way to live!&lt;br /&gt;&lt;br /&gt;The presentation is available at &lt;a href="http://www.web2open.org/presentations/Core-SaaS-Patterns_2009_NICKULL.pdf"&gt;http://www.web2open.org/presentations/Core-SaaS-Patterns_2009_NICKULL.pdf&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;Original post at &lt;a href="http://technoracle.blogspot.com"&gt;http://technoracle.blogspot.com&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17460203-5090265727907839336?l=technoracle.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://technoracle.blogspot.com/feeds/5090265727907839336/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=17460203&amp;postID=5090265727907839336" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/17460203/posts/default/5090265727907839336" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/17460203/posts/default/5090265727907839336" /><link rel="alternate" type="text/html" href="http://technoracle.blogspot.com/2009/06/berlin-brandenburger-sap-forum.html" title="Berlin-Brandenburger SAP Forum" /><author><name>Duane "Chaos" Nickull</name><uri>http://www.blogger.com/profile/08767498160563891543</uri><email>Duane.Nickull@gmail.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="15353282611872762723" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17460203.post-8111149592220034626</id><published>2009-06-20T01:26:00.000-07:00</published><updated>2009-06-20T14:02:26.067-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="ontology" /><category scheme="http://www.blogger.com/atom/ns#" term="semantics" /><category scheme="http://www.blogger.com/atom/ns#" term="berlin" /><category scheme="http://www.blogger.com/atom/ns#" term="adobe" /><category scheme="http://www.blogger.com/atom/ns#" term="Adobe LiveCycle ES" /><title type="text">Berlin University Semantics and Ontology Keynote</title><content type="html">Yesterday I had the honor of giving a keynote speech at the &lt;a href="http://www.corporate-semantic-web.de/trainingsworkshop-english.html"&gt;Freie Universität Berlin&lt;/a&gt;, only one day after a similar talk at the Berlin-Branderburger Fachhochschule. It was "&lt;span style="font-style: italic;"&gt;Berlin Semantic Web Day&lt;/span&gt;" at Freie Universität Berlin, June 19th, and the topic was Semantic Business Process Management (SBPM) which is the combination of Corporate Semantic Web technologies, such as rules, events and ontologies, with BPM and a service oriented infrastructure to empower the upper layers of the architecture.&lt;br /&gt;&lt;br /&gt;The keynote was for the &lt;a href="http://www.meetup.com/The-Berlin-Semantic-Web-Meetup-Group/calendar/10392767/"&gt;Berlin Semantic Meetup group&lt;/a&gt;, which was an excellent meetup.  The group is very well run and &lt;a href="http://www.meetup.com/The-Berlin-Semantic-Web-Meetup-Group/members/8454408/"&gt;Adrian Paschke.&lt;/a&gt; We got to meet inside a large atrium with plenty of refreshments and great people!&lt;br /&gt;&lt;br /&gt;The combination of Event driven architecture, SOA, CEP models, and BPM could deliver great advancements in discovery, configuration, and composition of appropriate process components, information objects, and services.  Given &lt;a href="http://www.adobe.com/products/livecycle/"&gt;Adobe LiveCycle ES&lt;/a&gt; has already a lot of the BPM and SOA tenets baked into the product, it was interesting to see attendees validate the architectural decisions of LiveCycle ES.  While I did not speak directly on LiveCycle, it was always on the back of the mind.&lt;br /&gt;&lt;br /&gt;The field of Computational Intelligence is really starting to heat up.  As a member of the IEEE Computational Intelligence Society I plan to contribute some ideas to the movement.&lt;br /&gt;&lt;br /&gt;I have uploaded my presentation on the OASIS SOA Reference Model, Semantics, Ontology and Adobe work in the space.  The slides are available online &lt;a href="http://www.web2open.org/presentations/OASIS_SOA_Adobe_Semantics.pdf"&gt;here&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;Original post at &lt;a href="http://technoracle.blogspot.com"&gt;http://technoracle.blogspot.com&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17460203-8111149592220034626?l=technoracle.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://technoracle.blogspot.com/feeds/8111149592220034626/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=17460203&amp;postID=8111149592220034626" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/17460203/posts/default/8111149592220034626" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/17460203/posts/default/8111149592220034626" /><link rel="alternate" type="text/html" href="http://technoracle.blogspot.com/2009/06/berlin-university-semantics-and.html" title="Berlin University Semantics and Ontology Keynote" /><author><name>Duane "Chaos" Nickull</name><uri>http://www.blogger.com/profile/08767498160563891543</uri><email>Duane.Nickull@gmail.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="15353282611872762723" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17460203.post-2149738299729968360</id><published>2009-06-12T16:57:00.000-07:00</published><updated>2009-06-14T12:55:02.445-07:00</updated><title type="text">Adding Digital Signatures to a PDF Document with Java</title><content type="html">&lt;p&gt;For this exercise, you will need to make a call to a server running Adobe LiveCycle ES 8.2.1.  You will have to have it set up with appropriate user names and permissions.  To learn how to set up Eclipse with this project and your development environment, please see the previous article here in this video: &lt;a href="http://www.adobe.com/devnet/livecycle/articles/invoke_services.html"&gt;http://www.adobe.com/devnet/livecycle/articles/invoke_services.html&lt;/a&gt;&lt;br /&gt;&lt;/p&gt; &lt;p&gt;Set your domain name:port and the username and password in the code below. To programmatically add a Signature Field to a PDF document, the LC ES SDK offers a service client method called addSignatureField().  Here is the method signature (click to expand):&lt;br /&gt;&lt;/p&gt; &lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_JcWq9uCkob8/SjLso1hyDAI/AAAAAAAAAqQ/B0NmTVAryK8/s1600-h/AdobeLiveCycleES_DuaneNickull.png"&gt;&lt;img style="cursor: pointer; width: 320px; height: 45px;" src="http://2.bp.blogspot.com/_JcWq9uCkob8/SjLso1hyDAI/AAAAAAAAAqQ/B0NmTVAryK8/s320/AdobeLiveCycleES_DuaneNickull.png" alt="" id="BLOGGER_PHOTO_ID_5346595893949893634" border="0" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;br /&gt; During this exercise you will also learn how to invoke an Adobe LiveCycle ES service using the Java SDK to add a visible signature field to a PDF document. The expected duration is approximately 15 minutes.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;Step 1&lt;/strong&gt;: Set up a new Java class call AddSignatureField in Eclipse.  Import the same jars as per the previous lesson and also add the jar that contains the packages com.adobe.livecycle.signatures.client and com.adobe.livecycle.signatures.client.types. Copy the following code into your class:&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;pre&gt;&lt;p&gt;package org.duanesworldtv.livecycle.samples;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;    import java.util.*;&lt;br /&gt;&lt;br /&gt;  import java.io.File;&lt;br /&gt;&lt;br /&gt;  import java.io.FileInputStream;&lt;br /&gt;&lt;br /&gt;  import com.adobe.livecycle.signatures.client.*;&lt;br /&gt;&lt;br /&gt;  import com.adobe.livecycle.signatures.client.types.*;&lt;br /&gt;&lt;br /&gt;  import com.adobe.idp.Document;&lt;br /&gt;&lt;br /&gt;  import com.adobe.idp.dsc.clientsdk.ServiceClientFactory;&lt;br /&gt;&lt;br /&gt;  import com.adobe.idp.dsc.clientsdk.ServiceClientFactoryProperties;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;  public class AddSignatureField {&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;  public static void main(String[] args) {&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;  try&lt;br /&gt;&lt;br /&gt;  {&lt;br /&gt;&lt;br /&gt;  //Set connection properties required to invoke LiveCycle ES&lt;br /&gt;&lt;br /&gt;  Properties ConnectionProps = new Properties();&lt;br /&gt;&lt;br /&gt;  ConnectionProps.setProperty(ServiceClientFactoryProperties.DSC_DEFAULT_SOAP_ENDPOINT, "http://&amp;lt;your_server&gt;:&amp;lt;port&gt;");&lt;br /&gt;&lt;br /&gt;  ConnectionProps.setProperty(ServiceClientFactoryProperties.DSC_TRANSPORT_PROTOCOL,ServiceClientFactoryProperties.DSC_SOAP_PROTOCOL);&lt;br /&gt;&lt;br /&gt;  ConnectionProps.setProperty(ServiceClientFactoryProperties.DSC_SERVER_TYPE, "JBoss");&lt;br /&gt;&lt;br /&gt;  ConnectionProps.setProperty(ServiceClientFactoryProperties.DSC_CREDENTIAL_USERNAME, "administrator");&lt;br /&gt;&lt;br /&gt;  ConnectionProps.setProperty(ServiceClientFactoryProperties.DSC_CREDENTIAL_PASSWORD, "p@ssw0rd");&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;  //Create a ServiceClientFactory instance&lt;br /&gt;&lt;br /&gt;  ServiceClientFactory myFactory = ServiceClientFactory.createInstance(ConnectionProps);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;  //Create a SignatureServiceClient object&lt;br /&gt;&lt;br /&gt;  SignatureServiceClient signClient = new SignatureServiceClient(myFactory);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;  //Specify a PDF document to which a signature field is added&lt;br /&gt;&lt;br /&gt;  FileInputStream fileInputStream = new FileInputStream("/Users/duane/Desktop/eclipse/workspace/JavaOne2009-docs/test.pdf");&lt;br /&gt;&lt;br /&gt;  Document inDoc = new Document (fileInputStream);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;  //TODO: Specify the name of the signature field&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;  //TODO: Create a  PositionRectangle object that specifies&lt;br /&gt;&lt;br /&gt;  //the signature fields location&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;  //TODO: Specify the page number that will contain the signature field&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;  //Add a signature field to the PDF document&lt;br /&gt;&lt;br /&gt;  Document sigFieldPDF = signClient.addSignatureField(&lt;br /&gt;&lt;br /&gt;  inDoc,&lt;br /&gt;&lt;br /&gt;  fieldName,&lt;br /&gt;&lt;br /&gt;  pageNum,&lt;br /&gt;&lt;br /&gt;  post,&lt;br /&gt;&lt;br /&gt;  null,&lt;br /&gt;&lt;br /&gt;  null);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;  //Save the PDF document that contains the signature field&lt;br /&gt;&lt;br /&gt;  File outFile = new File("/Users/duane/Desktop/eclipse/workspace/JavaOne2009-docs/test-signed.pdf");&lt;br /&gt;&lt;br /&gt;  System.out.println("Signature added, file saved!");&lt;br /&gt;&lt;br /&gt;  sigFieldPDF.copyToFile(outFile);&lt;br /&gt;&lt;br /&gt;  } catch (Exception ee) {&lt;br /&gt;&lt;br /&gt;  ee.printStackTrace();&lt;br /&gt;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  }&lt;/port&gt;&lt;/your_server&gt;&lt;/p&gt;&lt;br /&gt;&lt;/pre&gt;&lt;p&gt;&lt;span style="font-family:monospace;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;tt&gt;&lt;/tt&gt;&lt;/p&gt; &lt;p&gt;&lt;strong&gt; Step 2: &lt;/strong&gt;Make sure your code looks similar to the following. There should five TODOs, two of which are merely paths.&lt;/p&gt;&lt;p&gt;We need to add code to complete the parameters required to write the code where the "TODO" markers are. Study the method signature to understand what each required parameter is. &lt;/p&gt;&lt;p&gt; &lt;strong&gt;Parameters&lt;br /&gt;&lt;/strong&gt;&lt;br /&gt;inPDFDoc — A com.adobe.idp.Document object that represents the PDF document to which the signature field is added. This is a required parameter and cannot be null.&lt;br /&gt;&lt;br /&gt;signatureFieldName — The name of the signature field. This is a required parameter and cannot be null.&lt;br /&gt;&lt;br /&gt;pageNumber — The page number on which the signature field is added. Valid values are 1 to the number of pages contained within the document. This is a required parameter and cannot be null.&lt;br /&gt;&lt;br /&gt;positionRectangle — A PositionRectangle object that specifies the position for the signature field. This is a required parameter and cannot be null. If the specified rectangle does not lie at least partially on the crop box of the specified page, an InvalidArgumentException is thrown. Also, neither the height nor width value of the specified rectangle can be 0 or negative. Lower left X or lower left Y coordinates can be 0 or greater but not negative, and are relative to the crop box of the page.&lt;br /&gt;&lt;br /&gt;fieldMDPOptionsSpec — A FieldMDPOptionSpec object that specifies the PDF document fields that are locked after the signature field is signed. This is an optional parameter and can be null.&lt;br /&gt;&lt;br /&gt;seedValueOptionsSpec — A PDFSeedValueOptionSpec object that specifies the various seed values for the field. This is an optional parameter and can be null.&lt;/p&gt; &lt;p&gt;TODO:&lt;/p&gt; &lt;p&gt; The first line of code you have to add will be the name of the signature field itself. This can be whatever you want. Signature fields in PDF documents are named uniquely so you can further manipulate them programmatically to do things like validate signatures, get signature values and more.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="codebox"&gt;&lt;pre&gt;&lt;p&gt; //TODO: Specify the name of the signature field&lt;br /&gt;&lt;strong&gt;&lt;br /&gt;String fieldName = "SignatureField1"; &lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;/p&gt;&lt;/pre&gt;&lt;/div&gt;      &lt;p&gt;&lt;strong&gt;Step 4:&lt;/strong&gt; You now need to create a "PositionRectangle" object that specifies the signature fields location. This is done via 4 integers which correspond to the (int lowerLeftX, int lowerLeftY, int width, int height). These represent the position of a signature field located within a PDF document. A signature field's rectangle defines the location of the signature field on the PDF document page in default user space units. An object of this type can be programmatically added to a PDF document.&lt;/p&gt;  &lt;div class="codebox"&gt;&lt;pre&gt;&lt;p&gt; //TODO: Create a  PositionRectangle object that specifies&lt;br /&gt;&lt;br /&gt;//the signature fields location&lt;br /&gt;&lt;strong&gt;&lt;br /&gt;PositionRectangle post = new  PositionRectangle(193,47,133,12); &lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;/strong&gt;&lt;br /&gt;&lt;/p&gt;&lt;/pre&gt;      &lt;/div&gt;     &lt;p&gt;&lt;strong&gt;Step 5:&lt;/strong&gt; The last thing you have to do is to specify the page number. This may be confusing but values start at 1 (not zero) and go up. This is a mandatory requirement and will throw an error if left null. HINT: The document we are using is only one page long.&lt;/p&gt;   &lt;div class="codebox"&gt;&lt;pre&gt;&lt;p&gt;//TODO: Specify the page number that will contain the signature field&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;&lt;br /&gt;java.lang.Integer pageNum = new java.lang.Integer(1);&lt;/strong&gt;&lt;br /&gt;&lt;/p&gt;&lt;/pre&gt;      &lt;/div&gt;     &lt;p&gt;&lt;strong&gt;Step 6:&lt;/strong&gt; Your code should now be ready to compile and run. It should look like the code below:&lt;/p&gt; &lt;div class="codebox"&gt;   &lt;pre&gt;&lt;p&gt;package org.duanesworldtv.livecycle.samples;&lt;/p&gt;&lt;br /&gt;&lt;p&gt;/*&lt;br /&gt;&lt;br /&gt;  * This Java Quick Start uses the following JAR files&lt;br /&gt;&lt;br /&gt;  * 1. adobe-signatures-client.jar&lt;br /&gt;&lt;br /&gt;  * 2. adobe-livecycle-client.jar&lt;br /&gt;&lt;br /&gt;  * 3. adobe-usermanager-client.jar&lt;br /&gt;&lt;br /&gt;  * 4. adobe-utilities.jar&lt;br /&gt;&lt;br /&gt;  * 5. jbossall-client.jar (use a different JAR file if LiveCycle ES is not deployed&lt;br /&gt;&lt;br /&gt;  * on JBoss)&lt;br /&gt;&lt;br /&gt;  *&lt;br /&gt;&lt;br /&gt;  * These JAR files are located in the following path:&lt;br /&gt;&lt;br /&gt;  * &lt;install&gt;/Adobe/LiveCycle9.0/LiveCycle_ES_SDK/client-libs/common&lt;br /&gt;&lt;br /&gt;  *&lt;br /&gt;&lt;br /&gt;  * For complete details about the location of these JAR files,&lt;br /&gt;&lt;br /&gt;  * see "Including LiveCycle ES library files" in Programming&lt;br /&gt;&lt;br /&gt;  * with LiveCycle ES&lt;br /&gt;&lt;br /&gt;  */&lt;br /&gt;&lt;br /&gt;  import java.util.*;&lt;br /&gt;&lt;br /&gt;  import java.io.File;&lt;br /&gt;&lt;br /&gt;  import java.io.FileInputStream;&lt;br /&gt;&lt;br /&gt;  import com.adobe.livecycle.signatures.client.*;&lt;br /&gt;&lt;br /&gt;  import com.adobe.livecycle.signatures.client.types.*;&lt;br /&gt;&lt;br /&gt;  import com.adobe.idp.Document;&lt;br /&gt;&lt;br /&gt;  import com.adobe.idp.dsc.clientsdk.ServiceClientFactory;&lt;br /&gt;&lt;br /&gt;  import com.adobe.idp.dsc.clientsdk.ServiceClientFactoryProperties;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;  public class AddSignatureField {&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;  public static void main(String[] args) {&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;  try&lt;br /&gt;&lt;br /&gt;  {&lt;br /&gt;&lt;br /&gt;  //Set connection properties required to invoke LiveCycle ES&lt;br /&gt;&lt;br /&gt;  Properties ConnectionProps = new Properties();&lt;br /&gt;&lt;br /&gt;  ConnectionProps.setProperty(ServiceClientFactoryProperties.DSC_DEFAULT_SOAP_ENDPOINT, "http://&amp;lt;your_server&gt;:&amp;lt;port&gt;");&lt;br /&gt;&lt;br /&gt;  ConnectionProps.setProperty(ServiceClientFactoryProperties.DSC_TRANSPORT_PROTOCOL,ServiceClientFactoryProperties.DSC_SOAP_PROTOCOL);&lt;br /&gt;&lt;br /&gt;  ConnectionProps.setProperty(ServiceClientFactoryProperties.DSC_SERVER_TYPE, "JBoss");&lt;br /&gt;&lt;br /&gt;  ConnectionProps.setProperty(ServiceClientFactoryProperties.DSC_CREDENTIAL_USERNAME, "administrator");&lt;br /&gt;&lt;br /&gt;  ConnectionProps.setProperty(ServiceClientFactoryProperties.DSC_CREDENTIAL_PASSWORD, "p@ssw0rd");&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;  //Create a ServiceClientFactory instance&lt;br /&gt;&lt;br /&gt;  ServiceClientFactory myFactory = ServiceClientFactory.createInstance(ConnectionProps);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;  //Create a SignatureServiceClient object&lt;br /&gt;&lt;br /&gt;  SignatureServiceClient signClient = new SignatureServiceClient(myFactory);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;  //Specify a PDF document to which a signature field is added&lt;br /&gt;&lt;br /&gt;  FileInputStream fileInputStream = new FileInputStream("/Users/duane/Desktop/eclipse/workspace/JavaOne2009-docs/test.pdf");&lt;br /&gt;&lt;br /&gt;  Document inDoc = new Document (fileInputStream);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;  //Specify the name of the signature field&lt;br /&gt;&lt;br /&gt;  String fieldName = "SignatureField1";&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;  //Create a  PositionRectangle object that specifies&lt;br /&gt;&lt;br /&gt;  //the signature fields location (int lowerLeftX, int lowerLeftY, int width, int height)&lt;br /&gt;&lt;br /&gt;  PositionRectangle post = new  PositionRectangle(193,47,133,35);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;  //Specify the page number that will contain the signature field&lt;br /&gt;&lt;br /&gt;  java.lang.Integer pageNum = new java.lang.Integer(1);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;  //Add a signature field to the PDF document&lt;br /&gt;&lt;br /&gt;  Document sigFieldPDF = signClient.addSignatureField(&lt;br /&gt;&lt;br /&gt;  inDoc,&lt;br /&gt;&lt;br /&gt;  fieldName,&lt;br /&gt;&lt;br /&gt;  pageNum,&lt;br /&gt;&lt;br /&gt;  post,&lt;br /&gt;&lt;br /&gt;  null,&lt;br /&gt;&lt;br /&gt;  null);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;  //Save the PDF document that contains the signature field&lt;br /&gt;&lt;br /&gt;  File outFile = new File("/Users/duane/Desktop/eclipse/workspace/JavaOne2009-docs/test-signed.pdf");&lt;br /&gt;&lt;br /&gt;  System.out.println("Signature added, file saved!");&lt;br /&gt;&lt;br /&gt;  sigFieldPDF.copyToFile(outFile);&lt;br /&gt;&lt;br /&gt;  } catch (Exception ee) {&lt;br /&gt;&lt;br /&gt;  ee.printStackTrace();&lt;br /&gt;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;  }&lt;/port&gt;&lt;/your_server&gt;&lt;/install&gt;&lt;/p&gt;&lt;/pre&gt; &lt;/div&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;Now run the code. Note that this lab will take about 15 seconds to completely run--probably longer if there are many people all logging in at the same time.&lt;/p&gt; &lt;p&gt;Navigate to the path you specified for the output file and see your document. You should see a PDF document with a signature!&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;Original post at &lt;a href="http://technoracle.blogspot.com"&gt;http://technoracle.blogspot.com&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17460203-2149738299729968360?l=technoracle.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://technoracle.blogspot.com/feeds/2149738299729968360/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=17460203&amp;postID=2149738299729968360" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/17460203/posts/default/2149738299729968360" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/17460203/posts/default/2149738299729968360" /><link rel="alternate" type="text/html" href="http://technoracle.blogspot.com/2009/06/adding-digital-signatures-to-pdf.html" title="Adding Digital Signatures to a PDF Document with Java" /><author><name>Duane "Chaos" Nickull</name><uri>http://www.blogger.com/profile/08767498160563891543</uri><email>Duane.Nickull@gmail.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="15353282611872762723" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://2.bp.blogspot.com/_JcWq9uCkob8/SjLso1hyDAI/AAAAAAAAAqQ/B0NmTVAryK8/s72-c/AdobeLiveCycleES_DuaneNickull.png" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17460203.post-2736254739240842054</id><published>2009-06-12T09:31:00.000-07:00</published><updated>2009-06-12T09:39:38.204-07:00</updated><title type="text">Displaying HTML in Flash Builder 4</title><content type="html">The simplest of all clients is a simple HTML client.  Adobe AIR uses the Webkit HTML engine  which gives you a powerful set of capabilities including AJAX, CSS and HTML controls.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_JcWq9uCkob8/SjKDQThjf7I/AAAAAAAAApw/AyF4I9vpgcc/s1600-h/Picture+88.png"&gt;&lt;img style="cursor: pointer; width: 320px; height: 231px;" src="http://1.bp.blogspot.com/_JcWq9uCkob8/SjKDQThjf7I/AAAAAAAAApw/AyF4I9vpgcc/s320/Picture+88.png" alt="" id="BLOGGER_PHOTO_ID_5346480023784357810" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Demonstrates the WebKit engine including a discussion on how much is available from Webkit in AIR.  We will write this project from scratch and learn how to&lt;br /&gt;set the URL, how it handles international characters, CSS and AJAX.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Instructions:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step 1:&lt;/span&gt; Build this from Scratch (new -&gt; Project -&gt; AIR…).  This will not work as a Flex application as the HTML component is not part of the Flex framework.  Use the settings as shown in the image below:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_JcWq9uCkob8/SjKD3XPNncI/AAAAAAAAAp4/b4KML1OqH6E/s1600-h/Picture+85.png"&gt;&lt;img style="cursor: pointer; width: 313px; height: 320px;" src="http://3.bp.blogspot.com/_JcWq9uCkob8/SjKD3XPNncI/AAAAAAAAAp4/b4KML1OqH6E/s320/Picture+85.png" alt="" id="BLOGGER_PHOTO_ID_5346480694796066242" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Step 2:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Add a vertical layout manager to your project by adding the following lines of code:&lt;br /&gt;&lt;br /&gt;            &lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_JcWq9uCkob8/SjKEPLB5O9I/AAAAAAAAAqA/vX3nzpisOEI/s1600-h/Picture+111.png"&gt;&lt;img style="cursor: pointer; width: 205px; height: 59px;" src="http://2.bp.blogspot.com/_JcWq9uCkob8/SjKEPLB5O9I/AAAAAAAAAqA/vX3nzpisOEI/s320/Picture+111.png" alt="" id="BLOGGER_PHOTO_ID_5346481103835839442" border="0" /&gt;&lt;/a&gt;&lt;s:layout&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Solution&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;/s:layout&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_JcWq9uCkob8/SjKEoGRdD8I/AAAAAAAAAqI/9jJOxSebchI/s1600-h/Picture+112.png"&gt;&lt;img style="cursor: pointer; width: 320px; height: 90px;" src="http://2.bp.blogspot.com/_JcWq9uCkob8/SjKEoGRdD8I/AAAAAAAAAqI/9jJOxSebchI/s320/Picture+112.png" alt="" id="BLOGGER_PHOTO_ID_5346481532055654338" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;s:layout&gt;&lt;br /&gt;&lt;s:windowedapplication fx="http://ns.adobe.com/mxml/2009" s="library://ns.adobe.com/flex/spark" mx="library://ns.adobe.com/flex/halo" backgroundcolor="#eeb470" minheight="700" minwidth="1000"&gt;&lt;br /&gt; &lt;s:layout&gt;&lt;br /&gt;     &lt;s:basiclayout&gt;&lt;br /&gt; &lt;/s:basiclayout&gt;&lt;br /&gt;&lt;br /&gt;   &lt;s:textinput horizontalcenter="true" id="myTI" top="20" left="100" right="100" enter="myHTML.location=myTI.text”            textAlign=" center="" enabled="true" basecolor="#850909" text="enter a url (start with 'http://') and hit enter"&gt;&lt;br /&gt;&lt;br /&gt; &lt;mx:html location="http://www.google.com" id="myHTML" left="12" right="8" height="614" y="69" width="972"&gt;&lt;br /&gt;&lt;/mx:html&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/s:textinput&gt;&lt;/s:layout&gt;&lt;/s:windowedapplication&gt;&lt;/s:layout&gt;&lt;div class="blogger-post-footer"&gt;Original post at &lt;a href="http://technoracle.blogspot.com"&gt;http://technoracle.blogspot.com&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17460203-2736254739240842054?l=technoracle.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://technoracle.blogspot.com/feeds/2736254739240842054/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=17460203&amp;postID=2736254739240842054" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/17460203/posts/default/2736254739240842054" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/17460203/posts/default/2736254739240842054" /><link rel="alternate" type="text/html" href="http://technoracle.blogspot.com/2009/06/displaying-html-in-flash-builder-4.html" title="Displaying HTML in Flash Builder 4" /><author><name>Duane "Chaos" Nickull</name><uri>http://www.blogger.com/profile/08767498160563891543</uri><email>Duane.Nickull@gmail.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="15353282611872762723" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://1.bp.blogspot.com/_JcWq9uCkob8/SjKDQThjf7I/AAAAAAAAApw/AyF4I9vpgcc/s72-c/Picture+88.png" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17460203.post-4295463930890171459</id><published>2009-06-09T17:06:00.001-07:00</published><updated>2009-06-09T18:03:25.544-07:00</updated><title type="text">How To Video: Capturing Keyboard Events in Flex 3</title><content type="html">&lt;embed src="http://tv.adobe.com/Embed.swf" bgcolor="#000000" name="AdobeTVPlayer" play="true" loop="false" quality="high" allowscriptaccess="always" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/go/getflashplayer" flashvars="v=~b64~aHR0cDovL2Fkb2JlLmVkZ2Vib3NzLm5ldC9mbGFzaC9hZG9iZS9hZG9iZXR2Mi9hZGNfcHJlc2VudHMvNjRfYWRjXzEzOS5mbHY/cnNzX2ZlZWRpZD0xNDcyJnhtbHZlcnM9Mg==&amp;amp;w=600&amp;amp;t=http://tv.adobe.com/vi+f1472v1099&amp;amp;h=385" width="600" height="385"&gt;&lt;/embed&gt;&lt;div class="blogger-post-footer"&gt;Original post at &lt;a href="http://technoracle.blogspot.com"&gt;http://technoracle.blogspot.com&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17460203-4295463930890171459?l=technoracle.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://technoracle.blogspot.com/feeds/4295463930890171459/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=17460203&amp;postID=4295463930890171459" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/17460203/posts/default/4295463930890171459" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/17460203/posts/default/4295463930890171459" /><link rel="alternate" type="text/html" href="http://technoracle.blogspot.com/2009/06/how-to-video-capturing-keyboard-events.html" title="How To Video: Capturing Keyboard Events in Flex 3" /><author><name>Duane "Chaos" Nickull</name><uri>http://www.blogger.com/profile/08767498160563891543</uri><email>Duane.Nickull@gmail.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="15353282611872762723" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17460203.post-9084664894456445438</id><published>2009-06-09T14:43:00.000-07:00</published><updated>2009-06-09T18:01:24.901-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="web 2.0 architecture" /><title type="text">Great write up on Web 2.0 Architecture book</title><content type="html">My co-author Dion Hinchcliffe sent me a cool email today saying that the UK Amazon site was down to only 2 books and ours is now ranked #14 overall in the category of Web design.  I then saw this great write up.&lt;br /&gt;&lt;br /&gt;&lt;h1&gt;&lt;a href="http://www.cmswire.com/cms/web-development/book-web-20-architectures-from-oreilly-004782.php"&gt;Book: Web 2.0 Architectures from O'Reilly&lt;/a&gt;&lt;/h1&gt;&lt;a class="external" href="http://oreilly.com/"&gt;&lt;/a&gt;&lt;blockquote&gt;&lt;a class="external" href="http://oreilly.com/"&gt;O'Reilly Media&lt;/a&gt; has released a new book on Web 2.0. Called &lt;em&gt;&lt;strong&gt;Web 2.0 Architectures&lt;/strong&gt;&lt;/em&gt;, this book should help you understand better the inner workings of Web 2.0 from a technology perspective and how some online services today have been successful with this model.&lt;br /&gt;&lt;br /&gt;If you are looking to understand Web 2.0 from a marketing perspective, this may not be the book for you. But if you are a web architect, business analyst or someone who wants to &lt;a href="http://www.cmswire.com/news/topic/web+development"&gt;build your own Web 2.0&lt;/a&gt; website or solution, there is bound to be some information in this book to get you started.&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;I'd personally also like to re-thank Mark Little, Simon St. Laurent and Matt MacKenzie for their work on this book too.  While not reflected in the credits, these three had an immense impact on the thinking and research that led to this book.  Last but certainly not least, Tim O'Reilly himself deserves a lot of credit for challenging us on how we think about patterns and interpret Web 2.0.  Again, while not reflected in the book, all of these people were instrumental in shaping this work.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_JcWq9uCkob8/Si7YdpvI-uI/AAAAAAAAApo/b76iYfBMWrw/s1600-h/Web20ArchitectureBook.jpg"&gt;&lt;img style="cursor: pointer; width: 240px; height: 240px;" src="http://3.bp.blogspot.com/_JcWq9uCkob8/Si7YdpvI-uI/AAAAAAAAApo/b76iYfBMWrw/s320/Web20ArchitectureBook.jpg" alt="" id="BLOGGER_PHOTO_ID_5345447811666737890" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;Original post at &lt;a href="http://technoracle.blogspot.com"&gt;http://technoracle.blogspot.com&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17460203-9084664894456445438?l=technoracle.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://technoracle.blogspot.com/feeds/9084664894456445438/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=17460203&amp;postID=9084664894456445438" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/17460203/posts/default/9084664894456445438" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/17460203/posts/default/9084664894456445438" /><link rel="alternate" type="text/html" href="http://technoracle.blogspot.com/2009/06/great-write-up-on-web-20-architecture.html" title="Great write up on Web 2.0 Architecture book" /><author><name>Duane "Chaos" Nickull</name><uri>http://www.blogger.com/profile/08767498160563891543</uri><email>Duane.Nickull@gmail.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="15353282611872762723" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_JcWq9uCkob8/Si7YdpvI-uI/AAAAAAAAApo/b76iYfBMWrw/s72-c/Web20ArchitectureBook.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17460203.post-3686966646550512694</id><published>2009-06-08T15:32:00.000-07:00</published><updated>2009-06-08T17:35:55.755-07:00</updated><title type="text">Force.com Toolkit for Adobe AIR and Flex</title><content type="html">&lt;p&gt;HB Mok pinged me internally and was really stoked to see that the Force.com toolkit for Adobe AIR and Flex has been updated. The &lt;a href="http://wiki.developerforce.com/index.php/Flex_Toolkit"&gt;toolkit&lt;/a&gt; enables developers to access data and business processes held within Force.com from a Flex or AIR programming environment.   Needless to say, developers could quickly code up some rather sweet looking mashups using that data in no time at all.&lt;br /&gt;&lt;/p&gt;&lt;div&gt;The main focus of the revision seems to be around the latest Services APIs, which includes both fixes and updates.  It's just been released and I hope I will have time to play around with it soon.&lt;br /&gt;&lt;br /&gt;Anyone got a project they need built?  ;-p&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;div&gt;Learn more about the toolkit &lt;a href="http://wiki.developerforce.com/index.php/Flex_Toolkit" target="_blank"&gt;here&lt;/a&gt; and download the bits from our &lt;a href="http://developer.force.com/codeshare/apex/ProjectPage?id=a0630000002ahp2AAA" target="_blank"&gt;Code Share project&lt;/a&gt;.&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;Original post at &lt;a href="http://technoracle.blogspot.com"&gt;http://technoracle.blogspot.com&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17460203-3686966646550512694?l=technoracle.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://technoracle.blogspot.com/feeds/3686966646550512694/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=17460203&amp;postID=3686966646550512694" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/17460203/posts/default/3686966646550512694" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/17460203/posts/default/3686966646550512694" /><link rel="alternate" type="text/html" href="http://technoracle.blogspot.com/2009/06/forcecom-toolkit-for-adobe-air-and-flex.html" title="Force.com Toolkit for Adobe AIR and Flex" /><author><name>Duane "Chaos" Nickull</name><uri>http://www.blogger.com/profile/08767498160563891543</uri><email>Duane.Nickull@gmail.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="15353282611872762723" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17460203.post-7411554447140389034</id><published>2009-06-04T15:30:00.000-07:00</published><updated>2009-06-04T17:17:37.158-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="certification" /><category scheme="http://www.blogger.com/atom/ns#" term="Adobe LiveCycle Training" /><category scheme="http://www.blogger.com/atom/ns#" term="Adobe LiveCycle ES" /><title type="text">LiveCycle @ MAX bundle - new for 2009!</title><content type="html">&lt;div id="topMargin"&gt;At this year's MAX conference, LiveCycle will be making an even bigger impact.  This partially reflects the fact that LiveCycle developers are being sought in record numbers, but my personal opinion is that LiveCycle is the future of enterprise computing.  Not many people are aware that Adobe is an SOA &amp;amp; BPM vendor, but we are.  My own company was acquired in 2003 for a service registry-repository.  We are not only an SOA &amp;amp; BPM vendor, but a mature vendor to boot.  Several key analysts following this space have given Adobe LiveCycle ES some of the greatest reviews ever, but I digress.&lt;br /&gt;&lt;br /&gt;The main reason I wanted to make this post is to make sure that people know this is where they can go to get training on LC ES and also receive in depth product knowledge transfer.  I also want to let you know that there are huge discounts available for registering early for this at MAX 2009.  &lt;a href="https://max.adobe.com/register/"&gt;Register for this by August 10&lt;/a&gt; and receive US$200 off the regular price of a full conference pass.&lt;br /&gt;&lt;br /&gt;The program itself is for enterprise developers and combines 1.5 days of introductory preconference training on LiveCycle ES (Enterprise Suite) with a full conference pass to MAX 2009.&lt;/div&gt;                       &lt;p&gt;The preconference lab, "LiveCycle ES: Building Rich Engaging Applications," is an essential introduction to developing user-centric applications with Adobe LiveCycle ES. LiveCycle ES allows both business and IT professionals to visually assemble end-to-end processes, which when combined with rich interfaces, create engaging applications that unify systems and people quickly and flexibly. We'll present an end-to-end use case bringing a rich Internet application (RIA) and a LiveCycle application together. You will learn about the LiveCycle IDE, the Admin User Interface, and the LiveCycle ES solution components as we guide the participants through the development of this comprehensive use case.&lt;/p&gt;              &lt;p style="padding-top: 18px;"&gt;We strongly recommend this training to those new to LiveCycle ES, or those who would like a refresher, in order to get the most value out of the more advanced LiveCycle topics that will be presented during the MAX event.&lt;/p&gt;&lt;p style="padding-top: 18px;"&gt;The LiveCycle ES: Building Rich Engaging Applications preconference lab will take place the following dates and times at the Los Angeles Convention Center, the same venue as MAX 2009.&lt;/p&gt;&lt;div class="scheduleHeadline"&gt;    &lt;span style="font-weight: bold;"&gt;Saturday, October 3    &lt;/span&gt;&lt;/div&gt;     &lt;table class="schedule"&gt;    &lt;tbody&gt;&lt;tr&gt;     &lt;td class="scheduleTime"&gt;      11:00am–12:00pm     &lt;/td&gt;     &lt;td&gt;      Registration     &lt;/td&gt;    &lt;/tr&gt;    &lt;tr&gt;     &lt;td&gt;      12:00pm–1:00pm     &lt;/td&gt;     &lt;td&gt;      Lunch     &lt;/td&gt;    &lt;/tr&gt;    &lt;tr&gt;     &lt;td&gt;      1:00pm–5:00pm     &lt;/td&gt;     &lt;td&gt;      LiveCycle ES: Building Rich Engaging Applications preconference lab     &lt;/td&gt;    &lt;/tr&gt;    &lt;/tbody&gt;&lt;/table&gt;   &lt;!-- Start Section --&gt;      &lt;div class="scheduleHeadline"&gt;    &lt;span style="font-weight: bold;"&gt;Sunday, October 4    &lt;/span&gt;&lt;/div&gt;         &lt;table class="schedule"&gt;&lt;tbody&gt;&lt;tr&gt;     &lt;td class="scheduleTime"&gt;      8:00am–9:00am     &lt;/td&gt;     &lt;td&gt;      Continental breakfast     &lt;/td&gt;    &lt;/tr&gt;    &lt;tr&gt;     &lt;td&gt;      9:00am–12:00pm     &lt;/td&gt;     &lt;td&gt;      LiveCycle ES: Building Rich Engaging Applications preconference lab     &lt;/td&gt;    &lt;/tr&gt;    &lt;tr&gt;     &lt;td&gt;      12:00pm–1:00pm     &lt;/td&gt;     &lt;td&gt;      Lunch      &lt;/td&gt;    &lt;/tr&gt;    &lt;tr&gt;     &lt;td&gt;      1:00pm–5:00pm     &lt;/td&gt;     &lt;td&gt;      LiveCycle ES: Building Rich Engaging Applications preconference lab     &lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="blogger-post-footer"&gt;Original post at &lt;a href="http://technoracle.blogspot.com"&gt;http://technoracle.blogspot.com&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17460203-7411554447140389034?l=technoracle.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://technoracle.blogspot.com/feeds/7411554447140389034/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=17460203&amp;postID=7411554447140389034" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/17460203/posts/default/7411554447140389034" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/17460203/posts/default/7411554447140389034" /><link rel="alternate" type="text/html" href="http://technoracle.blogspot.com/2009/06/livecycle-max-bundle-new-for-2009.html" title="LiveCycle @ MAX bundle - new for 2009!" /><author><name>Duane "Chaos" Nickull</name><uri>http://www.blogger.com/profile/08767498160563891543</uri><email>Duane.Nickull@gmail.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="15353282611872762723" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17460203.post-8106862434039117043</id><published>2009-06-04T15:17:00.000-07:00</published><updated>2009-06-04T15:19:58.106-07:00</updated><title type="text">The Coolest Flex User Group Poster ever!</title><content type="html">&lt;a href="https://corlan.org/"&gt;&lt;br /&gt;Mihai Corlan&lt;/a&gt; sent me an email today with the &lt;a href="http://groups.adobe.com/groups/15724342f4/summary"&gt;Transylvania Flex User Group&lt;/a&gt; poster below.  Very Cool!&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_JcWq9uCkob8/SihIJ6N1yLI/AAAAAAAAApg/tF6LO6Xybgg/s1600-h/transylvania-flex-camp.jpg"&gt;&lt;img style="cursor: pointer; width: 226px; height: 320px;" src="http://3.bp.blogspot.com/_JcWq9uCkob8/SihIJ6N1yLI/AAAAAAAAApg/tF6LO6Xybgg/s320/transylvania-flex-camp.jpg" alt="" id="BLOGGER_PHOTO_ID_5343600292958423218" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;Original post at &lt;a href="http://technoracle.blogspot.com"&gt;http://technoracle.blogspot.com&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17460203-8106862434039117043?l=technoracle.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://technoracle.blogspot.com/feeds/8106862434039117043/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=17460203&amp;postID=8106862434039117043" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/17460203/posts/default/8106862434039117043" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/17460203/posts/default/8106862434039117043" /><link rel="alternate" type="text/html" href="http://technoracle.blogspot.com/2009/06/coolest-flex-user-group-poseter-ever.html" title="The Coolest Flex User Group Poster ever!" /><author><name>Duane "Chaos" Nickull</name><uri>http://www.blogger.com/profile/08767498160563891543</uri><email>Duane.Nickull@gmail.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="15353282611872762723" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://3.bp.blogspot.com/_JcWq9uCkob8/SihIJ6N1yLI/AAAAAAAAApg/tF6LO6Xybgg/s72-c/transylvania-flex-camp.jpg" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17460203.post-1890614342602682949</id><published>2009-05-28T10:57:00.001-07:00</published><updated>2009-05-28T10:58:08.802-07:00</updated><title type="text">Flex Video Tutorial - Handling Communication Faults</title><content type="html">A new video tutorial is now available on Adobe TV that walks developers through the process of catching basic communication faults.&lt;br /&gt;&lt;br /&gt;&lt;embed src="http://tv.adobe.com/Embed.swf" quality="high" bgcolor="#000000" width="600" height="385" name="AdobeTVPlayer" play="true" loop="false" quality="high" allowscriptaccess="always" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/go/getflashplayer" flashvars="v=~b64~aHR0cDovL2Fkb2JlLmVkZ2Vib3NzLm5ldC9mbGFzaC9hZG9iZS9hZG9iZXR2Mi9hZGNfcHJlc2VudHMvNjRfYWRjXzEyOS5mbHY/cnNzX2ZlZWRpZD0xNDcyJnhtbHZlcnM9Mg==&amp;amp;w=600&amp;amp;t=http://tv.adobe.com/#vi+f1472v1093&amp;amp;h=385"&gt;&lt;/embed&gt;&lt;div class="blogger-post-footer"&gt;Original post at &lt;a href="http://technoracle.blogspot.com"&gt;http://technoracle.blogspot.com&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17460203-1890614342602682949?l=technoracle.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://technoracle.blogspot.com/feeds/1890614342602682949/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=17460203&amp;postID=1890614342602682949" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/17460203/posts/default/1890614342602682949" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/17460203/posts/default/1890614342602682949" /><link rel="alternate" type="text/html" href="http://technoracle.blogspot.com/2009/05/flex-video-tutorial-handling.html" title="Flex Video Tutorial - Handling Communication Faults" /><author><name>Duane "Chaos" Nickull</name><uri>http://www.blogger.com/profile/08767498160563891543</uri><email>Duane.Nickull@gmail.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="15353282611872762723" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17460203.post-2210254070671412975</id><published>2009-05-26T14:24:00.000-07:00</published><updated>2009-05-26T15:40:44.248-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Tour de LiveCycle" /><title type="text">Tour de LiveCycle Launches!</title><content type="html">Woot - I got the email from &lt;a href="http://gregsramblings.com/"&gt;Greg&lt;/a&gt; today that Tour de LiveCycle is now live!  If you have not yet played around with Adobe LiveCycle ES, this is your time to do it.  It is an AIR application that takes you around LiveCycle ES and shows you what it does etc.&lt;br /&gt;&lt;br /&gt;To install, click on the badge below.&lt;br /&gt;&lt;br /&gt;&lt;iframe src="http://tourdelc.adobe.com/badge/" scrolling="no" width="216" frameborder="0" height="182"&gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;Original post at &lt;a href="http://technoracle.blogspot.com"&gt;http://technoracle.blogspot.com&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17460203-2210254070671412975?l=technoracle.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://technoracle.blogspot.com/feeds/2210254070671412975/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=17460203&amp;postID=2210254070671412975" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/17460203/posts/default/2210254070671412975" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/17460203/posts/default/2210254070671412975" /><link rel="alternate" type="text/html" href="http://technoracle.blogspot.com/2009/05/tour-de-livecycle-launches.html" title="Tour de LiveCycle Launches!" /><author><name>Duane "Chaos" Nickull</name><uri>http://www.blogger.com/profile/08767498160563891543</uri><email>Duane.Nickull@gmail.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="15353282611872762723" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17460203.post-1208783346385419281</id><published>2009-05-26T10:06:00.000-07:00</published><updated>2009-05-26T11:36:18.245-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="I love germany" /><category scheme="http://www.blogger.com/atom/ns#" term="Adobe training" /><category scheme="http://www.blogger.com/atom/ns#" term="Flex" /><category scheme="http://www.blogger.com/atom/ns#" term="berlin" /><category scheme="http://www.blogger.com/atom/ns#" term="adobe" /><title type="text">Flash Summer Camp Berlin!</title><content type="html">Flash Summer Camp Berlin is a completely free event organised by Flex Labs, the &lt;a href="http://groups.adobe.com/groups/36ad4e0e4f/summary"&gt;Berlin Adobe Flex User Group&lt;/a&gt;.  I will be presenting a two-hour hands-on code camp.&lt;br /&gt;&lt;br /&gt;This will be a whole day of experts sharing hands-on coding, presentations, and their knowledge with you. Topics include Flash, Flex and AIR, ColdFusion, Frameworks, Designer Development Workflow, and many more.  If you are in Berlin June 14, you might want to come and meet some of the Adobe team and  community leaders, as well as network with fellow developers and designers.&lt;br /&gt;&lt;br /&gt;Whether you’re just getting started with the Flash Platform, or consider&lt;br /&gt;yourself an expert, there’s something for you!&lt;br /&gt;&lt;br /&gt;Ich hoffe auch, dass zu viele Biere mit meinen Freunden in Berlin in einem Biergarten (mit Sonne!)&lt;br /&gt;&lt;br /&gt;Bis denn!&lt;div class="blogger-post-footer"&gt;Original post at &lt;a href="http://technoracle.blogspot.com"&gt;http://technoracle.blogspot.com&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17460203-1208783346385419281?l=technoracle.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://technoracle.blogspot.com/feeds/1208783346385419281/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=17460203&amp;postID=1208783346385419281" title="2 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/17460203/posts/default/1208783346385419281" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/17460203/posts/default/1208783346385419281" /><link rel="alternate" type="text/html" href="http://technoracle.blogspot.com/2009/05/flash-summer-camp-berlin.html" title="Flash Summer Camp Berlin!" /><author><name>Duane "Chaos" Nickull</name><uri>http://www.blogger.com/profile/08767498160563891543</uri><email>Duane.Nickull@gmail.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="15353282611872762723" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17460203.post-9210364850437989268</id><published>2009-05-25T09:33:00.000-07:00</published><updated>2009-05-25T09:34:59.782-07:00</updated><title type="text">Duane's World Episode 20</title><content type="html">This show is from Dubai, United Arab Emirates.  I get to interview Padster Reynolds from E-Smartz and show some code samples of LiveCycle ES access using Java.  The tutorial is a bit difficult to set up but I can help out if any of you have some desire to get it running.&lt;br /&gt;&lt;br /&gt;&lt;embed src="http://tv.adobe.com/Embed.swf" quality="high" bgcolor="#000000" width="600" height="385" name="AdobeTVPlayer" play="true" loop="false" quality="high" allowScriptAccess="always" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/go/getflashplayer" flashVars="v=~b64~aHR0cDovL2Fkb2JlLmVkZ2Vib3NzLm5ldC9mbGFzaC9hZG9iZS9hZG9iZXR2Mi9kdWFuZXNfd29ybGQvNjlfZHVhXzAxOS5mbHY/cnNzX2ZlZWRpZD0xNTM3JnhtbHZlcnM9Mg==&amp;w=600&amp;t=http://tv.adobe.com/#vi+f1537v1008&amp;h=385"&gt;&lt;/embed&gt;&lt;div class="blogger-post-footer"&gt;Original post at &lt;a href="http://technoracle.blogspot.com"&gt;http://technoracle.blogspot.com&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17460203-9210364850437989268?l=technoracle.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://technoracle.blogspot.com/feeds/9210364850437989268/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=17460203&amp;postID=9210364850437989268" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/17460203/posts/default/9210364850437989268" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/17460203/posts/default/9210364850437989268" /><link rel="alternate" type="text/html" href="http://technoracle.blogspot.com/2009/05/duanes-world-episode-20.html" title="Duane's World Episode 20" /><author><name>Duane "Chaos" Nickull</name><uri>http://www.blogger.com/profile/08767498160563891543</uri><email>Duane.Nickull@gmail.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="15353282611872762723" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17460203.post-7722415077716536293</id><published>2009-05-22T16:16:00.000-07:00</published><updated>2009-05-22T16:42:42.163-07:00</updated><title type="text">Can Squirrels code RIAs in Adobe Flex?</title><content type="html">My life is very weird.  This morning I was making coffee when I saw a cute black animal pop up from behind my wife's desk.  A squirrel.  Despite trying to chase it out, scare it, bribe it outside with food and water, it keeps running back into our house.  I felt bad that I had to leave for a few hours so I fed it some nuts and stuff.   I think I scared it though when I asked it towards the end of this video if it wanted to help me code up some RIAs in Adobe Flex.  Every day I think my life cannot get weirder but it does.&lt;br /&gt;&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/8MVzMwV_o2k&amp;hl=en&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/8MVzMwV_o2k&amp;hl=en&amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;Original post at &lt;a href="http://technoracle.blogspot.com"&gt;http://technoracle.blogspot.com&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17460203-7722415077716536293?l=technoracle.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://technoracle.blogspot.com/feeds/7722415077716536293/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=17460203&amp;postID=7722415077716536293" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/17460203/posts/default/7722415077716536293" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/17460203/posts/default/7722415077716536293" /><link rel="alternate" type="text/html" href="http://technoracle.blogspot.com/2009/05/can-squirrels-code-rias-in-adobe-flex.html" title="Can Squirrels code RIAs in Adobe Flex?" /><author><name>Duane "Chaos" Nickull</name><uri>http://www.blogger.com/profile/08767498160563891543</uri><email>Duane.Nickull@gmail.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="15353282611872762723" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17460203.post-7937225116744050345</id><published>2009-05-21T15:23:00.001-07:00</published><updated>2009-05-22T08:42:46.952-07:00</updated><title type="text">Web 2.0 Architecture - the book is here!</title><content type="html">Web 2.0 Architectures, the book, is now out!  I got to hold the first physical copy in my hands yesterday! (Thank you Betsy!!).   James Governor,  Dion Hinchcliffe, and I put in a ton of work, but there are so many other people that contributed to this book or helped us with our research that I couldn't even begin to list them all.  The number one thank you I do want to make though is to O'Reilly -- specifically Tim O'Reilly, Steve Weiss and Simon St. Laurent.  Simon played such a pivotal role in this book I feel his name should be on it as a co-author.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_JcWq9uCkob8/ShXU02qpGXI/AAAAAAAAAoo/wlckm-tr9kc/s1600-h/Picture+14.png"&gt;&lt;img style="cursor: pointer; width: 320px; height: 259px;" src="http://4.bp.blogspot.com/_JcWq9uCkob8/ShXU02qpGXI/AAAAAAAAAoo/wlckm-tr9kc/s320/Picture+14.png" alt="" id="BLOGGER_PHOTO_ID_5338406937810246002" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Here are my other thank yous in no particular order.&lt;br /&gt;&lt;br /&gt;Kevin Lynch, Michele Turner, and Jeff Whatcott from Adobe for letting this&lt;br /&gt;take precedence over filing status reports ;-); my wife, Bettina Rothe, and&lt;br /&gt;my children for putting up with me during the process; Ted Patrick, James&lt;br /&gt;Ward, Prayank Swaroop, Alex Choy, Kumar Vora, the entire Adobe Platform&lt;br /&gt;Business Unit, Enrique Duvos, Ivan Koon, Mihai, Serge, Tom, Piotr,&lt;br /&gt;Chet, Greg, Eugene Lee, Waldo Smeets, John Hogerland, The rest of Redmonk, Burton, Gartner, Ben Watson, Matt Mackenzie, Melonie Warfel, Ed Chase, Diane&lt;br /&gt;Helander, David Mendels, and Ben Forta for challenging the intellect and&lt;br /&gt;generally being great people to work with; Ensemble, Rom Portwood for the blue hair&lt;br /&gt;idea and the Balvenie 21-year Portwood finish; Bobby Caudill (when is that&lt;br /&gt;demo tape coming???); Andre Charland (Nitobi and constant blogger); my bands&lt;br /&gt;22nd Century (&lt;a href="http://ww.myspace.com/22ndcentury"&gt;http://ww.myspace.com/22ndcentury&lt;/a&gt;) and Stress&lt;br /&gt;Factor 9 (&lt;a href="http://www.myspace.com/stressfactor9"&gt;http://www.myspace.com/stressfactor9&lt;/a&gt;); the guys and girls at&lt;br /&gt;Weissach for keeping the Porsche tuned; Matt and Trey, the creators of&lt;br /&gt;South Park, for inspiring me to reach for something lower, and Beavis and&lt;br /&gt;Butthead for inspiring me to create things that truly do not suck; Dilbert&lt;br /&gt;creator Scott Adams; Sim Simeonov, Mike Connor, Danny Kolke, Greg Ruff, Ajit Jaokar,&lt;br /&gt;Jeremy Geelan, Tim Bray, Mark Little (for taking time out of his busy&lt;br /&gt;schedule to help edit this book); Yefim Natis (Gartner); the entire staff at&lt;br /&gt;OASIS and UN/CEFACT; Bruce D'Arcus (the guy who I like the most despite the&lt;br /&gt;fact that we never agree J), Audrey Doyle; Gary Edwards; David RR Webber;&lt;br /&gt;Colleen Nystedt (friend, movie producer, and creator of MovieSet.com); Bob&lt;br /&gt;Sutor; Christian Huemer; Birgit Hofreiter (for teaching me about&lt;br /&gt;modeling); Brian Eisenberg; Arofan Gregory (how was that Barcelona-ian&lt;br /&gt;brandy?); all the people involved in the creation of this book and O'Reilly&lt;br /&gt;Media for taking on the project; John Sowa for making sense of propositional&lt;br /&gt;algebra; Adam Pease for SUMO and for being an upstanding, approachable&lt;br /&gt;academic; David Luckham for sharing good Scotch over discussions on CEP;&lt;br /&gt;Gary Dunn; Dick Hardt (my Porsche is almost as fast as yours); Guy Kawasaki;&lt;br /&gt;Bob Glushko; Shantanu Narayen and Bruce Chizen, Adobe Systems CEO, for inspiring me&lt;br /&gt;on a great humanitarian level and showing that corporate success and good&lt;br /&gt;community go hand in hand; all of Adobe PR for putting up with my antics;&lt;br /&gt;Johnny Rotten, Randy Rampage, Zippy Pinhead, Jim Morrison, and Kurt Cobain (for their immense wisdom and teaching me that speaking the truth is never wrong); Peter Brown (who gets stuck with the next wine bill); Pam Deziel (I'll invite you to wine if it's&lt;br /&gt;Peter's turn to buy); Marc Straat; Marc Eaman for drinking beer to help&lt;br /&gt;lower my wine bills and reminding me that old guys can play great ice&lt;br /&gt;hockey; Chuck Meyers for not questioning my wine bills; and my friends and&lt;br /&gt;colleagues who have helped me over the years in this high-tech life.&lt;br /&gt;&lt;br /&gt;The book is available here (Click on Book)&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.amazon.ca/Web-2-0-Architectures-Entrepreneurs-Information/dp/0596514433/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1242945446&amp;amp;sr=8-1"&gt;&lt;img style="cursor: pointer; width: 240px; height: 240px;" src="http://2.bp.blogspot.com/_JcWq9uCkob8/ShXX-NMqVWI/AAAAAAAAAow/8akpaFotIos/s320/Web20ArchitectureBook.jpg" alt="" id="BLOGGER_PHOTO_ID_5338410397012219234" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;Original post at &lt;a href="http://technoracle.blogspot.com"&gt;http://technoracle.blogspot.com&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17460203-7937225116744050345?l=technoracle.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://technoracle.blogspot.com/feeds/7937225116744050345/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=17460203&amp;postID=7937225116744050345" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/17460203/posts/default/7937225116744050345" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/17460203/posts/default/7937225116744050345" /><link rel="alternate" type="text/html" href="http://technoracle.blogspot.com/2009/05/web-20-architecture-book-is-here.html" title="Web 2.0 Architecture - the book is here!" /><author><name>Duane "Chaos" Nickull</name><uri>http://www.blogger.com/profile/08767498160563891543</uri><email>Duane.Nickull@gmail.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="15353282611872762723" /></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="http://4.bp.blogspot.com/_JcWq9uCkob8/ShXU02qpGXI/AAAAAAAAAoo/wlckm-tr9kc/s72-c/Picture+14.png" height="72" width="72" /><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17460203.post-45249700378625178</id><published>2009-05-20T11:27:00.001-07:00</published><updated>2009-05-20T11:29:06.722-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="blazeDS" /><category scheme="http://www.blogger.com/atom/ns#" term="REST" /><category scheme="http://www.blogger.com/atom/ns#" term="Flash Builder" /><category scheme="http://www.blogger.com/atom/ns#" term="Flex" /><category scheme="http://www.blogger.com/atom/ns#" term="adobe" /><title type="text">Video tutorial - talking to BlazeDS from Flex</title><content type="html">This is a simple tutorial you can complete in about 5 minutes once you have the required files.  Download the full BlazeDS package from http://www.web2open.org/courses.html (get the Building Service Clients course) and follow along with the video.  Written instructions and the source code for this are available from the download.&lt;br /&gt;&lt;br /&gt;&lt;embed src="http://tv.adobe.com/Embed.swf" quality="high" bgcolor="#000000" width="600" height="385" name="AdobeTVPlayer" play="true" loop="false" quality="high" allowscriptaccess="always" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/go/getflashplayer" flashvars="v=~b64~aHR0cDovL2Fkb2JlLmVkZ2Vib3NzLm5ldC9mbGFzaC9hZG9iZS9hZG9iZXR2Mi9hZGNfcHJlc2VudHMvNjRfYWRjXzEyNy5mbHY/cnNzX2ZlZWRpZD0xNDcyJnhtbHZlcnM9Mg==&amp;amp;w=600&amp;amp;t=http://tv.adobe.com/vi+f1472v1091&amp;amp;h=385"&gt;&lt;/embed&gt;&lt;div class="blogger-post-footer"&gt;Original post at &lt;a href="http://technoracle.blogspot.com"&gt;http://technoracle.blogspot.com&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17460203-45249700378625178?l=technoracle.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://technoracle.blogspot.com/feeds/45249700378625178/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=17460203&amp;postID=45249700378625178" title="4 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/17460203/posts/default/45249700378625178" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/17460203/posts/default/45249700378625178" /><link rel="alternate" type="text/html" href="http://technoracle.blogspot.com/2009/05/video-tutorial-talking-to-blazeds-from.html" title="Video tutorial - talking to BlazeDS from Flex" /><author><name>Duane "Chaos" Nickull</name><uri>http://www.blogger.com/profile/08767498160563891543</uri><email>Duane.Nickull@gmail.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="15353282611872762723" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17460203.post-2384014114362543496</id><published>2009-05-19T16:38:00.000-07:00</published><updated>2009-05-19T18:01:00.489-07:00</updated><title type="text">New Flex Course available for everyone</title><content type="html">I just finished giving a course on map-based RIA development in Adobe AIR and Flex at Where 2.0.  Where often begins with the notion of a location. Service Oriented Architecture allows mashup clients to use location-based services for building rich, interactive media clients. In this course you will build six map-based projects in a largely (85%) hands on learning environment using Adobe Flex and &lt;span class="caps"&gt;AIR&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Preparation&lt;br /&gt;&lt;br /&gt;To take this course, you will need to do the following:&lt;br /&gt;1.    Install and configure Adobe Flex Builder 3.0 or later&lt;br /&gt;2.    Set up an account with Yahoo Developer Network and get an API key&lt;br /&gt;3.    Download the Yahoo SWC file&lt;br /&gt;4.    Download the ESRI SWC file&lt;br /&gt;5.    Download and take the course from here - &lt;a href="http://www.web2open.org/courses/Where2.0.zip"&gt;http://www.web2open.org/courses/Where2.0.zip&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This lab preparation assumes you need to install everything from scratch.  While these instructions cover installing a standalone Flex Builder, it is also possible to install Flex Builder as an Eclipse plugin.  Please seek out and follow the instructions from the Adobe website if you wish to install the plugin version.&lt;br /&gt;&lt;br /&gt;Where possible, notes are augmented for Mac OS X, Linux, and Windows.&lt;br /&gt;&lt;br /&gt;A. Installing and configuring Adobe Flex Builder.&lt;br /&gt;&lt;br /&gt;1. Go to &lt;a href="http://www.adobe.com/cfusion/entitlement/index.cfm?e=flexbuilder3"&gt;http://www.adobe.com/cfusion/entitlement/index.cfm?e=flexbuilder3&lt;/a&gt; and download the Flex Builder trial.&lt;br /&gt;2.    Open up the disk image and follow the on screen instructions.&lt;br /&gt;3.    Note where you set up your workspace.  This is where you will place all the files you work on and various libraries needed for this course.&lt;br /&gt;4.    Mac OS X: By default, this will be under your ~home_directory/Documents/Flex Builder 3.&lt;br /&gt;5.    Windows: By default, this will be under your c:\Program Files\Adobe\Flex Builder 3.&lt;br /&gt;&lt;br /&gt;LINUX ONLY&lt;br /&gt;&lt;br /&gt;6.    For the Linux version, download the plugin from &lt;a href="http://labs.adobe.com/downloads/flexbuilder_linux.html"&gt;http://labs.adobe.com/downloads/flexbuilder_linux.html&lt;/a&gt;.&lt;br /&gt;7.    Run the installer either marking it as executable (chmod +x) or by using a shell to execute it (sh flexbuilder_linux_install_a4_081408.bin).&lt;br /&gt;&lt;br /&gt;8.    When prompted, specify whether to install Flash Player 9 (note that this is an updated version of Flash Player 9 and that Flex Builder Linux will work with earlier versions of Flash Player 9 for Linux). This is the debug version of Flash Player 9, which is required for debugging support and exception display.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;B. Set up and account with Yahoo and download the SWC file.&lt;br /&gt;&lt;br /&gt;1.  Use your browser and navigate to &lt;a href="https://developer.yahoo.com/wsregapp/"&gt;https://developer.yahoo.com/wsregapp/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;2.  Sign in if you already have an account or register for a new one.  If you have already registered for an API key, you can see it via the hyperlink near the top of the page.&lt;br /&gt;&lt;br /&gt;9.    If you do not have an API key, fill in the form and agree to any license terms.&lt;br /&gt;&lt;br /&gt;10.    Click “Submit” and a key will be generated for you.  Make sure you save it somewhere in a text file on your desktop.&lt;br /&gt;&lt;br /&gt;C. Accessing the YahooMaps.swc file.&lt;br /&gt;&lt;br /&gt;1. Next, you need to download and install the Yahoo Maps SWC file.  Aim your browser at &lt;a href="http://developer.yahoo.com/flash/maps/"&gt;http://developer.yahoo.com/flash/maps/&lt;/a&gt;&lt;br /&gt;2. Save the zip to your hard drive and open the archive.  You will see a file called YahooMaps.swc inside the zip.&lt;br /&gt;&lt;br /&gt;3.  Remember the location of this file as you will need it for Labs 2,3,4.&lt;br /&gt;&lt;br /&gt;d. Download the ESRI ArcGIS SWC library.&lt;br /&gt;&lt;br /&gt;1. Navigate to &lt;a href="http://resources.esri.com/arcgisserver/apis/flex/index.cfm?fa=downloadDisclaimer"&gt;http://resources.esri.com/arcgisserver/apis/flex/index.cfm?fa=downloadDisclaimer&lt;/a&gt;&lt;br /&gt;2. Agree to the terms and conditions of the license and click “Download”.&lt;br /&gt;&lt;br /&gt;3. Save the file to your hard drive as you will need it for labs 5,6,7.&lt;br /&gt;&lt;br /&gt;4.    Unzip the file and you will see a SWC file as shown in the course setup guide.&lt;br /&gt;&lt;br /&gt;5.    Remember the location of this file as you will need it for labs 4,5,6.&lt;br /&gt;That is all for now – now you can start the labs.&lt;div class="blogger-post-footer"&gt;Original post at &lt;a href="http://technoracle.blogspot.com"&gt;http://technoracle.blogspot.com&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17460203-2384014114362543496?l=technoracle.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://technoracle.blogspot.com/feeds/2384014114362543496/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=17460203&amp;postID=2384014114362543496" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/17460203/posts/default/2384014114362543496" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/17460203/posts/default/2384014114362543496" /><link rel="alternate" type="text/html" href="http://technoracle.blogspot.com/2009/05/new-flex-course-available-for-everyone.html" title="New Flex Course available for everyone" /><author><name>Duane "Chaos" Nickull</name><uri>http://www.blogger.com/profile/08767498160563891543</uri><email>Duane.Nickull@gmail.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="15353282611872762723" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17460203.post-2236950895550942267</id><published>2009-05-15T22:02:00.000-07:00</published><updated>2009-05-16T07:32:13.736-07:00</updated><title type="text">Next Flex Builder product renamed to Flash Builder? What do you think?</title><content type="html">As an Adobe evangelist, I explain many of our products.  One of the products is called "Flex Builder" which sort of insinuates that it builds "Flex".  The truth is that Flex Builder actually builds Flash or Adobe AIR applications.  For people building browser-based applications, they are, for all means, Shockwave Flash (swf) files.  Given this confusion, there has been discussion about the next version of Flex Builder being named Flash Builder 4. It would be the same Eclipse-based IDE with a new name and lots of great new features. This theoretically would be a name change to the commercial product only, and does not affect the Flex framework or Flex SDK.&lt;br /&gt;&lt;br /&gt;Some points to consider being sending me flames or applause ;-)&lt;br /&gt;&lt;br /&gt;- It's still the Flex framework, and you are still a Flex developer.&lt;br /&gt;&lt;br /&gt;- People searching for developers to build Flash would probably get connected with Flex developers much earlier in the development cycle.&lt;br /&gt;&lt;br /&gt;- Flash Builder is the development tool for the Flash platform,&lt;br /&gt;supporting the use of the Flex framework or pure ActionScript.&lt;br /&gt;&lt;br /&gt;- Flex is the open source framework at the core of the Flash Platform,&lt;br /&gt;including Flash Builder and Flash Catalyst.&lt;br /&gt;&lt;br /&gt;- The name of the current product, Flex Builder 3, would remain the same, and would not be renamed Flash Builder 3.&lt;br /&gt;&lt;br /&gt;It sort of just makes sense and would probably result in a lot of new revenue when people realize all these "Flex Developers" can actually build them Flash applications rather than smaller development shops having to educate the public about Flash vs. Flex. &lt;br /&gt;&lt;br /&gt;These are ideas.  What do you think?  After all - it's your community.&lt;div class="blogger-post-footer"&gt;Original post at &lt;a href="http://technoracle.blogspot.com"&gt;http://technoracle.blogspot.com&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17460203-2236950895550942267?l=technoracle.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://technoracle.blogspot.com/feeds/2236950895550942267/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=17460203&amp;postID=2236950895550942267" title="18 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/17460203/posts/default/2236950895550942267" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/17460203/posts/default/2236950895550942267" /><link rel="alternate" type="text/html" href="http://technoracle.blogspot.com/2009/05/next-flex-builder-product-renamed-to.html" title="Next Flex Builder product renamed to Flash Builder? What do you think?" /><author><name>Duane "Chaos" Nickull</name><uri>http://www.blogger.com/profile/08767498160563891543</uri><email>Duane.Nickull@gmail.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="15353282611872762723" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">18</thr:total></entry><entry><id>tag:blogger.com,1999:blog-17460203.post-45758288995717356</id><published>2009-05-14T17:22:00.001-07:00</published><updated>2009-05-15T06:12:45.475-07:00</updated><title type="text">City of Vancouver to be "Open Source/Open Standards" based!</title><content type="html">I got a great email today from David Eaves.  Vancouver City Council has put forth a motion on "&lt;a href="http://vancouver.ca/ctyclerk/cclerk/20090519/documents/motionb2.pdf"&gt;Open Data, Open Standards and Open Source&lt;/a&gt;" as written by Councillor Andrea Reimer (I met her at some functions during current mayor Gregor Robertson's campaign).  According to the motion, the City of Vancouver endorses the principles of:&lt;br /&gt;&lt;br /&gt;• Open and Accessible Data - the City of Vancouver will freely share with&lt;br /&gt;citizens, businesses and other jurisdictions the greatest amount of data&lt;br /&gt;possible while respecting privacy and security concerns;&lt;br /&gt;&lt;br /&gt;• Open Standards - the City of Vancouver will move as quickly as possible to&lt;br /&gt;adopt prevailing open standards for data, documents, maps, and other formats&lt;br /&gt;of media;&lt;br /&gt;&lt;br /&gt;• Open Source Software - the City of Vancouver, when replacing existing&lt;br /&gt;software or considering new applications, will place open source software on&lt;br /&gt;an equal footing with commercial systems during procurement cycles;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://vancouver.ca/ctyclerk/cclerk/20090519/documents/motionb2.pdf"&gt;Read the rest here&lt;/a&gt;!  Vancouver council:  Welcome to the future!!!  Thank you!!&lt;div class="blogger-post-footer"&gt;Original post at &lt;a href="http://technoracle.blogspot.com"&gt;http://technoracle.blogspot.com&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/17460203-45758288995717356?l=technoracle.blogspot.com'/&gt;&lt;/div&gt;</content><link rel="replies" type="application/atom+xml" href="http://technoracle.blogspot.com/feeds/45758288995717356/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="https://www.blogger.com/comment.g?blogID=17460203&amp;postID=45758288995717356" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/17460203/posts/default/45758288995717356" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/17460203/posts/default/45758288995717356" /><link rel="alternate" type="text/html" href="http://technoracle.blogspot.com/2009/05/vancouver-city-to-be-open-sourceopen.html" title="City of Vancouver to be &quot;Open Source/Open Standards&quot; based!" /><author><name>Duane "Chaos" Nickull</name><uri>http://www.blogger.com/profile/08767498160563891543</uri><email>Duane.Nickull@gmail.com</email><gd:extendedProperty xmlns:gd="http://schemas.google.com/g/2005" name="OpenSocialUserId" value="15353282611872762723" /></author><thr:total xmlns:thr="http://purl.org/syndication/thread/1.0">0</thr:total></entry></feed>
