Reviewing Jeffry Houser's Bullet Proofing Flex Components Sesion Survey Results from 360|Flex Indy

That's a long title. I got my session results from 360|Flex. As I have done in the past, I thought some discussion might be in order.

100% of people found my slides useful. 100% found my session informative. Wow, that seems like a bug in the survey result system. Either that or I'm really getting better at this. Most of the comments were really positive:

Once again a great speaker, right from the source.
I liked how Jeffry covered a good range of topics in a slide and code format.
Learned all sorts of cool things about how do keep your code reusable and clean.
He did a good job explaining what it takes to create stable components
Awesome presentation, very informative by an excellent, very knowledgeable speaker.

Thank you for the kind words everyone. There were some sound problems:

The room had a loud air conditioning unit in it and the speakers were not on, so listening to the presentation was difficult.

Believe it or not, all I needed to do was turn on a mic. Of all people at the conference, you'd think I'd have been able to figure that out. But, i was in the room earlier for a different presentation and the speaker was going without a mix, so I assumed--perhaps incorrectly--that it was an issue. I did ask someone from the crowd to go let "The desk" know, but no one moved. I wasn't sure what to do, so decided to just go with it.

I should have tested the mic in the beginning and gotten help earlier instead of having a conversation about stickers on the back of my computer.

I had two detractors:

Seemed to know his stuff, kept the session rolling, stumbled a little bit here and there.
kind of unprepared.

I know I've been more prepared for sessions in the past, but I still thought things went pretty well. I believe the stumbling was due to the fact that I didn't have the session memorized. And often had to look up the specific line numbers of where to go next when I was showing off the code for Flextras components to illustrate the examples.

Yeah, if I had rehearsed it an extra 100 times it would have been better. If those were the only complaints I guess I didn't do too bad, though.

He mentioned that this session was a "spiritual sequel" to another session, but that session wasn't at this conference.
Would like Breeze recordings for download later

The other presentation is available on-line. This one is my favorite recording of it. But, here is another one.

I expect to be giving the presentation on-line via connect at some future point. But I have no specific plans yet.

And one final comment:

Jeff had some sweet hair.

What can I say; I love my hair. I'm told it would be longer if I got the split ends chopped off more than once every 3-5 years.

The full comments are here.

Flex and CF gave me this error: flex.data.adapters.ChangeObjectImpl / java.lang.NoClassDefFoundError

Over at Flextras.com I created an AutoCompleteComboBox Flex Component. One of the major benefits of the AutoCompleteComboBox over other options is the ability to pull data from a database. I have it working, it went through our beta testers, and was released over a month ago.

But, no demo for this functionality exists on the site, yet. How come? Because I couldn't get Flex Remoting to work with ColdFusion on the production site. Everything worked fine on my local dev box. Everything worked fie on my development / staging server. I kept getting this error when trying to do anything on the production box:


Message: flex.data.adapters.ChangeObjectImpl
Type: java.lang.NoClassDefFoundError

This error was being e-mailed to be via the error handler in the Application.cfc. There was also a stack trace as part of the error e-mail, along with other information such as session information and cgi variables. None of it was any help in diagnosing the error.

I believe this is what was happening:

  1. Flex App makes remote call
  2. ColdFusion throws error because it has no idea how to translate CFs array of CFCs into the Flash Player's array of AS Objects.
  3. Error handler e-mailed me the error. The error handler ran succesfully, but returns no value.
  4. Because the error was caught, The Flash Player sees that the remote call has run succesfully. It executes the result handler, with a null result.
But, I still had no idea what was causing the error. Googling around offered very little help. Looking at packets with ServiceCapture was no help. All it would tell me was that nothing was being returned from the method call. It was registering as a successful call, so the result handler was being fired not the fault handler.

After some trial and error I discovered a few things, in no particular order:

  • If the remote method returned a simple value, such as a string, it worked without an issue.
  • If the remote method returned a query object, it worked without an issue.
  • If the remote method returned a mapped object, it caused the "ChangeObjectImpl" "NoClassDefFoundError" error.

So, why was this error happening? After Googling some more, I came across this link. It appears that someone fixed a similar error by moving cfgatewayadapter.jar and concurrent.jar from flex/jars to Coldfusion/lib/ .

