Monday, May 03, 2010

Technoracle’s Top-10 reasons for using Flash Builder 4 for Flex 3 Projects.

I write this after only being half way through my itinerary for speaking about Flash Builder 4 to Adobe Flex User Groups. Having a chance to hang with many developers made me realize that we (Adobe) understated a major benefit of Flash Builder 4. Specifically, it seems we could have done a better job of explaining some of the key benefits for using Flash Builder 4 for Flex 3 projects. Many Flex developers I have talked to seem to be holding off on upgrading to Flash Builder 4 based on a perception that they also have to also update all projects from Flex 3 to Flex 4. This is simply not true. One of the top requests for the next version of Flex Builder was the ability to use multiple Flex SDKs within one IDE. You can import your Flex 3.X projects into Flash Builder 4 today and they will simply work. Check out this cool feature on the new project creation wizard shown below:



The top ten reasons are presented in random order (I’m a pretty random guy). Also note that this article does not get in to the compelling reasons why someone would want to use Flex 4 instead of Flex 3. The reality is that many of the developers I have spoken to work on large scale, long term enterprise Flex projects and rewriting them in Flex 4 is not something up for negotiation. If you are one of those, this article caters to you. I could write another ten pages on the beauty of Flex 4 and the new Spark component architecture but I am a lazy Adobe employee and this is probably the only blog post I will write this week. Here is my list.


1. Enhancements to ASDoc integration. By far, my most favorite feature of Flash Builder 4 is the tighter integration with the ASDocs and the enhanced information available during the development process. Any time you hover the cursor over a reference to a component, ASDoc information is available as both a popup menu (can be disabled) or via the ASDocs tab.



This is so powerful for developers for a number of reasons. One is that you instantly have access to the information about that component/class without having to migrate to another screen or window. This includes full inheritance and a plain text description of what it does (brief version). The second is that there are embedded hyperlinks to the documentation of related classes so you can get a feel for whether or not you are using the right component or class. The new addition of information about which language version of the Flex SDK the functionality appeared in as well as which Flash Player and AIR runtimes is also very useful.

2. The ability to use multiple SDKs.
As mentioned above, Flash Builder 4 lets you start new projects in Flex 4 but also finish up existing projects in Flex 3 with the aide of all the enhanced developer tooling. Even if you’re just going to do Flex 3 for the short term future, this is the IDE you want to be on.

3. Pair code highlighting.
Whenever you hover over a component declaration or named object, Flash Builder highlights all instances of it. This even works across both MXML and AS as shown below.



This one feature alone has saved my sorry developer behind so many times when I’ve made typos.

4. The Network Monitor.
This is another one of my favorites and, if you will indulge me, a totally kickass addition to the IDE. As an SOA guy, I spend a lot of my coding time working on remote calls to services. The Flex Builder 3 IDE hid most of the details from the developer making it difficult to debug an application when something went wrong. The Network Monitor gives you the raw messages in both a logical and raw data view. You can easily spot malformed headers, get direct access to SOAP fault messages, and see HTTP, AMF, and raw text results in real time. Below is a typical HTTP request.



And here is the accompanying response.



This tool makes it so easy to debug both simple and complex message exchanges in a variety of protocols.

5. Enhanced Data Centric Development features. My record for setting up a new project, using the Web Service wizard to inspect a WSDL instance, generate the stub code, generate a form for the service call, optimize it, save it, compile and run it is 26 seconds! Do I need to say more? Not really but I will. The Flash Builder team also answered the biggest developer request which was access to the generated code to inspect and modify. For example, here is the generated code for the service call above. Note that the parameters for all the details of the call are clearly spelled out in plain ActionScript for you to inspect.



But wait! That is not all you get. This code is from the super-class. If you want to modify this, there is a sub-class stubbed out with the starter code, which allows you to override permissible operations or functions without messing up the generated code! IMO this is a very cool feature.


6. Fix Code Indentation. OK – this blows the SAP “pretty printer” away. If you are like me, code is art. I see beauty in well written and properly indented code. If you are fine with code that is indented like a drunken lemur had access to a random number generator that controlled lead in spaces on each character, you might not use this feature. If you want to create code that can be displayed in the Louvre, check this feature out. Here is the art-less heathen coding style that multiple quick fixes can create just before the “Correct Indentation” is used.



and here is the work of art that results:



Beauty is in the eye of the developer (since it all gets compiled into a SWF anyways).

7. Fiber Plugin. The Fiber (a code name for a data model driven methodology for development) is one of the coolest client and server-side technologies ever made. When you use the Data Model plugin with Flash Builder 4 and a supported application server like LiveCycle Data Services 3.1 running on JBoss, there is simply nothing better for developing a client with full CRUD capabilities with the Flash Builder 4 IDE. This one feature alone should be the holy grail for many J2EE developers looking to cap a great enterprise application with an awesome GUI written in Flex. Flash Builder 4 gives the developer a “view” into the servers’ data capabilities via HSQLDB running on port 9002 (default).



What is awesome is that these tables can be simply dragged directly into an existing project, which then creates service calls for all major CRUD operations. Generating a graphical user interface is as easy as dragging and dropping a service call onto a datagrid or right-clicking and selecting “Generate Form”. Rather than repeat everything in this blog post, I would direct you to the tutorial posted at http://www.adobe.com/devnet/livecycle/articles/lcdses2_mdd_quickstart.html.

8. Easier FlexPMD Integration. If you are a Flex Developer and have not tried FlexPMD yet, do yourself a huge favor and try it out. FlexPMD is an open source tool that helps to improve code quality by auditing any AS3/Flex source directory and detecting common bad practices, such as:

* Unused code (functions, variables, constants, etc.)
* Inefficient code (misuse of dynamic filters, heavy constructors, etc.)
* Over-complex code (nested loops, too many conditionals, etc.)
* Over-long code (classes, methods, etc.)
* Incorrect use of the Flex component lifecycle (commit Properties, etc.)

Flex PMD can be easily installed and run on any Flex project to find out how well ( or not ) your coding practices align with industry conventions. Of course my own code generates very few exceptions (if you believe the last sentence I have a bridge to sell you).



9. Automatic Event Handler Generation.
One of the top things I get errors with is catching an event and passing an event object to the event handler. Flash Builder 4 has a very cool feature whereby in the code complete, the IDE offers to create an event handler for you automatically.


This now makes me also want a new feature in the future. I would love to have the ability to have this generate the click handler as an ActionScript class inside of one of my packages in my project.

10. Automatic Getter/Setter code generation. This is a feature I haven’t personally used but am looking forward to trying on larger projects. When following enterprise Flex coding practices and conventions related to OO methodologies, developers often find themselves performing the same basic patterns over and over. By automating some of these patterns, developers can free their time from the more mundane programming tasks. When you create a variable in Flash Builder 4, you can right click and select “generate getter/setter” and Flash Builder will build the code for you. Below is the result from such an operation.


