palmSource might not be the devils toy

Ok, I saw this the other day, and if I was a better blogger I would have been all over it the way I was when I found that palmOne was building a treo phone with microsoft mobile os for dell.In this article at the register we find out that palmSource may be looking to build its new OS on top of linux. There are several devices out on the market already running linux under the hood. I see this as a great opportunity for linux to spread its absorption. One of the key points that limit linux’s adoption in mainstream, is its lack of support for everyday things. Yes linux can sync most palms, but that would allow much tighter integration.

Maybe people will say, well it works on my handheld. It was a little different but I adjusted. Maybe its worth a shot on my desktop too. :)

A man can dream can’t he?

OO CF 101 – No Patterns Required

Although you might never guess utilizing OO in cf, actually requires no knowledge of Design Patterns what so ever.Now you have to understand that my saying that goes entirely against everything I have practiced in the last 6 months. I have been sucking up every bit of written knowledge i can get my eyes on, and working very hard at implementing these OO concepts in CF.

Scott over at Mossy Blog posted an excellent list of resources for those looking to learn more about patterns. I would also add to his list Martin Fowlers “Patterns of Enterprise Application Architecture” which Sean Corfield recommended to me.

I am always playing the devil’s advocate, so although I am currently working hard at learning the concepts that Design Patterns present, I feel its important to understand the other side of the argument. Design Patterns are just as they describe. They are descriptions of patterns that have been seen in application design. Which means that the concepts they portray actually existed before the term “Design Pattern”. And although the trend is to go out and read and learn everything you can about a subject, it is not a requirement for the course.

It is entirely possible to create an application that utilizes cfcs as objects without knowing or (potentially) using design patterns at all.

So if you are just coming to cf and you see Scott, and Joe, and myself ranting about Design Patterns, please dont take this as something requiring study. Because in truth, until you have used one of the patterns yourself (without knowing it) its very difficult to see how they will apply to your development.

Ok, that being said I also want to note that if you do want to see examples of OO design in CF stay tuned here, because I will be releasing the code for my blog soon, but also check out Joe’s Pretty Practical Pattern Post

#1 Code Editor Feature I didnt know I needed

I am enjoying using CFEclipse of all my cf development. And as I am getting more familiar with it there are features that have been integrated that are not available in other editors that I have used(or not noticed).The Feature I am most excited about? Matching Bracket Highlighting. What does this entail? When you write a function and you get to the part where you add the () it hightlights the matching brackets. If the method you are coding doesnt take any param then its no big deal, but what happens when you are passing a reversed string into a listdeleteat or someother god awful combination of tags. Then this little feature becomes unbeatable.

Other great uses of this include {} bracket matching in javascript.

Like I said. Number one feature I didnt know I needed. Thanks guys. :)

Implementing Site Sub Apps

I have completed the OO Dao implementations I started with sean and rays blog code. My site is running happily and I like what I have created.I have always said that I planned on releasing the code that I created when I was done, and I am preparing to do so.

But I have a question.

When playing with an application like this do you prefer it to be set up as just that, an application. Assuming that you will launch it from a web root and such. Or is it better to set it up so that it runs from a subfolder of an existing application?

This is a fusebox app, so it can easily be integrated into another fb41 app. However I would like to arrange it so it provides as little set up as possible.

The reason for the question is directed at the path to the cfc’s in the application. If the app is set up in the docroot, no mappings are required. However if you put it in a subfolder the cfc’s need to know their path and a mapping may be required for setup.

So how do YOU set up apps for distribution?

Pro Sports – Take away the money

I had the pleasure of watching the portland trailblazers take a beating at the hand of the Phoenix suns last night. If you just checked the score you might have thought it was a close game. 121-99 only a 22 points difference. Now I am not a basketball fan, so maybe that really is a big difference, but I couldn’t tell you. The Suns dominated us, worked us, and made us look bad. By “us” I mean the portland team, because that is home to me.

Anyway, the point of the post is not that. Its that I think I have finally figured out why I dont watch more sports. Its because I dont respect the players. These guys get paid way too much money to work out and play games that they obviously enjoy. I sat their and watched these guys not hustling on the ball, and not bothering to rebound, and thought to myself “Why should they bother?” As long as they dont do something really stupid they still get paid. It doesnt matter if people like them or respect them. If they lose they still drive home in their cars from the new Mercedes-Benz A Class that cost more than my house.

I think we need to instigate a new pay structure for professional athletes. I think that they should cap the pay at something that is well above reasonable for a working person. Pay the bench players $250,000 and staring players $500,000. Then make the players work for their endorsements. If they are making a normal amount of money, then perhaps it would put things in perspective for them. If they work hard and play well people will respect them. If people respect and like them then they make great candidates for endorsements. Let nike and coke pay them millions for their good image, and then let them take it away if they dont deserve it.

I think about the people in our community who actually work, and contribute to society. They are the ones building the systems that make the world work, and they make fractions of what these sports players make. I respect my peers, and I think they deserve the money way more than professional sports players.

What do you think.

War Games – Too much automation?

Someday I will post my list of best computer movies, I have a quest to own them all.This morning my wife is gone shopping, so I have time to code on my own. I often like to have something going in the background while I do this, and today it was the movie War Games.