I let my host know; he move the files, restarted the server, and bam! Everything started working. Huh? Why? Does anyone have any idea? Why wasn't this stuff configured from the start? Why did moving these files address the issue?

I'm glad it's done and I can finally post up the sample for all to see. But, now I'm having issues with the case sensitivity of a CF Mapping. It was originally set up in all lower case, not mixed case like my dev machine. ColdFusion doesn't care, but Flex does. The host told me they changed the case on the server. I Restarted the machine. Remoting is st ill returning the CFC w/ the mapping in all lowercase. Any ideas on that one?

I know I've been light at blogging on this blog, and I apologize for that. Most of my "Creative" energies for blogging are being sapped by the Flextras Friday Lunch weekly Q&A session, The Flex Show, and creating demos for Flextras.

Wedding Photographer Woes

So, I'm getting hitched, yada yada yada. There has been a huge photographer drama. my good friend let me rattle on about this for a bit. I think our conversation sums up my thoughts on the situation rather nicely. Here are some, excerpts. I expanded where I thought appropriate:

D: you are being educated about wedding photographers right now though
D: Did you find someone?
Me: : laughs:
D: I take that as a no, you can't agree on terms?
Me: Formally no. It's a very long story.
Me: The Photographer in question is one of T's grammar school friends. I think they reconnected on facebook about a year or so ago.
D: Ah
D: I've done my share of weddings myself
D: it's stressful
Me: So, they worked out a price--which is relatively cost effective--and I said send a contract, which they did. Apparently both T and the Photographer friend got seriously upset as I suggested alternate contract terms.

T is being wish-washy about the whole thing. She just wants two things. Her friend to come to the wedding and have fun and take pictures and give us the pictures. I'm fine with that. And she wants a professional photographer to create picture perfect pictures. I'm fine with that too.

Unfortunately, I don't believe that it can't be both ways.

If we want to invite her friend to the wedding and tell her to take pictures, awesome great. We'll tell everyone to bring cameras and pay no one for the privilege. Most of the guests will probably be taking pictures or video anyway.

But, if we want to hire a professional photographer, that's fine and dandy too. But, once money is changing hands, *I* need to treat it like a professional relationship; not as a "handshake deal" with a friend. By professional relationship, I mean getting a contract, defining roles of each party, defining the deliverable. I do this type of stuff every day. DotComIt has some serious troubles in our early years by not having a comprehensive contract.

The Photographer sent over a contract based on discussions with T and her had. I read through the contract and had one major sticking point. Payment was due in full a week before the ceremony. That means we'd be shelling all this cash before they do any work. As a business owner myself, I have serious issues with that, and had no problems saying it.

I know the photographers puts in time and I have no problems putting down a deposit. There is also a deliverable in the contract: Digital Copies of all the pictures they took on a CD [or DVD, I forget which]. That comes 4 weeks after the wedding. Why should we pay in full 5 weeks before the deliverable, and one week before they do any work at all?

If we pay in full a week before the wedding; what is their incentive to even show up?

I offered options, one of which was a 3 tiered payment plan (30/30/30) or even (50/30/20).

This conversation apparently upset both T and the photographer friend.

After much discussion, the photographer friend left 3 options on the table:

  • Do it there way
  • Pay "full price" (92% more), and get my preferred contract terms
  • they don't come and it destroys the friendship forever

Quite frankly, anyone who puts number 3 on the table is not someone I want to do business with and is not someone I want at my wedding. What type of friend would say that to another?

I may have made things worse--as I sometimes inadvertently do. At some point early in the negotiation--before the poop was flying--T said to me "We may lose our photographer" and I said "Well, then we lose our photographer!" From my perspective, it is a business relationship and nothing I was asking for was unusual.

T is now worried that no matter what happens, that if this photographer is there, I'll be ornery in all the pictures; thereby ruining them all. I never thought of myself as one to hold a grudge until then. It sounds exactly like something I'd do. I wouldn't intentionally ruin pictures, but I'm just incapable of hiding my mood / feeling. Shame on the photographer who can't capture that on film. I believe I may be permanently tainted against that photographer.