Even though I only listed ten, there are tons of other new features you can use within Flash Builder 4 for Flex 3 projects. So what are you sitting there reading this for? Download and try Flash Builder 4 trial already!

Thursday, April 29, 2010

Flash Player Gala preview release!

A new Flash Player, code-named “Gala”, is now live for preview. One of the newest features of this release is support for H.264 video hardware decoding on Mac OS X 10.6.3. Note that Flash Player has supported H.264, the codec behind HD, since 2007. This newest release, with support for video hardware decoding, should logically make for a much better video performance on supported versions of OS X.

From the release:

"Gala allows developers to preview Flash Player with hardware acceleration of H.264 video on supported Mac computers equipped with the following GPUs: NVIDIA GeForce 9400M, GeForce 320M or GeForce GT 330M. The hardware acceleration functionality in the Gala preview release of Flash Player is expected to be included in an update following the release of Flash Player 10.1."

Read more or sign up here.

Friday, April 23, 2010

Tutorial: Dynamically Changing PDF form labels

This tutorial shows how to change the caption for a PDF form element at runtime based on a user's interaction with another form component.

How to add a 2D bar code to your LiveCycle Forms

This video tutorial covers how to add a 2D bar code for capturing and retrieving data from a PDF form. The LiveCycle Designer process shows how to create the bar code and link it to a data set.

Thursday, April 22, 2010

Using LiveCycle ES2 on the Cloud

This video is a complete tutorial on how to get set up and start developing against LiveCycle ES2 running on the Amazon cloud. If you want to get set up, here are the physical links to reproduce this demo:

1. Download and install the LiveCycle ES2 trial. You will need the libraries in the SDK folder to complete this exercise - https://www.adobe.com/products/eula/livecycle/es/trial/

2. Get access to a cloud account via the Adobe Enterprise Developer Program - http://www.adobe.com/devnet/aedp/dev_exp/.

Here is the video tutorial:



LiveCycle Services Discovery Plug-in for Flash Builder 4 is another component you may wish to download. Tutorials on using this will be forthcoming shortly. With this plug-in you can quickly build Flex and AIR applications that invoke a LiveCycle service through remoting endpoints. You must have an installation of Flash Builder 4 before installing the Modeler.

Some great LiveCycle ES2 links

As forwarded to me by Shelley Paquette. If you use LiveCycle ES2, this list will be very helpful.

1- Adobe TV: Introduction to LCES2: http://tv.adobe.com/watch/getting-to-know-livecycle-es2/adobe-livecycle-es2-introduction-for-developers/

2- LCES Overview: http://help.adobe.com/en_US/livecycle/9.0/overview.pdf

3- Preparing to Install LCES2: http://help.adobe.com/en_US/livecycle/9.0/prepareinstallsingle.pdf

4- Tutorial on installing the LCES2 Turnkey Solution http://help.adobe.com/en_US/livecycle/9.0/tutorial_turnkey.pdf

5- Installing your LC development environment: http://help.adobe.com/en_US/livecycle/9.0/install_dev_enviro.pdf

6- Creating your first LC application: http://help.adobe.com/en_US/livecycle/9.0/createfirstapp.pdf

7- LCES2 full documentation set: http://help.adobe.com/en_US/livecycle/9.0/lc_doclist.html

Wednesday, April 21, 2010

Flash on Mobile: An exciting future!

Adobe has been working with engineers at many mobile companies including RIM, Nokia, Sony Ericsson, Google, Palm and more. This is part of the Open Screen Project, something that keeps looking better and better. There are some very cool business drivers behind the genesis of OSP; however the one that most developers will like is the ability to deploy applications to many screens using Flash and AIR.

The Adobe AIR team has already posted some pre-release snapshots of AIR running on Google Android devices here - http://www.adobe.com/devnet/devices/demos/

If you are interested in developing AIR and Flash Applications for the Android operating system, there is a pre-sign up you can access here:
As OSP moves forward, expect to see more news about Flash over multiple screens.

Flash and Standards:

Some people have asked in the past that the Flash file format specification be placed into the hands of a Standards Development Organization (SDO), similar to what has happened with PDF going to ISO. This is something I believe Adobe would do if they could, however in the unique case of SWF and the manner in which it became what it is today, it is unlikely to happen.

A further clarification is also worthy of noting. When people say "make Flash a(n open) standard", they really are speaking of the SWF file format. "Flash" is really an entire platform since it includes development tools, runtime plugins and environments, server side tools, side channel communications methodologies for dynamic bandwidth compensation, several servers (Flash Media Server, BlazeDS for example), binary encodings (AMF) and more. The SWF file format is a standard as it sits today. The SWF file format is published here. AMF is also published as an open specification as reported by Slashdot.

I would assert that the SWF file format is a de facto standard. Adobe cannot change it radically based on the fact they care about their community. Flash has to always be backwards compatible to play older versions. It is a pure illusion that Adobe controls Flash and can do with it what they want. The community would rebel.

I would see that the OSP project becomes a collective where more than just Adobe has input into the future of Flash. It will be good to see Google, RIM, Intel and others working directly with Adobe to build improvements into the SWF specification and beyond.

Mobile also brings some unique challenges for developers. Over the next few months I plan to bring some of these to light on this blog.

Tuesday, April 20, 2010

My Open Letter to Apple

I am outraged!! I came upon something that absolutely frightens me: Censorship, based on one group's beliefs of what is best for the rest of us. This comes in the form of a statement allegedly made by Apple's founder Steve Jobs. According to several sites, he stated "Folks who want porn can buy an android phone". (read here)

Before I comment on this, there are a few things I want to say. First, I have used Mac computers as my main machines for the last few years and find them generally good machines. I also own an iPhone but recently switched to the Android powered Nexus One. This was not to view porn but because I truly believe the Android devices are going to be the best. I am not one to nitpick and bitch that a new SDK agreement apparently bans Flash development tools for the iPhone. I won't dwell on the fact someone at Apple is also apparently using the company's strength to bully developers into following Apple's business plan blindly. I am focused on the future of our industry, society in general and what I personally believe is best.

So what is happening here????

In my opinion, a line has been crossed. On top of the porn statement above, a ban of a cartoon application based on what a small group of people believe is the moral direction YOU should follow. As reported by top10.com:

"Apple believes that allowing an app which contains images that mock celebrities and politicians to go on sale on the App Store would be in violation of the terms and conditions of the platform.

Fiore had proposed launching his NewToons app, but was rejected in December for the perceived vulgarity of his work."

UPDATE: An anonymous user below (in comments) suggest that Fiore's application has now been added back to the App Store. I have been unable to actually find it in the App Store however I did find a credible source which states that Apple is going to "Fix the Mistake". http://www.poynter.org/column.asp?id=134&aid=181700

I guess we have to wait and see.END_UPDATE