You can look up the movie for a synopsis, but I will describe what is important for this post. In the movie some smart scientist designed a super computer that could play war games. The idea being that it could run through the simulations of a nuclear war and process the outcomes without having to actually kill anyone. In the movie a simulation is triggered by someone else, outside of those in the know. So the system starts its simulation. But know one knows its a simulation, and they prepare for war.

But its all a game right? It got me thinking about the things that I automate in my life, junk mail filtering, hosting signups, bills I pay regularly. Really simple stuff. But I am just a person living his normal life.

The trends I see in the world are leaning towards automation. We dont have as man steel workers because we can have robots do it. The jobs that used to require 20 people to assemble a car can now be controlled by one person. Streamlining. Its inevitable. But how do we know when we have goon to far? The answer is only when something goes wrong.

It seems that only hindsight allows us to know what the proper level of automation is for a particular task.

In the websites I build, I often have a registration process. This process involves taking in a users profile, confirming their identity, maybe even charging their credit card with money. All things that used to be decided by a person. We plan and we architect and then we build. And when something goes wrong, we re-analyze and we redeploy. Something that is much easier done by a human than a computer.

Really this is all rambling but it has led me to a conclusion. I really think there is a saturation point where someone has to take over. Managers want to not have to do this, because they dont have to pay computers hourly for automation, but it can cause problems.

A perfect real work example of this (as i wind down) is the new Domain Transfer System put in place by ICANN at the beginning of november. Transferring a domain from one registrar to another has been a bit of a pain in the past. Not always, but only when the account information has not been kept up to date. When you hit that special case, it required faxing and phone calls and support time with the registrars customer service. So to fix this problem they put in place a new system. When a domain transfer is requested they send an email to the site administrator. And if the site administrator doesnt respond in 5 days to say the _DO NOT_ want the transfer, the transfer goes through: processed successfully. You go away on vacation, someone requests your domain name to be transferred to them, you dont respond ( because who checks their email when on vacation?:) ) and when you come back, your domain is now some business in Singapore. Not only that, what if this happens to a client, who registered the domain using their ISP mail account 3 years ago, and no longer has access to that mail.

There is a little more that goes into the process, but as you can see automation has taken over. The process was already automated. If the information on the accounts was correct, you were fine. If they were not, then it took a little work. Now they have taken the minor case, and automated it as well. Possibly to the detriment of the domain owners.

I suspect that automation played a large roll in Ray Camden loosing his yahoo nickname after years of ownership.

I guess the point I am trying to get across here, is that we, as the designers of these automated systems, need to keep in mind that sometimes the minor case needs to be just that. And that human interaction is a necessary part of successful business administration.

I am done now. Please re-join you with your regularly scheduled activities.

Free Blackstone Hosting Account

Hostmysite.com is advertising free trial accounts of Blackstone beta 2. Free Blackstone Hosting Account

So I suppose if you have been waiting to try out the new feature and didnt have a server to play on, here Digital Friks Marketing is your chance, I have been busy trying to learn new marketing strategies from the awol academy that I want to share with all of you later on, we will discus how important seo is for your website on my next post.

Flash Remoting Adventure

Ok, I will be the first to admit that I am not a flash guru. I have worked on a couple projects, and one with remoting. Today, i feel like I was trying to troubleshoot with a blindfold on.I have decided I have a gripe. I am sure there are security reasons that back the need for the details that led to my ultimate frustration. However, that helps me feel better, not at all.

On my powerbook, I run jrun, with cfmx running in an instance. I also have apache set to proxy requests to cfmx. This has worked great for me in my CF Development. However today, i decided to try to get pollster ( see DRK 5) working. Pollster is a Hybrid Application allowing you to set up polls in a cf admin and take the polls via a flash interface. You can see the pollster app in action on Ben Forta’s blog and Christian Cantrell’s blog as well.

Anyway, the trouble all boils down to this. Jrun has flash remoting built in that allows you to interface Flash with java. CFMX has flash remoting built in that allows you to interact with cfc and cfm pages. However, the Jrun version will not proccess cfc and cfm files.

All of this is very fine, with the exception of i cant find a way to figure out which one of these is answering my Remoting calls. I can use the netconnection debugger to see what the problem is, (my problem is it cant find my components) but I have no idea which server is doing the work.

This leads me to the problem that frustrated me all day long. i have no idea where to put my files to get them to process via flash remoting. I have tried having them in the docroot set up by apache, the docroot for jrun server, the docroot for cfmx server, I have tried setting up a mapping and trying to reference them via that.

I spent a good portion of the afternoon in sean corfields breeze room where Matt Woodword worked valiantly to help me get my gear running. Spike and Sean chimed in also, but as of yet, I cant get pollster running.

What a mess. Anyone have any suggestions for me?

Factories – making DAO useful

Well in a topic that goes into more depth that I bothered with yesterday, Joe talks about how factory patterns work in this article on his blog.Yesterday I posted about how I am using factories to create the database specific objects that do the interaction in this blog. I glossed over the details of what factories are and how to use them. For more information on that topic read the excellent post on Joe’s Site