I get the impression that the photographer's husband is giving her flack about the low cost she promised to do the photos for. And my requests just added stress to the process--although I don't understand why. Wouldn't a professional photographer deal with these types of negotiation all the time?

I was presented with various arguments that were completely unrelated to the root of my problem. Here are some of them and why I don't care:

  • They'll have to pay for gas: I'll admit it's going to be a trip down from Boston area. But, transportation costs are just part of doing business. They'd have to pay for gas regardless of how much we are paying them.
  • They'll have to take time of work: What work? I thought we were hiring professional photographers to come to photograph our wedding. They will be working our 'wedding' not the wedding of someone else. This is work!
  • They have to rent a camera and other equipment: A photographer doesn't have a camera? Oh, I understand it is a special camera just for this event. But, even so that is the expense of the person I'm hiring and should not be used as an excuse to charge me more.
  • They Deserve More Money: I'm not sure how to quantify this issue. The amount being paid out has come up multiple times in conversations w/ T. But, I don't understand why. It is not something I ever once tried to negotiate, or even complained about. The original number was also proposed by the photographer, not by us. I do have cash flow considerations as I'm trying to start a new business selling ya'll Flex Components, So, yes money outflow is a consideration. But, I never once tried to negotiate the cost. That was never a sticking point with me.

I have spoken to some people who hire photographers for their time; and any prints / pictures they want to buy are covered at a later date. In that case, I can rationalize paying in full on the day or week of the wedding. We have that type of arrangement with the caterer. But, that is not the case with the photographer agreement, which has a clearly defined deliverable 4 weeks after the ceremony.

Here is the finish up of my conversation w/ Dee:

Me: This has been a bone of contention for the past few days. :-) Did my words get heated when it came up?
D: HA, yes very much on fire

Letter to my Oil company

I went over the number of gallons I pre-paid for my heating oil this year. In fact this is the highest amount of oil I've used in the past 5 years. Every single year it has gone down as I've "learned" the house more. Along with the bill from the oil company, I sent them this letter:

Included you will find a check for XXXX for the oil delivery that occurred on April 8th, 2009.

I have to say I was very surprised to find out that I had used up the pre-pay amount, so I reviewed my records. This is my highest oil usage in 5 heating seasons, and I am 118 gallons over the average of the last 3 years. This year's calculations do not yet accommodate for a 'final' delivery that has traditionally happened in the end of May or beginning of June.

During our yearly cleaning / inspection at the beginning of the season, I had your technician turn down the heat on my hot water heater, which I expected would help limit my usage.

All this makes me wonder if the first fill up (11/3/08) accidentally went into my neighbor's tank. The fill location is labeled left side; however there is no fill valve on the left side of my house. I attached a copy of said receipt for your own amusement.

The overrun hurts extra since I locked the price in at what turned out to be an obscenely high amount, and I am currently not generating any income.

If there is anything you can do on your end, or you have any thoughts to share on the matter, please do not hesitate to contact me.

What would the oil company do next?

A stellar customer service move would be to credit my account for the initial fill up. It would make me a customer for life.

An okay customer service move would be to not charge me for the overrun. They'd say things like "It was ~6 months ago; we may have screwed up, but don't know. You should have been watching the tank to be sure it was full every time you got a fill-up." This is kind of like splitting the difference. If they do this, there is a ~75% chance I'd stay w/ them as a customer.

A realistic business decision would be to say "It's way to late to complain about something that may have happened 6 months ago. We're sorry, but tough luck." I'd shrug my shoulders and say "whatcha gonna do." At this point, there is a 50% chance I'd stay as a customer. Could something else have cause the discrepancy?

A horrible customer service response would be to cash my check and not contact me at all. This wouldn't surprise me. 25% chance I'd stay with them for the next heating season.

Last time I had a complaint with a different oil company, the person yelled at me on the phone saying everything was my fault. I not only stopped being a customer, I filed a complaint to the BBB.

I wish I knew more. I wish I knew that they did something incorrectly. I wish I caught the mistake--if there was one--back in November.

Your Demos are Ugly - Jeffry Houser presents about Flextras @ Hartford CT Adobe User Group

I'll be giving a presentation at the Hartford Connecticut Adobe User Group entitled Your Demos are Ugly.