PEOPLE!!! This is textbook tyranny! A free and open society tolerates dissent. Canada even allowed Ann Coulter to speak, even though most Canadians I know think she is a moron. Is Apple going to tell you what you are and are not allowed to look at on your iPhone? Would you allow them to censor what music you are allowed to listen to? Would you allow the library to start burning books based on what might be too dangerous for you to read? Maybe not now but when tyrants have eliminated all that stands in their way, what is to stop them? It is time to take a stand. I think it is a civilian's duty to fight this. (It is my blog so personal opinions are allowed and you are free to post a comment to disagree with me as long as it is not spam to sell your products).

My own company, Adobe, does not tell me what to think and what to write or not write on this blog. They understand that my thoughts are my own and on blog posts like this I am clearly speaking for myself, not the company. This is why I am proud to work for Adobe.

I am drawing my line in the sand today. Why? Because, if you allow tyranny to breathe and prosper, there will be no one left to hear you when you scream for help. I don't know what their agenda is but these latest moves are completely unacceptable to me. Here is my public letter to Apple:

Dear Apple:

It has been fun, but you are no longer "cool". You have made some great gadgets and computers in the past, but others are open and you are not. While you have brought society some great things like the iPod and iPhone, this was in the past and your current antic of censorship is unacceptable to me. You see, in Canada, we have rights. We have the right to a free and open society. I will not subject myself to censorship. The result of your actions is that I will not develop for your mobile platform, nor support it. I will also be returning to a combination of Ubuntu Linux and Windows 7 for my main work machine. You see, I have the faith that people can decide for themselves what is appropriate for them and what is not. I do not believe that any one group has the right to make decisions on morality for the rest of us. I do not wish to live in such a society.

As far as applications go, you should allow developers to develop with any tools they want and judge all application submissions fairly based on the quality and performance of the applications. These should be done using clearly published rules and be consistently enforced. Would this not achieve the end result of a rich, robust app store filled with quality applications? At any rate, I do not see how it could be worse than having a plethora of fart noise generator applications, of which only 3 really work. Do you really think the quality of applications is based only on what development tools are used? I disagree.

Respect developers! I think it is not too late to change your mantra. I write this letter in an honest appeal that you hear how your actions are being taken. Developers are usually at the top of the technology adoption curve and several developers are beginning to have issues with you. What you really need to hear is that these same developers are the reason for your success. We are the ones who are asked "what computer should we buy" by our family and friends. When you piss off developers, there is a cascade effect that will eventually affect sales.

Respect individual rights! I have never looked at porn on my iPhone, but I don't want someone else deciding what is and what is not appropriate for me. I do not want Apple employees deciding whether or not a public figure can be questioned. Accordingly, my iPhone now rests harmlessly in it's box while my Google Nexus One is being used. I get tons of people asking me about this phone (read here) and I will keep promoting it while making sure my circle of friends understands the censorship and control issues.

It has been nice, but now it is time for me to move on. Ubuntu 10.4 is out and looks pretty damn nice. Microsoft seems to have learned from Vista and Windows 7 appeals. The Google Android phone is already better than the iPhone and I am excited to started developing Android apps. I can use Java, Flash, AJAX and any toolset I want.

I am committed to standards such as Flash, HTML5 and XML. Not gonna look back. PDF, Java, Silverlight, Android, Linux, Flash are all here to stay.

Please consider the reason I am writing this letter. I do believe you are capable of making some great stuff and doing some great things. I want to encourage you to reconsider your recent actions and hear what we, the developers and computer users of the world, are saying.

Respectfully,

Duane Nickull

Wednesday, April 14, 2010

Adobe MAX 2010

Adobe MAX 2010 takes place on Oct 23-27 at the LA Convention Center (same place as last year). The website is up and running at http://max.adobe.com/. MAX 2010 is the single, pivotal connection point in the universe for thousands of Adobe designers, developers, and business leaders. This is the one place where you get to meet the Adobe ones face to face.

There is a lot I would encourage you to do. If you are a speaker, you can submit to speak here:

Get on the mail list:

If you are a startup and want to let Adobe users see your product or offering, consider becoming a sponsor. There are tons of packages available and some companies like Konductor Software have found this a really great way to reach their core customers:

This is going to be a great party!

Wednesday, March 31, 2010

AR/Copter RC helicopter at Where 2.0

I want one of these toys! This is an RC controlled copter with sensors on board, controllable via a smart phone and equipped with cameras and other systems.

Monday, March 22, 2010

Duane's World - tutorial on LiveCycle cloud, SAP TechEd

This is my longest episode to date but it covers a lot of ground. This contains some great footage of the SAP TechEd 2009 including an exclusive interview with Craig Cmehil! There is also a complete tutorial to get you up and running on the LiveCycle ES2 cloud offering including working in Eclipse on a Mac OS X system to program against the ES2 SDK.

Sunday, March 21, 2010

Flash Builder 4 Released!

Perhaps the best (or worst) kept secret is the launch of Flash Builder 4. Well, damn - it is now out. At 12:01 EDT we have officially launched it.

So what is Flash Builder 4? Easy--it is the next product in the Flex Builder line. For those of you not familiar with Flex Builder, it is simply the best way to build enterprise Flash applications. I personally tried the Flash professional authoring tools and had a tough time. The first time I tried Flex Builder, it spoke to me. Events, objects, bindings and a host of other standard OO programming concepts.

Flash Builder 4 works with Flex 4, the successor to the Flex 3 SDK. Flex 4 has the new Spark skinning and component architecture. This offers substantial improvements over the previous component architecture and reflects the top asks from many developers who wanted Adobe to push the framework to a new level.

There are over 90 new features in this release. You can also use multiple SDKs so your Flex 3 projects will drop right in. Rather than repeat all the text, read about it here.

So what are you waiting for? Download the trial now!

http://www.adobe.com/go/try_flashbuilder

I also want to personally thank the entire Flash Builder team for this release. This sets the new standard for Flex.

Have a drink on me all!

Monday, March 15, 2010

Running BlazeDS on 32 bit Ubuntu Linux 9.04

This is a topic that will appeal to a very narrow minority (smart, not-frightened to try new stuff, developers). I have always loved Linux and lately found myself totally thrilled with Ubuntu. I've now run 9.04 on a Mac Pro in VMware and have a dual boot 64-bit install running Ubuntu 9.10. What can I tell you? If Adobe had an approved Exchange client for Ubuntu, I'd say bye-bye to OS X. Check out the screenshot:



There really isn't that much to get BlazeDS up and running on either of these systems, largely thanks to the ease of use built into Ubuntu. Here are the instructions to get it up and running.

1. Grab the Vancouver build of BlazeDS from here.

2. Unzip it to your desktop. Ubuntu 9.04 makes this simple as all you have to do is double click on the *.zip package, the same as OS X or Windows.

3. Check to see if you have a JDK configured and installed. To do this, grab a terminal and type in "javac" and see what comes back. If you have not installed a JDK before, you will get a message similar to this one:



