 |
Thoughts, ideas, tips, musings, and pontifications (not necessarily in that order) by Ben Forta ...
NOTE: This is my personal blog, and the opinions and statements voiced here are my own.
September 30, 2006
We've added another MAX ColdFusion BOF (no, it won't conflict with the two already scheduled). This new one will be entitled "ColdFusion IDEs", and will present a forum for you to share your opinions on this important subject (admit it, you have a strong opinion about this one!). Discuss what you use and why, talk about what you'd like, speculate about the ideal CF development environment ... we want to hear it all. We'll be posting the final BOF list to the MAX site shortly.
September 29, 2006
Posted At : 10:53 AM
Related Categories:
ColdFusion :
Brian Kotek has posted an excellent overview of Model-Glue:Unity on Builder.com.
Posted At : 10:24 AM
Related Categories:
Using CF :
No, I am not advocating migration up North. But, CanadianAlternative, a site that apparently wants to help "conscientious, forward-thinking Americans" to do just that, is powered by ColdFusion. This one sent to me by Jim Collins, thanks (I think)!
Posted At : 10:19 AM
Related Categories:
Jobs :
- Point and Pay (Winter Haven, FL) is looking for a ColdFusion developer with at least 3-5 years of ColdFusion development experience. Knowledge of CFCs and SQL is required. Fusebox 4 or 5 experience preferred. Contact Russ Johnson.
- Point and Pay (Winter Haven, FL) is also looking for a software architect to focus on application design for new development. Experience with ColdFusion 7, CFCs, and Fusebox is required. Experience with Adalon and UML diagramming is a plus. Contact Russ Johnson.
- General Dynamics / Scott AFB (St Louis, MO) is looking for an advanced ColdFusion developer to work on a government contract for Scott AFB. Experience with ColdFusion MX 7 is required, as is working with XML. Experience with Fusebox or Model-Glue Framework is preferred. Contact Brian King.
September 28, 2006
Posted At : 11:21 PM
Related Categories:
ColdFusion :
CFDevCon is a new U.K. based ColdFusion developer conference that is run by developers, for developers. This event promises to be highly technical, with an emphasis on topics relevant to actual application development. The first CFDevCon will be a one day event on November 9th, 2006, and there is space for 400 attendees. It's great to see an event like this in the U.K. And it's great to see the old DevCon name used again, talk about warm fuzzies. I'd love to attend this event, and may indeed do so (I have a schedule conflict right now, but am going to see what I can do to).
September 25, 2006
Last week's ColdFusion/Flex seminars in Chicago and Boston went really well - they were well attended, highly interactive, and (judging by the follow-up e-mails I've received) well received too. I just arrived in New York, and will be presenting the same seminar here tomorrow morning. And then I'm off to San Francisco to do the same again on Wednesday. There are a few slots still available for both the New York and San Francisco events, so if you're interested in a fast paced crash course on building ColdFusion powered Flex applications, please register and drop by.
BOF stands for birds-of-a-feather, and MAX BOFs are informal get together of like minded individuals, a chance to chat, share, learn, network, and more. MAX BOFs fall into two categories:
- Subject specific BOFs have no formal presenters and no set agendas, instead a moderator helps facilitate the discussion between attendees on a specific subject.
- "Meet The Team" BOFs, are a chance for you to get up close and personal with product teams (engineers, product management, support, and more). We seat product team members up front, and you get to ask, tell, compliment, request, and complain as you see fit.
MAX BOFs run in the evenings, after scheduled sessions (and we are very careful to not allow them to conflict the with annual "special event"). The final MAX 2006 BOF schedule has not been posted yet, but some of you have asked about ColdFusion BOFs, and so, yes, they are two (as of now) you should be aware of, one of each type:
- We will be hosting our annual standing-room-only "Meet The ColdFusion Team" BOF. We are bringing quite a selection of CF team members for you to grill, so you won't want to miss this one. This BOF will likely take place Tuesday evening, and I'll be moderating.
- ColdFusion Components (CFCs) are incredible important, which is why we have several MAX sessions dedicated to them. And Ray Camden will once again be moderating a BOF for CFC users to share ideas, experiences, solutions, and more. This BOF will likely take place Wednesday night (before the special event).
There will also be 8 other "Meet The Team" BOFs (including a "Meet The Flex Team") and many other specific subject BOFs. We'll be posting the final list to the MAX site shortly.
September 24, 2006
One question that keeps coming up when presenting Flex (especially to those porting existing apps to Flex) is "how do I maintain session state in a Flex application?". This is an interesting question. Interesting less because of the problem itself, and more because it demonstrates just how webified we have become. So, let's step back a bit ... Web apps (powered by ColdFusion, ASP, JSP, PHP, or just about anything else) often need to maintain session state. If a user logs in you need to maintain that information so that it persists across requests or else the user will be prompted to login on each and every request, if a user puts items in a shopping cart that cart must be stored within a user session or else the cart will be empty each time the page changes, and so on. The reason that session state needs to be maintained is because the web is stateless, each request stands on its own two feet, and within a request there is no awareness or knowledge of prior requests. Each time a page is requested a connection to the server is made (often multiple connections) to retrieve the needed elements, and then that connection is broken. This allows HTTP servers to respond to lots of traffic (far more so than if connections were always kept open), but the down side is that web pages are not aware of any activity performed by the same client previously. To allow data to persist in the stateless web we've grown accustomed to taking advantage of what might be best described as a hack. In web apps, data to be persisted is stored on the server, so that it'll be present on subsequent requests. Of course, this necessitates that there be a way to associate a specific block of data on the server with a specific client, and so web applications (or application servers) create session identifiers which are sent to the client, and which must be sent back to the server on every subsequent request. These identifiers are most frequently stored in cookies or embedded in URL tokens or hidden form fields. But where they are stored is less important then the fact that they are needed, and must be submitted from the client (the web browser) back to the server on every subsequent request or else session state will be lost. Life was not always this convoluted, things used to be simpler. Desktop applications and client-server apps never had to rely on state being maintained on the server. In those apps the client itself is stateful - it is not a set of loosely coupled scripts sitting on a server, rather it is an actual application running on the client, an application which does not completely reload when items are selected or clicked on. Requests are indeed made back and forth between the client application and the server as needed, but the client is always present and always running. And so preferences can be stored on the client, as could shopping cart contents, as could login details. In other words, session state management is not preferred behavior at all. Rather, it is an unfortunate side effect of how the web operates, a way to compensate for the statelessness of the web. Now back to Flex. Flex applications (or more rightly, Flash applications) are usually served by web servers and run inside of web browsers. But Flex applications are functionally a lot more like client-server applications than they are web applications. Like desktop client-server applications, Flex applications are loaded and the remain running as long as the app is in use. Like desktop client-server applications, Flex applications connect to back-ends and request or interact with data as needed. Like desktop client-server applications, Flex applications do not suffer the limitations of running in a too-thin client. And like desktop client-server applications, variables defined once in the app can remain defined, and objects instantiated can remain so (until you kill them, or until the application terminates). In other words, Flex apps are stateful, much like desktop applications and client-server applications. If you need to remember user preferences, just create a variable or object to store these in and keep it around for the duration of the application execution. If you need to track shopping cart contents, keep these locally within the Flex app until checkout time when they'll be submitted to the server. And so on. (As a side note, if you need to maintain values across application usage, then you can even store values locally in local shared objects - the Flash Player's equivalent to browser cookies). So, the answer to the question "how do I maintain session state in a Flex application?" is "as a rule, don't!".
September 22, 2006
Posted At : 2:37 PM
Related Categories:
Flex :
When Flex compiles MXML it generates ActionScript which is then compiled to generate the final SWF. At the seminar in Boston yesterday, one attendee asked if he could see the MXML generated ActionScript. The answer is yes, there is a compiler flag that does this, and I promised that I'd post it here for him. The flag in question is -keep-generated-actionscript, just add that (one long word with the three hyphens). To use it open your Flex Builder project, right click to open the project Properties, select Flex Compiler, and add -keep-generated-actionscript to the Additional compiler arguments. You'll then see a new project folder named "generated" which will contain the generated .as files.
MAX Early Bird registration ($200 discount) is only for three more days (until September 25th)! If you have yet to sign up, do so quickly so as to save money, and to get your pick of sessions (many are sold-out already).
September 21, 2006
Posted At : 9:48 PM
Related Categories:
Stuff :
Adobe :
Courtesy of our friends at Fig Leaf Software, check out the Adobe race car. You can also register to be part of Adobe's Pit Crew at Talladega Speedway.
September 19, 2006
The MAX conference store is now online featuring MAX branded jackets, shirts, bags, caps, travel mugs, and this cool MAX the Monkey.
Yesterday I presented a seminar entitled "Adobe Flex 2 and Macromedia ColdFusion MX 7" in Chicago. The session went really well, lots of interest, and a very engaged and involved audience. On Thursday we'll be doing it again in Boston. There are two sessions, I'll be presenting the one for CFers in the morning, and the ever impressive Christophe Coenraets will be presenting an afternoon session targeted at Java developers. There is still some room left, and registration is required. Oh, and if attending a free seminar was not enough to entice you, maybe this will: we'll be picking one winner from each session to win a free copy of Flex Builder (with Charting).
September 17, 2006
While in Bangalore last week I snapped this picture of a car, a SCORPIO!
September 15, 2006
Posted At : 11:36 AM
Related Categories:
Jobs :
-
Optimal Payments (Montreal, Canada) is looking for a Flex developer with complementary skills in ColdFusion and/or Java. Requirements include an undergraduate degree in computer science or equivalent work experience, 2+ years of experience specifically in design-driven user interface development, at least 1 year working with Flex, and having already developed mission-critical Internet applications. Please forward your resume and sample portfolio (if possible) to Stacy Young.
September 12, 2006
Posted At : 6:48 AM
Related Categories:
ColdFusion :
Last month I mentioned an app written by Ryan Favro demonstrating how to use Flex 2 to build a client that allows you to upload multiple files to ColdFusion. Well, Ryan has now written an article about his app for Dev Center. If you want to learn more about how his code works, check this out.
Posted At : 6:06 AM
Related Categories:
Flex :
Duane Nickull has been playing with the pre-release of Flex Builder 2 on Mac OSX, and has shared some details and screenshots.
September 11, 2006
I am in the airport in Mumbai, the city formerly known as Bombay, en route from Bangalore to London. India is a vast country, about a third the size of the continental United States, and home to over 1,100,000,000 (four times the population of the U.S., and second only to China). My experiences these past few days in Bangalore are thus hardly representative of the country as a whole, which I guess means that I need to come back to get the chance to see other cities. Bangalore was the center of colonial rule in South India during the British Raj (reign) until 1947. Nowadays Bangalore is India's third largest city, home to over 6,000,000, and boasts the highest per capita income of any city in India. Bangalore has been called the Silicon Valley of India because of the large number of IT companies based there. A trip to Bangalore is a rather surreal experience, almost like walking on to a movie set. The sounds, smells (some pleasant, others not, and none familiar), the contrast of high tech alongside abject poverty, cows on the side of the streets, brightly colored clothing, impromptu shanty villages, auto rickshaws (think motorcycle meets rickshaw), the constant stares earned by being so obvious a visitor, haggling with street peddlers, motorcycles carrying four or more (often with children perched on the handlebars) darting in and out of traffic, the smell and smoke of incense, the incessant sounding of horns as people and vehicles cut in and out of each other on hectic roads, familiar US brands but all with an Indian twist ... it's a truly amazing experience. Adobe has an office in Bangalore (it is actually the former Macromedia India office, the other Adobe office is in Noida, way up North at the opposite end of the country) which is home to part of the ColdFusion team. A group of us (Damon Cooper, Tom Jordahl, Dean Harmon, and myself) came over to spend time with the local CF team members as part of our Scorpio planning, and a considerable amount of time was spent brainstorming, reviewing specs, analyzing feature ideas, and the like. The local CF engineers are a bright and capable bunch, and Scorpio will be better with their involvement. And no, I can't share specifics yet, but several of the Bangalore engineers will be at MAX this year presenting the features and technologies that they are working on. And with that, I have to run and catch my flight (and hopefully a few hours of sleep). Next stop, London!
MAX Early Bird registration ($200 discount) is available until September 25th, just two weeks from today!
We're looking for cool apps to highlight in MAX demos. And as per Ben Watson, if you get involved you could win an iRiver!
Posted At : 5:13 AM
Related Categories:
ColdFusion :
Two little gotchas and tips pertaining to <cfexecute> that you should be aware of:
- There is no way to tell <cfexecute> where to execute your command. If you need to be in a specific folder when the command is executed, you should execute a batch file or script, and have it change to the desired folder and then execute the command.
- The <cfexecute> tag captures output (which can be returned, or saved to a variable or file). But only stdout output is captured, not stderr, and so if the command you are executing generates error messages to stderr you'll not see those in the captured output. The solution is to redirect stderr to stdout, if you are using Windows you can do this by adding the following to the end of the command to be executed: 2>&1
September 8, 2006
Posted At : 3:55 AM
Related Categories:
Jobs :
- Intellistrand (Myrtle Beach, SC) is looking for a junior programmer to join it's technology team. Requirements include a Bachelor's Degree in Computer Science, familiarity with ColdFusion, Microsoft SQL Server, AJAX and CSS. Ability to work on multiple projects simultaneously is essential. Contact jobs@intellistrand.com.
A ColdFusion developer e-mailed me to ask what MAX sessions she should attend if she a) wanted to become a better ColdFusion developer, and b) wanted to get started with Flex, and especially ColdFusion / Flex integration. That's a tough question - there are lots of sessions that fit the bill, but many schedules overlap, and attending all is not possible. (I guess that's why she was asking for help). In case others are interested, here are the sessions I recommended (and no, do not take this to imply approval or disapproval of specific sessions):
-
Day 1: Tuesday
-
Day 2: Wednesday
-
Day 3: Thursday
The sequencing is not perfect (for example, I'd have preferred some of the more general Flex sessions before one on Flex debugging). But still, it's a good mix, lots of sessions, and a chance to try it out in hands-on sessions on the last day). Note: These are only ColdFusion and Flex sessions, and I omitted the Scorpio sessions. Many ColdFusion developers will also want to attend sessions on AJAX, LiveCycle, CSS, Flash, ActionScript, and more. Check out the full session list to figure out what sessions are best for you.
The session descriptions are deliberately somewhat vague, but if you want to learn more about ColdFusion "Scorpio" (from the engineers who are building the respective features), be sure to attend these three MAX sessions (each one runs twice):
- WD003W: Image Manipulation in ColdFusion (Pryank Swaroop)
- WD304W: Unlocking the ColdFusion Server Black Box (Ashwin Mathew)
- WD305W: ColdFusion .NET Integration (Rupesh Kumar)
|
|