One of Flextra's customers actually contacted me to tell me that the demos were ugly. And he's right, design is not my strong suit. Our demos are ugly. This presentation will focus on demoing the two existing Flextras components and we'll discuss some tips for making the demos look more flashy using effects and styles.

You can join us on-line if you want.

The presentation starts at 7:30pm EST. Convert the time to your local time zone here

Taxes in the Music Industry

Julie writes in to ask about paying taxes on items sold through iTunes. It is a slightly different question compared to the technical stuff I usually deal with, but I was happy to help out.

Here is Julie's slightly modified text:

This may sound odd, but I saw your post on a message board about iTunes. Im a singer songwriter, and I want to get my stuff up on iTunes. I don't have a label, and will be doing this all myself from creation, to publishing, duplication cost..etc. Will I have to pay taxes on income earned from each download? I know the cd sales I sell out of my car are mine- but what about the money that comes to me from each download? does the IRS track that and come after me for each one? im so new at this, and any info would be helpful. Thanks Julie

Disclaiming this response with the fact that I am only aware of US based laws and I am not a lawyer or accountant...

Most likely you'll have to pay taxes. As a business owner myself, I budget for 40% of my income to go the government. As a self employed individual, you pay the same taxes you do as if you had a day job (~33%). If you had an employer, that employer is paying ~7.5% to Social Security in your behalf. If you're self employed, you pay that amount yourself.

You also have to pay taxes on the CDs you sell out of the back of your car. They qualify as income.

The benefit of claiming this income on your taxes is that you can also claim deductions. For example the cost of printing the CDs is tax deductable. If you buy equipment such as a microphone, guitar, mixer, guitar strings, or mic stand that is tax deductible. If you drive a vehicle to and from a gig that mileage may be tax deductible. If you buy clothes / costumes for your performance that is deductible. If you rent a professional studio or hire a producer / mixer / etc... that is all valid business expenses and deductible.

In my 10+ years of being in a band, I think I never had a year where the band income was more than the band expenses. One year we had an operating profit, however equipment we were deducting over time offset that profit for tax purposes. That is why I am no longer trying to be a professional musician. I didn't have the people skills to be good at the business side of it.

