Mark Drew opens the question as to how best to offset the costs of developing CFEclipse. This is an interesting question because the world of open source doesn't necessarily follow a paid model. Surely there is the Gratis vs. Libre discussion, by which open source does not necessarily mean no costs.

If I were dictator of the world, here is what I would do:

  1. Move CFEclipse to 'Free for personal use' and '$100 US for commercial use'
  2. Have Adobe take over the development of the software
  3. Make Mark Drew the CFEclipse Evangelist

My Reasoning for this? I'll make the points one by one.

  1. The donation model taxes the generous individual at the expense of the corporation. Corporations are better suited and also more accustomed to paying for software and tools. (Follow the comments in the post here). Additionally, the corporation is more likely to purchase blocks of licenses which reduce the transaction costs for each transaction (Defined as when money changes hands).
  2. Having the source code to CFEclipse does me no good. I am not familiar with the Eclipse programming model nor proficient in Java to make anything but a compiled mess. It is a nice feature, but irrelevant. If the model switches to a licensing fee model, there should be a dedicated team and dedicated support channels. This is the expectation of the market for paid software. As well, the FlexBuilder and JSEclipse teams have done wonderful things with FlexBuilder and JSEclipse. Both of these products are based on Eclipse so there is opportunity for cross-pollination and conservation of energies by merging the teams.
  3. Mark Drew should be the evangelist because he already is. He does a fine job of promoting and developing the CFEclipse tool and it would be hard to find another who is equally passionate not to mention, equally experienced. I imagine he, as the CFEclipse Evangelist would be responsible for customer feedback, training, promoting awareness and the like. Having met Mark and hear him speak, he would be perfect for the job.

The play for Adobe is a standardization of their toolsets and the revenue from commercial sales. Dreamweaver is not a Programmers Editor. It works, but then again, so does Crimson Editor, UltraEdit and Notepad. I am not as productive using those tools. CFEclipse, really allows me to program ColdFusion most efficiently. (Once I got past the 'What is a project' moments).

Since I am not the dictator of the world, nor very likely to get the position anytime soon, I leave it up to the readers to decide.

Bender Explained

Toby Tremayne has put forth some code as to how Bender will generate AS objects and connect to Transfer. This is an early first pass and there will undoubtedly be changes, but I am pleased to see he has pushed this stone forward.

In Transfer, your business objects, their properties and relationships to other business objects are configured in Transfer.xml. Bender takes advantage of this 'single source' for object properties/relationships by consuming the Transfer.xml, creating AS classes based of the configured Transfer objects as well as a wrapper for Remoting to the back-end TransferFactory. I believe Chris Scott called the Bender Architecture a 'Remote Command Factory'.

Looking forward to more posts on Bender. Maybe Toby will come to #CFFlex again so I can Bender his ear. (Todo: Remove Bad Pun)

And another thing Microsoft

Please stop resetting my default browser to IE. I've been using Firefox for several years. Just because you installed some 'Updates' to my Operating System doesn't mean I am switching

That is all.

Thank you Microsoft. I hate you so much.

This morning my computer was updated by the Microsoft Automatic Update service. This runs in the background downloading 'critical' updates to important software on my computer. Like 'Genuine Advantage'.

In all fairness, there are often important security related releases in the Automatic Updates. I like the idea of this as it keeps me from having to stay fully abreast of MS Security issues.

What I don't like is, when the Automatic Update service completes its installation, it then asks for a reboot. You get two options, 'Reboot Now' or 'Reboot Later'. Fair enough.

Reboot Later should be reworded to say 'Would you like for me to ANNOY THE CRAP OUT OF YOU every 9 minutes about rebooting?'. I timed it. In Microsoft-speak Later = 9 Minutes.

My point is this. If Microsoft can leave crushing security holes open for MONTHS at a time, then I should get more than NINE minutes in between nagging.

Where is Scott Barnes when you need him?


Jim Priest commented and submitted a link with a fix. I just applied the no-nag fix and couldn't be happier. Thank you Jim!

Here is the link:

Great New Flex book: Rich Internet Applications with Adobe Flex and Java

I recently purchased Rich Internet Applications with Adobe Flex and Java. At 700+ pages, this book is no lightweight. Street price for the book is $119 and this seems like the higher end for technical books. If you order soon, you can take advantage of the Pre-Order pricing of 69.99. Let me tell you why this book is worth the money.

The pace of the book suited me well. I do a fair amount of research on technical topics on my own so when I get a book on programming, I want to see code and write programs. A lot of technical books begin with a history of the topic followed by a hundred or so pages of background and concepts. If you are like me, you usually skip to chapter 6 and start from there. RIA with Flex and Java begins with a page and a half by Bruce Eckel (of Thinking in Java fame), another page and a half by Matt Chotin (Flex Product Manager) then a quick fourteen pages on RIAs, Architecture and alternatives to Flex. You will build your first application on Page 22.

This book is about building applications in Flex, which is taught incrementally by building a number of applications ranging from an XML fed Gas Station application to a Portfolio/Charting application to Flex+MSExcel integration. As the applications progress, you learn more advanced topics. Even though Java is the server side language used in the book, developers familiar with other languages will gain plenty. The concepts and execution are the same. Don't let the word 'Java' scare you away from this great learning resource.

To further that point, here are the chapters in the book:

  1. Architecture of Rich Internet Applications
  2. Getting Familiar with Flex
  3. Flex Builder Development Environment
  4. Learning Flex Through Applications
  5. A Complete Application with RPC Communications and JMS
  6. End-to-End Rapid Application Development with Flex Data Management Services
  7. How to Write Your Own Data Management Services
  8. Enhancing and Extending Flex Controls
  9. Trees with Dynamic Data Population
  10. Working with Large Applications
  11. Advanced Data Grid
  12. Logging and Debugging Flex and Java Applications
  13. Building a SlideShow Application
  14. Developing Custom Charts
  15. Integration with External Applications