4. This means you have to use a great feature of Ubuntu. The apt-get command is a powerful command-line tool used to work with Ubuntu's Advanced Packaging Tool (APT) performing such functions as installation of new software packages, upgrade of existing software packages and more. It can even update the O/S. apt-get has numerous advantages over other package management tools available in Ubuntu for server administrators. Some of these advantages include ease of use over simple terminal connections (SSH) and the ability to be used in system administration scripts, which can, in turn, be automated by the cron scheduling utility.

5. Run the command "sudo apt-get install sun-java6-jdk". This will install the Sun Java JDK. I chose this one over the others as I consider it the reference implementation for a JDK. Once you hit enter, you will be asked for your admin password and then the magic begins. I swear this was the easiest Java install I have ever done in my life. Thank you whoever created this tool at Ubuntu!!!




6. At some point during the install, you will be hit with the Sun license agreement. There will be a little (yes) prompt at the bottom of the grey area and none of the regular keys or mouse inputs seem to get you to be able to interact with it. You have to use the TAB key for this. Tab over until the (yes) is highlighted (shown below) and hit enter. Same for the next screen.


7. When this completes, you should be able to type "javac" into the command line and see the proper output (basically a prompt asking you for options).

8. Navigate to the folder where you saved the BlazeDS build from step 1. Using the terminal, chmod it to make it executable ( chmod -R 755 BlazeDS/ ). Chmod makes the file persist in a mode of "executable" if given the 755 argument. You may have to change to su to do this. This can be accomplished by typing in "sudo" in front of the command.

9. You're almost ready to start it up. The last step is to set $JAVA_HOME. To do this, you have to modify a small properties file that controls the environmental variables when in the terminal. This file is usually in your home directory. To switch back to this directory just type in "cd ~" and then type in "ls -la .bash*". This should provide a list of files that are hidden (from just running "ls") and you will see one such as .bashrc or .bash_profile. This is assuming you are running the BASH shell.

10. You will have to edit the .bashrc or similar file to add a line that sets the $JAVA_HOME environmental variable. First you have to know what this value should be. Within the terminal, type "whereis java". This should provide a list of locations where Java is installed.

My system returned the following:

administrator@ubuntu-904:~/Desktop$ whereis java
java: /usr/bin/java /usr/share/java /usr/share/man/man1/java.1.gz

11. Unfortunately, the process is not quite straightforward. Grab a File Browser and navigate to the first path you see (in this case /usr/bin/) and inspect "java". On my system and many others, this will turn out to be a symbolic link to another location. To find out where, right click on it and select "Properties". Mine showed the location as /etc/alternatives/java.



12. Navigating to /etc/alternatives/java also revealed that this too was a symbolic link. The real target was /usr/lib/jvm/java-6-sun/jre/bin/java. This means that the real value for $JAVA_HOME will be /usr/lib/jvm/java-6-sun/.

13. To set this, use a line editor of your choice. I am going to use pico as pico is one I am familiar with. To do this, type the following in your terminal:

- "cd ~"
- "pico .bashrc"

14. Pico should bring up a configuration file. If it is not already filled in with lots of values, check the name of the config file and try again. In this file, you can add comments so I usually append my custom entries to the bottom of the file. In this case, at the very bottom, I enter the following lines of code:

# JAVA_HOME added by Duane Nickull
export JAVA_HOME=/usr/lib/jvm/java-6-sun

15. To save your .bashrc profile use "Control X" and answer "Y". Quit the current instance of terminal and open a new one. Test that your JAVA_HOME environmental variable is okay by typing in "echo $JAVA_HOME". You should see output like below:


16. With your terminal, navigate to the BlazeDS root folder, then change directory to the "sampledb" folder. Type in the following: "sh startdb.sh". The sample database should start up.

17. Start another instance of terminal and navigate to the BlazeDS root folder, then navigate to subfolders "tomcat" and "bin". Type in the following: "sh catalina.sh run".

18. Fire up a web browser and navigate to http://localhost:8400 (the default port the BlazeDS will be running on). Voila! You are done.




Coming up next will be some tutorials on Flex and AIR development on Linux if anyone is interested.

Tuesday, March 09, 2010

New Tutorial - How to set up your Model Driven Development

Sujit Reddy and I just co-wrote a new technical paper for the Adobe Developer Connection on how to get your development environment up and running if you want to take advantage of the powerful new features of LiveCycle Data Services 3 and Flash Builder 4.

Click here to get started - it only takes about 15 minutes from start to end.

LiveCycle Data Services ES2 is an important component for many companies migrating to a three-tier architecture for enterprise RIA development. The advanced Message Exchange Patterns (MEPs) it enables are unparalleled and very robust. This article is aimed at developers and distills the essential steps needed to set up model-driven development with LiveCycle Data Services ES2 and Flash Builder 4 beta 2.

In this tutorial, we'll share these steps to help you get started quickly and walk through building a simple application using a new technology that brings model-driven development to Flex developers. The model-driven development process is really cool. We were able to write a basic CRUD data grid and form to work against a back-end database with minimal lines of code. Below is a screenshot of the finished project.


So what are you waiting for? Start coding now!

Monday, March 08, 2010

What does my race/ethnicity have to do with Olympics?

Sorry if I am just a thick-headed Canadian farm boy but I saw something today that I have to ask about. I went to register for tickets for the 2010 London Olympics when I found this question posed to me:

Ethnicity: (it is on this web page)

Two immediate thoughts came out of this. First I wondered how to classify myself. Although I have relatively white skin, I do read books from other cultures and try to live some of their ideals. Buddhism is a particularly large influence on my private thoughts although most of you would never guess it. As I pondered this though the bigger picture entered my head and I asked the first question I should have.

What does your race have to do with watching the Olympics?

Sorry Olympics organizers but I really do not see the connection here. This could not have been asked in Canada at the recent 2010 games during the registration process as every person in Canada is afforded the same quality of life. The Charter of Rights and Freedoms guarantees this in section 15.1 (read here)

"15. (1) Every individual is equal before and under the law and has the right to the equal protection and equal benefit of the law without discrimination and, in particular, without discrimination based on race, national or ethnic origin, colour, religion, sex, age or mental or physical disability."


I guess I am missing something here. Can anyone shed some light on this?

Monday, March 01, 2010

Duane's World - Interview with David RR Webber

I was lucky to catch up with David RR Webber in Washington, DC and was able to talk to him about the OASIS Election Markup Language (EML). David and I also got kicked out of a bar in this episode.



Musical guest Matt MacKenzie lays down some 1980's flavour house groove with a great backbeat and ambiance. Code and Tunes gets into how to set up LiveCycle ES for Java Developers plus some tips on how the OASIS EML might be implemented using Adobe LiveCycle ES2 and PDF.

Vancouver City Centre Florists use Deception business practice