Tons of bands play dive bars once a month for $300 a night and split it between 5 people. I doubt the IRS would go after those people (But don't quote me on that). On the other hand, if you're playing 200 shows a year, have thousands of fans, and are generating a half million a year they'll probably notice you.

A lot of musicians want to wait until they make enough money to be noticed before they address this issue. However, that seems wrong to me because a lot of the tax benefit is going to be now / today when you're struggling, spending, and making almost no money.

You're going to want to talk to an accountant and/or lawyer for specifics in your area, though.

Why do I need to use Static Variables in an AS include file?

This question comes in from an anonymous reader who commented on one of my other postings about includes in ActionScript.

Maybe you should explain why i need to type

public STATIC var test:String;
in a include scenario?

He went on to say that he was looking around for hours and could not find this issue addressed. The answer is that variables defined in an included file do not need to be static. I've used includes with non static variables and other code that doesn't create variables.

The Flextras watermarking code uses includes to help minimize the code difference between our developer edition and the unlimited domain edition. No static variables are found in there. I also once used an include for a hard coded data provider to help simplify the main file. It was a list of a hundred (or so) countries and I got tired of paging up and down through the list to move from the top of the file to the bottom.

That is not to say you can't use static variables in the include file. I've never tried it but see no reason why you wouldn't be able to.

Anon asked a follow up question that I thought I would address too:

Looking around for hours and not finding much explanation as to why i need to use STATIC. Is it because the included file is only loaded once!?

Included files are not included once. They are included everywhere you use them. As best I imagine it the compiler does a cut and paste from the include file into your main file.

Anon's question inspired the topic for the most recent Flextras Friday Lunch presentation, all about static variables. Check out the recording here, and feel to stop by any Friday at 1PM EST to ask me questions in person.

If that doesn't work, e-mail me.

Why Didn't You Hire Me?

I'm searching for caterers for a wedding reception big backyard BBQ picnic this summer. I'm pretty sure that we have one chosen, but nothing is signed yet. One of the other potential vendors asked me why we didn't choose them as the top pick. "Was it the cost?"

This is my response to them (with minor mods for the sake of the public posting):

Price is always a consideration. But, in this case, our top pick is roughly 40% higher than your quote. Did you want to try to convince me you're the better option? I'll give you the chance if you want it, but you have an uphill battle.

Our top pick was more responsive, and her proposal was easier to understand. Those were the two primary reasons she rose to the top.

The first thing you did was send me two documents in my response. To this day, I could not tell you the difference between the Burger Bar Fancy and The Fundamental BBQ. They seem to be the exact same thing, except one doc had more detail on the menu. The price per person was not obvious in the original docs you sent me, nor was the total cost. Is cost even in the fancy document? I can't find it.

I didn't realize, until you mentioned later, that the initial two docs you sent were not custom proposals prepared for me. You wanted to chat; which is great, but you left me hanging for ~3 weeks and did not call me until I followed up. If it is not a priority to bring me on as a client, what sort of priority will you give us once we sign and start coughing over money?

The 2nd and more customized proposal you sent over is significantly improved over the initial menu docs. I'd even say it is the 2nd best proposal we've seen. Had it not been pulling teeth to get it out of you it would have warranted more serious consideration.

And there it is. That is probably why you didn't get my business. In my 9+ years of being in business, I've found that price is rarely the deciding factor.

Invitation to Microsoft / O'Reilly Northeast User Group Summit

This invitation comes to me from Jim O'Neil, a Microsoft Developer Evangelist. Microsoft and O'Rielly are trying to get together people to discuss the community of Rich Internet Applications.

I think it is a great opportunity, if you're interested in "Crossing the lines" for the sake of community and are in the northeastern area. I did sign up for the event.

Here is the formal announcement:

We'd like to invite you to join us on May 2nd for a special Northeast community/user group leader summit. Together we can help each other by sharing our experiences of running a user group. We'll discuss topics such as building community, finding relevant meeting topics in today's economy, attracting and keeping members, using social media and other tools to get the word out, working with vendors and collaborating on group events like Code Camps and Ignite. Anything goes since we're going to focus on the mechanics of running a group and not the technical content.

We'll have a few set sessions to help get things started but then the rest will be decided by you and your peers in typical Unconference- fashion.

O'Reilly Media and Microsoft are hosting the event at Microsoft's newest campus, Microsoft New England Research and Development Center (NERD), One Memorial Drive in Cambridge, MA which is easily accessible via public transportation and has ample cheap parking nearby. For more information, go here.

We've also invited other industry notables such as Sun, Google, Adobe, Red Hat, SourceForge, Wiley, Wrox, Safari Books Online, Addison-Wesley, PeachPit, Pragmatic Programmers, Microsoft Press, No Starch Press, SitePoint, Apress. Please RSVP by going to http://neugsummit.eventbrite.com/ as soon as possible so we know how many people are interested. Because we have limited space, we can only extend this invitation to you and one additional member of your group.

There is no fee to attend and we'll provide some snacks and beverages throughout the day. We've scheduled activities from 11am to 5pm but you're welcome to arrive as early as 10:30am.

We look forward to a great community event! See you soon.

End the Formal Announcement!

I've been getting a lot of flack lately about giving too much love to Microsoft. Although I'm not sure I agree (can we really have too much love?) feel free to flame me.

Air on Netbooks

This question comes in from Tomas about running AIR on Netbooks.


I wanted to know if you personally or through a third-party had experience of Adobe Air running on a netbook. I don't have one of those close to me and wanted to know if it was worth it. At least the resolution is good enough for my app.

Can anyone answer Tomas's question?

I have not had any experience w/ AIR on Netbooks. Although, I know of no reason why it wouldn't work, assuming you have a supported operating system. I suppose there could be potential performance issues.

I love answering questions from readers or podcast listeners, so feel free to send them in.

Lately my writing energies have been pulled between the Flextras Friday Lunch and The Flex Show podcast. If you have questions and want to nail me on them live, drop by the Flextras Friday Lunch. Every Friday at 1pm EST.

More Entries

All Content Copyright 2005, 2006, 2007, 2008, 2009 Jeffry Houser. May not be reused without permission
BlogCFC was created by Raymond Camden. This blog is running version 5.9.2.002.