As you can see, this book covers a lot of Flex development scenarios.

As the man on T.V. says "But wait! There is more!

In addition to the book, you also get a DVD with all the sample code on it as well as 10 video sessions on Real World Flex.

The Authors of the book are principals of Farata Systems, rated in the top 10 Flex companies in the world so between the video content and the numerous applications you will build with the help of the Adobe Flex and Java book, this is the best $69.99 you can spend on your Flex Education. You can order the book here and get a PDF copy of the book instantly while the book is being shipped.

Disclosure: I was not compensated in any way to write this article. I paid $69.99 all by myself

Update: Bruce Phillips does not agree with me about my recommendation on this book. In the interest of fair and balanced reporting, please read the comments below.

12969 Views Print Print Comments (2) Flex

Google for Domains and MX Records of Death

I set up Gmail for domains the other day. Part of the configuration involves 'Claiming' your domain. This is a simple process. All you have to do is copy a string, save it to a specially named file and add it to the webroot for the domain.

The next part involves setting your MX Records. This means changing the current DNS MX records and adding in the ones provided by Google. Below is the configuration:


Is Bender an AS generator? Is it a service layer for Transfer?

Bender is a new project under planning/development by Toby Tremayne. From what I can tell, Bender will consume your Transfer.xml file and generate AS3 classes, generate an AS3 proxy with a Transfer-like API for calling your remote services and also translate back and forth from CF to AS3. Seems very cool for getting information out of a ColdFusion backend and into Flex.

There is also talk of a Service layer section to Bender though I haven't seen much information on this piece. Proper architecture would demand an intermediate layer in between the ORM and the Flex remote object calls. It only takes one sneaky 13 year old kid to methodically delete all the information in your database.

Maybe Toby can share some details on how this will all work together.

2506 Views Print Print Comments (0) Flex

Flex posters have tapped out

A notice went out from Ted Patrick's blog the other day about Flex Posters. I actually have a nice set of Flex posters thanks to Shlomy Gantz and the fine New York Flex user group. Apparently folks have been emailing Ted directly for posters and a form on was set up to take and fulfill the requests.


2620 Views Print Print Comments (0) Flex

OO and Lines Of Code

I've seen more than once, a person asking on a mailing list about a more 'OO' way to solve a problem. Often, this comes with the expectation of less lines of code to write. Certainly, as programmers paid to provide solutions, not lines of code, we want to deliver a tight and concise code base, however, OO is not about reducing the lines of code it takes to solve a problem.

Encapsulating a problem requires MORE code initially. Accounting for variability, for future extensibility and for the sake of clean architecture, it might take double or triple the lines of code than a procedural solution.

The benefits of OO come down to extensibility and to maintainability. Having a specific solution stuck neatly and tidily into a corner of your application will make alterations and enhancements easier. Often, the "OOOPs, I missed that one" problem is solved because there is less, or no code duplication.

Certainly, the more a particular encapsulated solution is used in an application, it will result in a reduction in overall lines of code. You won't see this benefit when you write the solution the first time. You might even ask yourself, "Why did I write all that code, just to do 'x' "

I've recently picked up some consulting work on a procedural application running CF 4.51. I spent a few years working on that particular version of ColdFusion and wrote some good software. CF 4.51 has no components, no UDFs, no StructAppend and no CFDump. If I occasionally get frustrated with OO, spending an hour or two with the 4.51 based code and it's highly procedural architecture, prove that OO is worth the time. The time it takes to invest in yourself,to learn OO and in extra time to initially code the application.

So as you explore and learn Object Oriented programming in ColdFusion, be careful of how you set your expectations. OO can be quite frustrating and annoying at times. The benefits might not be what you initially expect. The rewards come later.

Innocent until proven guilty?

Verizon is one of the major providers of wireless Broadband. The Verizon EVDO product is one of the fastest services available in North America. One can imagine the many uses for such a service.

Marketed as an "unlimited" service, the limited nature of the service has surfaced. Advertising is a laughably deceptive industry, so much that a common joke is " How can you tell an advertiser is lying? Because his lips are moving.

I do have a problem with this practice. If a service is billed as unlimited, then by all means, it should be without limits.

This article isn't to protest the misuse of the marketing-speak term "unlimited" in the context of advertising. In the wise words of a popular "As Seen On TV" host, "Wait, there is more!"

The terms of the Verizon EVDO service state the following:

view plain print about
1examples of prohibited uses include, without limitation, the following: (i) continuous uploading, downloading or streaming of audio or video programming or games; (ii) server devices or host computer applications, including, but not limited to, Web camera posts or broadcasts, automatic data feeds, automated machine to machine connections or peer to peer (P2P) file sharing; or (iii) as a substitute or backup for private lines or dedicated data connections.
view plain print about
1Anyone using more than 5 GB per line in a given month is presumed to be using the service in a manner prohibited above, and we reserve the right to immediately terminate the service of any such person without notice.

What sticks in my craw is the presumption of using prohibited services SOLELY based on the bandwidth used. We, in America, have a long tradition of "Innocent until proven guilty" which the Verizon terms certainly subvert since any monthly use of <5GB transfer is indicative of pirating movies, songs or something similar.

So not only is "Unlimited" service, in fact, limited, but if you use more than an arbitrary 5GB/mo, you are presumed to be a Thief of copyrighted materials. Does anyone else find this trend annoying?