I had sent my wife flowers for her birthday. I logged onto the web as I was in London and found some local florists. I went with one that looked good but have since found they ripped me off. Do not use City Centre Florists (http://www.canadaflorists.com/D7-2985.htm/) as they use a very deceptive practice. Here is what happened.

I went to the webpage to order the flowers for my wife. After finding the ones I wanted, I clicked the "Buy Online" button. See the image below.




The price clearly says $84.99. When I clicked through I was presented with a form that also said my card would be billed for $84.99, this of course being the advertised price. I completed the transaction. The receipt sent to me did not indicate otherwise and simply said thank you order received:


Since the last price they showed me was the $84.99, I thought all was good. The flowers got delivered. But wait!! When I got my credit card statement, I was billed $182.49. See below:



I called them to complain and they said simply that they arbitrarily decided that flowers cost more around valentine's day. They claimed that they had some text somewhere on the website saying they could cost anywhere between 50-100% higher from Feb 1-15. Note that this now appears on the website image (above). This did not appear on my browser at the time I ordered these flowers though. The check out screen said $84.99. I contacted my credit card company and am filing a dispute.

In the meantime, if you send flowers to anyone in Vancouver, do not use City Centre Florists. They are deceptive, rude people who should be put out of business IMO! This dishonest business practice is also against BC law. In British Columbia you have to honor the lowest advertised price. City Centre Florists are criminals. They were given a chance to be nice and do the right thing but now this blog post stays and everyone can see what criminals they are.


Screw you City Centre Florists!!!! You are evil, stupid and treat your customers with contempt. I hope you go out of business and I will do everything to make this story heard until you fail.

#FAIL

Friday, February 26, 2010

Flash Player 10.1 build 3 rocks!

There are few things in this world that get better and better over time. Wine comes to mind and so do vintage Porsches. When it comes to software though, it gets incrementally harder to improve quality. I think however that Flash Player 10.1, build 3 is an exception. (DISCLAIMER: I work for Adobe and while I attempt to always be unbiased, I may unintentionally not be completely neutral).

So what has been done? The major changes in beta 3 update include support for hardware video
decoding on more netbooks and PCs. From the product management (in their words):

"The Broadcom Crystal HD chip is a video decoder chip found in newer Pine Trail netbooks, like HP's Mini 210, while the GMA 500 chip is in many netbooks, from Dell's Mini 10 to Sony's Vaio netbooks and others."

There is also some enhanced hardware acceleration on many other hardware platforms and chipsets. What many people have noticed seems to be an improvement in performance on both PC and Mac devices although I have not yet run any tests. Tests are hard to run in any event due to the way the garbage collection works. Flash Player uses the same Mark-Sweep pattern as the Java Virtual Machine and just because something is "marked" as memory that may be reclaimed, it does not immediately get reclaimed until the memory is required. This is because in some cases, running the GC may take more CPU time than the memory being reclaimed would provide as a benefit (which is just good engineering).

On mobile, the peephole pattern is used to only render that which is currently in use on the display list's actively viewed area. This is a cool invention.

OK - enough of me talking. Time to get it for yourself and help us test it. We have an open bug database which we encourage you to submit and vote bugs to (BTW - there are a lot of bug fixes in the latest release). Get involved here:

DOWNLOAD: http://labs.adobe.com/downloads/flashplayer10.html
LOG ISSUES: http://bugs.adobe.com/flashplayer/
FORUMS: http://forums.adobe.com/community/labs/flashplayer10/

Note that some of this blog post was copied from our internal briefing document. I do stuff like that because I am a lazy Adobe evangelist, I live in Vancouver and would much rather spend my time watching Olympic ice hockey this week ;-P

Thursday, February 25, 2010

New Flex 4 Workshop now online - NY May 13

For Flash and the City, Kevin Schmidt and I will be giving a 5 hour workshop on Flex 4 (link). This will be a hardcore, hands on boot camp to teach all the core concepts of Flex 4 (new Spark architecture etc.) in one evening.

The entire day will be run in a code camp style, each lab being chosen by participants. The presenters will come prepared to teach over 30 modules including topics such as Web Services, REST style data paging, Flash Remoting, 3D effects, working with the Datagrid, the new Flex 4 graphics packages (Spark), video, XML, graphs, integration with Java , saving data to a hard drive, storing data locally in AIR’s SQLite database and much more.

All attendees will receive a preparation guide to help them get set up with the correct software prior to the event itself. Upon leaving, each attendee will receive all the completed code and materials to re-use as reference material. Demo software will be provided for download prior to the event and resources for further learning will be shown at the end of the day.

How to get in?

You must register for Flash and the City as soon as possible here. The cost is very cheap for the whole 4 days plus there will be tons of good parties etc (that is how the organizer lured me).

Wednesday, February 17, 2010

LiveCycle ES Managed Services go Production!

Adobe LiveCycle Enterprise Suite 2 (ES2) has now moved into a production environment! Using the moniker “LiveCycle Managed Services”, Adobe is hosting a set of web services that provides an alternative deployment model for most Adobe LiveCycle ES2 modules.

It is offered in partnership with Amazon, the industry leader in IAAS (yet another acronym using the suffix “As A Service”; the “I” standing for “Infrastructure") cloud computing and leverages the power and security of the Amazon EC2 platform. I am personally not for using the acronym IAAS because anything that is concretely implemented on this scale is ipso facto infrastructure services (the same as I claimed about DaaS or Data as a Service).

Nevertheless, this is a remarkably cool advancement for Adobe. In a time when many companies are talking about the cloud as “maybe one day in the future”, our engineers have accomplished the dream. LiveCycle ES2 modules available with
Managed Services include:

• LiveCycle Forms ES2
• LiveCycle Reader Extensions ES2
• LiveCycle Rights Managements ES2
• LiveCycle Digital Signatures ES2
• LiveCycle PDF Generator ES2
• LiveCycle Output ES2
• LiveCycle Process Management ES2
• LiveCycle Content Services ES2

The cloud architecture is simple. It effectively uses a client side interceptor to proxy requests bound to a localhost address to a remote endpoint that proxies the services. Below is depicted a typical environment for development, however the runtime is essentially the same.



Cloud computing has many advantages. First, by definition, the logical and physical network topologies no longer map to each other. This effectively allows for faster scalability. Adobe also puts 24/7 enterprise level support on this making it easier for small and medium sized enterprises to use for mission critical applications. Another advantage is that it costs far less to use the managed version as all admin tasks are shared with other users. Things like backups, monitoring and intrusion detection are done for you at a much cheaper cost. The full power of LiveCycle can be made available to your organization at a much lower cost.

To check it out, run to this URL - http://tv.adobe.com/watch/getting-to-know-livecycle-es2/livecycle-managed-services

Friday, February 05, 2010

My thoughts on HTML 5, Flash and Innovation

I have been aware of HTML 5 for several years now and many people have asked me if I see it as a threat. This question usually is posed in the context of the fact I work for Adobe and Apple has made statements such as "HTML 5 will replace Flash". I have thought about this hard and long from a number of different angles and felt it may finally be time to speak up. Yeah - it took a while and Steve Jobs (UPDATE - read disclaimer below) has told everyone how lazy we are. You see, I only do around 125 speaking engagements a year (an average of over 2 per week), travel around 300,000 kilometers as well as raise a family, play in a rock band, write books, white papers and technical articles, visit customers, produce episodes of Duane's World for Adobe TV and more. I am not sure what constitutes lazy but I can't do any more than I am now without sacrificing my family life so call me lazy or whatever. I don't really care.

UPDATE: It was brought to my attention from someone who was present that Steve Jobs words' were not exactly as reported (re: "Adobe is lazy"). In an effort to be accurate, I want to state I was not in the room nor have I heard Steve say these words. I am glad as most of us like Steve and think he has given the world some really great visions and technology. It actually deeply hurt my feelings when it was reported he personally attacked our character. Competition is good for the market and attacks of a personal nature have no place in our profession IMO.
END_OF_UPDATE

I have already divulged that I work for Adobe and I want to be pragmatic and transparent in this blog post. Some may take this as a slight against Apple. It is not. Adobe doesn't rant. I rant on my own time to make up for it but this is not one of those times.

In case you haven't heard, HTML 5 is a successor to HTML 4 and it will carry a set of new features such as native video capabilities, variables, and more. The theory some have put forward is that because HTML 5 will have video, this will hurt Flash. To begin, let's look at what Flash has done. If we had simply let standards bodies decide innovation, many of the top Web 2.0 patterns would not have developed. Microsoft introduced the XMLHTTPRequest objects, which led to the rise of AJAX. Adobe created Flash for rich visual user experiences and PDF for high fidelity documents while other technologies such as microformats and browser plugins to read them have extended the base set of web standards. Several vendors worked on Application Servers and specialized server pages written in PHP, JavaServer Pages, and more. Jeremy Allaire developed ColdFusion, still working so well today I was recently in an account that had CF version 1.1 running. This is the innovation that drives standards. None of this stuff came from standards and most of it used standards whenever possible. Eventually, some of the innovation gets commoditized into standards or browsers. That's life in the tech world. It happens!

If the video bits get commoditized, so be it. Then we have to place a great deal of trust in the browser vendors to consistently implement the behaviors and user interface controls so that there is a consistent web experience. It is with this thought that I start to see fractures in the arguments of HTML 5 replacing Flash. Individually, each browser vendor will build and test their own work and generally release good quality products. Open source engines like WebKit and Firefox do well (another example of commoditization - remember when people actually used to charge money for browsers??). Let's do some simple math to demonstrate the problem facing the web.

There are many browsers on the market (Internet Explorer 8, Chrome 2, Safari 4, Opera 10[13], Chrome 3, SeaMonkey 2, Camino 2, Firefox 3.5). Many of these run on multiple operating systems (Mac OS X, Windows, Linux, Unix) and have multiple concurrently used versions of each. The matrix is roughly 5 major browsers, times 3 major operating systems, times 3 different concurrent browser versions, times 3 different concurrent operating system versions--or around 125 major variations. Now factor in the diversity of screen resolutions, bandwidth speeds. and several other factors and ask yourself this question - "is it ( highly probable || somewhat probable || probable || not probable ) that all the browser vendors will implement HTML 5 in a consistent manner?" Since this has not been demonstrated with CSS and HTML 4 today, I would think that it is possible, but some details might be a bit rough. Anyone who has developed AJAX applications or rich content that uses CSS and has performed cross browser debugging knows this. I am not saying Flash is perfect, but the fact you have a single runtime environment is appealing to many people. To that end, I don't see Flash disappearing anytime soon. People who hate Flash may jump all over this statement but I hate peas and they are still being served in restaurants and stores despite my best efforts to rid the planet of those slimy, round green vegetables.

The next consideration is how well people implement the standards, the main choices being full, somewhat, or not very well. Take PDF as an example. The PDF format is an ISO standard meaning that it is in the hands of a fully accredited standards development organization. No one vendor controls it. Adobe Acrobat and Reader are the traditional reference implementations; however others are completely free to fully implement the specification. Apple has not in Preview. Microsoft has done a much better job with PDF IMO.

Apple itself has done some great stuff to innovate the web. iTunes is certainly a great example and I will publicly state I love OS X. I own an iPhone and recently bought my 7th Mac. I drank the Kool-Aid and may change when Ubuntu 10.1 comes out. (see - I am really being transparent, even at the cost of looking like a hypocrite).

Innovation will continue as things get commoditized. This will force further innovation on the cutting edge. This is just the nature of the beast. This is not to be feared; it doesn't mean Flash developers will suddenly drop Flash and only develop in HTML (if they did in a production environment they will probably be using Photoshop, Dreamweaver, Premiere Pro and After Effects anyways so I believe Adobe is well positioned in either case). Flex certainly is not going away any time soon. I don't see any Web Services wizards being introduced in browsers or the ability to perform advanced data throttling and paging operations running across multiple browser platforms. Flex is there today.

Having said all of this, my final thoughts are that I am really thrilled about HTML 5. Adobe will be there as will everyone else. Let's wait and see how it goes. I could be wrong. It wouldn't be the first time and forking the web would be a bad thing. HTML 5 represents a great opportunity for the entire world. It represents a sharing of information, the cornerstone to any democracy. It is in our best interests to get this right and work on it together.

Some of this may be flame bait so have at it. I've worked in standards for a number of years and base my thoughts off those experiences. If you want to flame me, go ahead. I live in Canada, it's cold and I this is just my own opinion anyways. I think there are probably around 6.4 billion more opinions on this subject out there somewhere.

Ciao!

Thursday, February 04, 2010

Apple's MobileMe not Trustworthy

That is a bold statement for me to make. After all, I am regularly talking about Cloud computing to a number of people and advocating its use. I have written several articles on Adobe's move into the clouds and have also clearly articulated that there are some subtle issues that need to be worked out. Nothing has prepared me for what MobileMe has done to my data.

It started last night as I was cleaning out my inbox and found a friend who had changed their address. I logged in to me.com to make the changes to my master records for my address book only to discover that Apple's cloud said I had no contacts. Now this frightened me a little (I still have local back ups) so I contacted them. Within 12 hours my contacts were back again. It was an older copy, however, so I had to fix multiple details. I relaxed a bit and slept.

Today, I got an even worse message. I have the same (you have no contacts) message (see below).


Since I was logged in on another machine, I tried to refresh that page only to now get a message that says "Your MobileMe contacts are temporarily unavailable".

FAIL!!!

Let me repeat that again:

FAIL!!!

Since MobileMe offers only chat support, I could not really tell them about this and how I felt. I asked the person twice directly "Has Apple had an event or has my data been corrupted?". The first time there was no response and when I asked the second time, the reply was "I am not aware...". So, what can we infer from this (other than Apple might have issues with their cloud)?

I think the first thing is that we really need a cloud users' "Bill of Rights". I want to be notified if my data becomes corrupt, lost, stolen, exposed, etc. It is MY data, not Apple's. If they have had an event, I believe I am entitled to know about it. The generic messages just tell me that MobileMe is not enterprise ready nor should it be trusted.

UPDATE:

An Apple rep got in touch with me and worked with me. There are sync issues with MobileMe and they are aware of them. To be fair and balanced, the Apple employee was timely, professional and courteous as well as understood my frustration. While I am skeptical of MobileMe being enterprise ready, I will be giving it another chance for a year.

Thank you Apple! Your customer service was good.

Tuesday, February 02, 2010

Duane's World Episode 23 - MovieSet.com and Flex Key Events

In this episode, I get to interview well known film producer Colleen Nystedt (who has worked with David Bowie, Matt Damon and hundreds of others in the industry) about a new platform for B-to-B-to-C movie collaboration. Code and tunes features a tutorial to work with keystrokes in Flex 4.

After watching this you will want to try out MovieSet.com to get special behind the scenes footage from great movies like Avatar, Trailer Park Boys and more.

Monday, February 01, 2010

New Chaos Theory algorithm for Lotteries?

I have always been a bit of a mathematics fan and I work on various algorithms. Some of the recent ones I have been working on in private are a combination of academia and new age philosophies. I decided to apply this in practice to the lottery so in January 2010, I used a filter to analyze and work on numbers that have a higher probability of being generated based on an evolution of Chaos Theory. The results are somewhat significant and shown below.

For those who are uninitiated, Chaos theory is focused around "order from chaos". I live my life in total chaos and find myself thinking about it a lot. Is Chaos really Chaos or is there something else? While many had pondered the theories of Chaos, Edward Lorenz, a meteorologist, is generally credited with the first experiments around 1960-1962. He used a computer to digest 12 distinct models for predicting weather. The experiment predicted what the weather would be, although not accurately.

I have believed that Chaos itself is just a pattern that we have an incomplete understanding of. For example, if you look at weather patterns, is it possible that we are missing some key criteria or have failed to understand a vector that affects the weather? Such forces may be difficult for humans to comprehend. The Butterfly effect and small variations in initiating conditions could explain much chaos. This leads me to my next thought.

What if there are certain types of brain waves that affect physical matter? I know this sound crazy but let's just explore this for a second. Such a possibility has been contemplated in conjunction with the chaos theory of lotteries before and dismissed. The idea goes like this. If enough people concentrate on a specific number, that number is more likely to be a result in a lottery. Of course, this theory would have to be balanced by assuming that the population that is thinking of equally random lottery numbers, yet this is not the case. There are numbers that are significant to various segments of the population in different cultures. Asians love the number 8, North Americans generally think 7 is lucky. Religious people associate God with the number 3.

Many lotteries that have a game whereby the numbers are selected from 1-49 inclusive have statistically significant patterns in drawn numbers based upon these theories. These are small enough to potentially make a difference yet likely not large enough to establish a winning hypothesis. Statistics can be found at http://www.lotto649stats.com/

I basically reviewed a number of lottery results and applied a filter towards shifting number significance based on cultural events. This was factored into a statistical draw model and factored in modification weighting based on current events in a confined geographical area. Think of it as an experiment to debunk the claims above. The results were interesting yet not a net positive outcome. Here is a snapshot of my lottery account in January 2010. I basically won a lottery prize every single draw using my algorithm based on buying 5 tickets boxing several combination of projected numbers. The odds of winning the grand prize once are one in ~14 million (not including the extra). The odds of winning a smaller prize based on 3 out of 6 numbers correctly drawn is about one in 12,000. To accomplish this every single consecutive time or to hit an extra number is not astronomical yet I would aver it is significant.


Having stated this, I do not expect this will yield any big results as the theory itself starts to destroy itself due to it's inherent flaw.

Either that or this is all just a crazy coincidence.

Saturday, January 16, 2010

22nd Century at the Yale Jan 21 - Raising money for Charity

SkoolAid Benefit
Thurs, Jan 21 at 8:30pm. $25 Adv/ $30 Door.

On Thursday January 21, three of Vancouver's most exciting bands will be rockin' out in order to raise money to build a school for the Afretech Aid Society and the Tujifunze Project.

Tujifunze, which is Swahili for learning, is an organization in Tanzania, Africa dedicated to providing basic education to the youngest and most vulnerable children in Mwanza, Tanzania. Event organizer Susan Bibbings travelled to Mwanza after assisting Tujifunze for three years from her home base in Canada. Bibbings discovered that the school which serviced more than 60 children was a 12 x 12 foot concrete room located next to a dilapidated butcher's shop. The school lacked supplies and provided students with inadequate books. "We're in the business of getting as many children as possible under the shelter of this giant book," explains Bibbings. "We hope to build the school roof in the shape of a giant book," she adds.

Hot Lucy (www.hotlucy.ca) is Vancouver's newest high-energy group. The band will be playing high octane traditional and modern blues with their signature "blues-done dirty" sound that's sure to set the dance floor on fire.

Montgomery / Dupray 'No Quarter' features Rob Montgomery on guitar and Alita Dupray on vocals. Dupray's stunning jazz vocals transforms into a powerhouse of rock and blues as the band covers the best of Led Zeppelin, Cream, The Rolling Stones and more.

Indie chart topping 22nd Century's (www.myspace.com/22ndcentury) hard punching and sometimes comical style is a mixture of Ramones power punk with a healthy dose of 1990's grunge. The group's debut CD produced by legendary music producer John Webster (Aerosmith, Cher and The Cult) garnered an honorable mention in Billboard's 2009 song writing contest.

Proceeds from this event will go to Afretech Aid Society for the Tujifunze Build a School Project. Yale VIP Passes not accepted.

www.afretech.org

Monday, January 11, 2010

Multi File Flex Projects

Lately I've received several emails from people asking about setting up projects using more than one file. Having come from an Eclipse background, I found it really intuitive but realized there are not many good tutorials on how this works specifically with Flex Builder or Flash Builder from Adobe. Here is a quick start on how to get your project up and running.

Start a new project and name it. A Flash Builder/Flex Builder project may contain several components, ActionScript files, classes, packages and other assets. The first step is to identify your project's entry point and then reference other files.

The Flex Project I had emailed has the following lines of code:


Line 1 is the XML processing declaration and line two contains the root component of the application. This particular application is a Windowed Application (Adobe AIR). The xmlns:mx="http://www.adobe.com/2006/mxml" line tells the compiler to use a specific Flex SDK, in this case the Flex 3.4 SDK. The namespace declaration below on line 3 (xmlns:components="components.*") declares that the project may use any or all of the components in the Package named "components". Note that at this point in your application, the Package has not yet been created so your project will throw an error (correct behavior).

Line 5 of the code is where the a specific component is referenced. Because this component is namespace qualified with the same namespace prefix given to the "components" Package, the component MUST exist within that package. The specific component named here is CountriesCombo. The declaration comp:CountriesCombo tells the compiler to create an instance of that component at runtime.

Creating a new Package is really easy. In Flash Builder 4, highlight the src folder and right click (PC) or Command-Click (OS X) the folder and a context menu will appear. Select "New -> Package" as shown and when the dialog pops up, give the Package the name "components". Remembers that these are case sensitive.


Now that you have a Package created, it is time to add your component. It is just as easy. Right-click (PC) or Command-Click (OS X) on the newly created package and select "New -> MXML Component" from the Menu as shown below.


In the dialog box that opens, name your component "CountriesCombo". Paste the following code into the component source view:


Your project should now be runnable and have the following structure:


Note that all red X's are gone.

If your project still does not work, try cleaning it "Project -> Clean" from the top menu. If you have added a component to your project that is not being recognized, you may have to manually refresh the package Explorer view. Do this by right clicking on the root folder of the project (or even just the src folder) and hit "refresh".

Wednesday, December 23, 2009

RIA Architectures: An Exclusive Interview with Adobe's Duane Nickull

DZone recently caught up with me to discuss RIA's Web 2.0 and SOA as well as other trends in enterprise architecture. In this interview, recorded at Adobe MAX 2009, we revisit the notion of 'Web 2.0' and discuss the architectural patterns behind it in the context of the O'Reilly book "Web 2.0 Architectures". We also discuss some of the new architectural and human interaction patterns that are shaping the way in which we build Web applications today as well as some of the new Flash authoring tools for the iPhone, the Open Screen Project, as well as the impact HTML 5 will have on Flash adoption.

The complete transcript of the interview has been provided here.



Saturday, December 12, 2009

12 Ideas for an Environmentally Efficient House

I got an email asking about solar and wind options for housing. Since I am planning to build an energy efficient house north of 49 degrees (in Canada) and have done a lot of thinking on this topic, I decided to share the following and now make it available as a blog post.

1. House design is essential. I plan to re-route all hot air evacuations (bathroom fan, kitchen fan, clothes dryer (if we get one) exhaust etc.) into either a thermal bus or to tie them directly to a year round greenhouse to use the thermal energy for growing food.

2. IMPORTANT: Always do the “Net” energy calculations. For example – having cheap, Chinese made solar powered, LED lights to power your walkway instead of investing in a proper system is a waste of time and an affront to the environment if you have to throw out something that broke in one year and took 25 times as much energy to make as it saved. For example, I bought these little solar powered lights at Home Depot, which lasted only about 250 days. When I took them apart, I discovered the culprit – a single AA rechargable battery was the only power source. These usually do not last more than 250 charging cycles and if you connect one to a daily charge routine, it will burn out in less than a year. Net result: I actually polluted more by buying cheap goods to save energy.

3. I also plan to use wood heating with a proper catalytic converter (avoids most carbon pollution) to warm the house on winter days as we have ample wood for cooking etc. The house we are choosing has a small horizontal footprint and is 2.5 stories high, which allows thermal energy to be more efficient.

4. I'm putting the shower and kitchen on the top floor then using a diverter valve to reroute the entire waste water into the flooring for either keeping the house cool in summer or heating in the winter.

5. After the electrical inspectors give the final OK, I am moving to 12 or 24 VDC power for all lighting in the house and possibly some USB outlets. All lighting will be 12/24 VDC LED indirect. This saves tons of energy over trying to convert a 12/24VDC battery array into 110 AC (or in your case 220 VAC, which would be less efficient). Most solar and wind systems use 12 or 24 VDC as the charging output. Energy can neither be created nor destroyed and it is a lossy process to convert energy. The biggest culprit is usually thermal energy as an unwanted byproduct (think of hot transformers). If you must convert, try to capture the byproduct (place the converters in a place that needs heating).

5. My wife and I are investigating thermal heating systems. These seem to make a lot of sense as they can be used in both the summer and winter. In North America, there is an relevant organization that has members; there might be a similar system in the UK - http://www.geoexchange.org/

6. In order to use wind energy in a micro manner, there are lots of manufacturers and the kits are not that hard to figure out. The first thing you have to do is check out the MET office to find out if it will work in your location. Wind speed must be at a minimum of 5 metres per second to work. The Canadian map showed us that in our case, we have sufficient wind. http://www.windatlas.ca/en/nav.php?field=E1&height=50&season=ANU&no=45.

7. Solar kits are also not that complicated. Study up on it and note the major components – collectors/charge controllers, battery array/inverters or converters then do the calculations. You have to figure out what you want to use the property for before you can plan a system. In our case, assuming we only go there on the weekends, we can go with less collections and a bigger battery array as the battery array will recharge during weekdays. If we lived there full time, we would have to use more collectors. Most manufacturers of repute (Siemens, etc/) will have all the calculations available. There are some good resources online for this too. Here is one: http://midsummerenergy.co.uk/solar_panel_information/solar_panel_calculator.html#nogo

8. Look into evacuated solar tubes. These work in very low temperatures (as low as –40 degrees Celsius) and can deliver off grid water at 65 degrees Celsius. They work by having no gas (a vacuum) in between the outer tube and the inner collector. This collects energy radiated from the sun without the atmosphere moving the heat away and harvests it via the manifold. http://www.solarthermal.com/products.asp These can take care of big things like hot water tanks.

9. If you use your property for weekends only like me, you might want to consider a Linux micro kernel running a small routine that can be used to “wake up” the house. For example, if you have a grid tied-hot water system, you could invoke a cron job that turns your hot water heater on and off remotely so you’re not paying for energy you don’t need. Another option is to move to a EU style JIT hot water heater (tank-less system).

10. For certification, The SRCC (Solar Rating and Certification Corporation) is the key solar collector certifying body for the US and Canada. Make sure everything you use has passed the minimum criteria for this.

11. My thoughts on this are that when I buy my supplies, I want to do it with a company that has been around, been certified and is backed by a manufacturer with a warranty and good history, and someone who has a physical office I can identify and walk into. Too many snake oil vendors on the web.

Thursday, December 10, 2009

50 Free Citrify Licenses!

Remember - you heard this here first! My buddy Zee sent me an email and offered 50 free licenses (a $39.95 value), to the first 50 people who go to this URL:

Visit http://www.citrify.com/promo/

Citrify is photo editing software built using Adobe AIR. It runs on Linux, Mac and Windows. Very cool use of AIR!

Submit the form with this promo code in the message body: duane1209

Here are some screenshots of our key features: http://www.citrify.com/features/

Here is more information about our team: http://www.citrify.com/about/

Thursday, November 26, 2009

Flex Builder Linux Alpha 5 release

The Flex Builder for Linux alpha bits posted on Adobe Labs have been updated to extend the hardcoded timeout period. The current FB Linux Alpha 4 product will expire on Dec. 1st, 2009, so if you are currently using Flex Builder for Linux be sure to download the updated Alpha 5 bits from Adobe Labs http://labs.adobe.com/technologies/flex/flexbuilder_linux/ prior to Dec. 1st. There are no changes to the functionality of the product in these new bits; however they have been tested on later versions of Linux distros. Please see the release notes http://labs.adobe.com/technologies/flex/flexbuilder_linux/releasenotes.html posted on Adobe Labs for complete details.