Tuesday, February 21, 2006

New CFEclipse Web Site

No sooner had I finished pushing people to download a copy of CFEclipse, than Sean Corfield mentions that there is a new website for the product up. It sounds like 1.3 is going to be available quite soon.

For a quick peak at what's coming for cfc's, check out Mark Drew's post about the work he is doing on the Component Explorer

Monday, February 20, 2006

Flex - A Call to Arms

Inertia is a terrible thing in developers. There is nothing more depressing to me than walking into a cf shop and finding that they are still using CFStudio 5 with a single development server supporting the entire department. I usually find that this is an outfit that was unable to keep their visionary developers and now have a room full of grey cube drones, pounding away at uninspired code. No one in the department has ever been to Max or CFUnited, no one actually knows where the closest cfug is, few have actually read a blog, and no one actually has a copy of flash.

There is a lot of blame to go around when you find an organization like this. Part of the blame goes to the individual developers. They have been complacent enough to allow their curiosity and hunger for knowledge be driven out of them by the organization. Most of the time, the truly inspired have been frustrated to the point of finding a different position. Or worse; looked down upon by the organization as trouble-makers and malcontents.

A larger part of the blame goes to the lead developers and project managers. They are the ones that let their day-to-day responsibilities crowd out a spirit of innovation and discovery from their teams and departments. While the developers are responsible for the stagnation of themselves, these people are responsible for sucking the life out of groups of 5 or 10 people.

The largest part of the blame has to go to executive management for being out of touch with their core business processes. They are the ones that have failed to realize that by not exploring new technologies, they are ceding competitive advantage to the competition. They are the ones that have failed to recognize that changes in their companies initiatives have gone from sweeping technological breakthroughs to functional tweaks.

So, if you have suffered through this post to this point being insulted along the way, here is your official kick up the arse:

Official Kick Up The Arse
Developers: Download the Flex Beta now. Do it both at home and at work. If you are working in ColdFusion in any capacity today, you will be affected by Flex in some way. Get to know it now so it doesn't trample you when it's forced upon you. Exploring it is great fun. It brings back that "lightbulb" effect when you first get something to work the way it should. You will start to see where your upcoming projects could be made more engaging for the user and more fun to build for you.

While your at it, try downloading cfeclipse. Once you get it configured to the point where you can actually work on a file, uninstall CFStudio 5. If you are still using CFStudio5 a month from now, expect another big kick up the arse. The rest of us will all be pointing at you and laughing.

Project leads/managers: Take a risk. Set aside some time for your developers to look at Flex. Let them come up with a small project that they could build that could be used internally. Something that won't break the bank but that could be made visible to other parts of your organization once it's in place. You know there is always a list of small products your toolsmith wants built that never get paid any attention. Maybe there is something there you could put together.

Your developers will find lots of other uses for the technology as they build. KEEP A LIST! Take credit for spearheading the research activities.

CxOs: If it is important enough for your company to have a development team, then you realize how important it is to use it to make your company more competitive. If your teams spend 100% of their time working on maintenance projects or incremental improvements in existing software, then either 1) your development team is too small, 2) your middle management lacks vision, 3) you're milking your Cash Cows (hey, that's funny), but not building Stars in your quest for short term gains.

It's time to kick your teams out of their rut. Spearhead a labs group. Make sure it has access to domain specialists across the organization. Devote at least an hour a month to stay in touch with the group. Make sure that the person you choose to lead your labs group reports directly to you regarding this part of their job. Provide the Labs manager with the authority to draw resources from the rest of your organization within reason. No one should spend more than 20% of their time on labs projects until you find a project that you decide should move into development.

Ok, that's it for this kick up the arse. Feel free to post here if you want another ;).

Tuesday, February 14, 2006

Google completely over-valued

This is purely my opinion, but I can't understand why Google's stock is priced so high. In light of their recent behavior towards both the US and China regarding privacy and human rights, it's obvious that the main motivating emotion driving the company is greed. I think a lot of us had hoped that the "Don't be evil" tag line would finally be true for a large company. Unfortunately, it's just not true, and I think it may not even be possible for a large, publicly traded company. Had Google remained a private company, then the personality of the owners would be the driving force behind the businesses activities. Now it must be the never-ending quest for the quarterly earnings figure.

As far as the technologies go that Google is releasing, Adobe Flex/Flash is WAY ahead of the AJAX toolkit that Google has built. All you have to do is look at Breeze vs. GMail to get a good sense of the relative maturity of the two technologies. The Google/Sun announcement has turned out to be vapor to date. What was the point?

The real question for the long haul, is can Google deliver more advanced software and still survive on the unobtrusive advertising model? It's an interesting question. It would be interesting to see if they could deliver an enterprise class software solution for free based on advertising revenues generated by the product inside the enterprise. Could they move into the Salesforce.com space with an offering, or maybe a twist on a small business accounting application. It's hard to imagine such an application being successful when technically, clicking one of the ads means you are no longer working.

Another problem that has cropped up for Google that is probably much more important than most people are admitting and that is the problem of click fraud. Click fraud with Google is where a system is set up to simulate clicking on Google's delivered ads. It results in essentially stealing from Google's advertising customers by Google's affiliates. In a small way, if you click on a few ads on a blog or website you like solely for the purpose of delivering a few pennies to the site's owner, you are committing click fraud. Imagine the trouble you could cause if you set up a couple of cfhttp bots and hammer away a constant stream of your own spurious websites. The big problem here is that Google has enabled the entire system of fraud from end to end. I'm not sure they could ever completely stop it.

So with a known (severe?) flaw in their core business model, can somebody tell me why this stock is valued so high? Are we so desperate to find an honorable company that we ascribe that characteristic to the first company that gives us a marketing campaign claiming to be "not evil" when its actions belie that image?

Tuesday, February 07, 2006

Google adds cool new feature to GMail and GTalk

Check out your GMail inbox and you may notice a new icon on the left.  It's a place to search you chat histories from GTalk.  If you've been irritated that you only have a few lines of viewable chat history in GTalk, you will probably find this feature to be a great new addition.

While Google has been recently tarnishing their "Don't be evil" reputation/mantra recently in the eyes of some because of their dealings with the Chinese government, they appear to be trying to bring back a little of that luster with this feature.

While it doesn't appear to be available in my account yet, there will eventually be able to go "off the record" with a particular contact.  When you do that, chat histories are not saved on either end for the conversation.  I guess the real question is if the data is being saved and used by Google if you are "off the record".

Thursday, February 02, 2006

Performance, Architectural Limits and RAM

Just for future reference, I dug this up from the Microsoft site when I was trying to figure out why my jvm was imploding. You can definitely hit some of these limits earlier than you would think. The tricky part is that your box can be humming along quite nicely while one trouble-making app runs into one of these barriers.

On machines where you have 2GB of memory or more, you shouldn't set your maximum heap size larger than 1430 MBytes.

On any computer system, as load (number of users, amount of work being done) increases, performance (how long it takes to do each task) will decrease, but in a non linear fashion. Any increase in load (demand) beyond a certain point will result in a dramatic decrease in performance. This means that some resource is in critically short supply and has become a bottleneck.

At some point, the resource in critical short supply can not be increased. This means an architectural limit has been reached. Some commonly reported architectural limits in Windows include:

  1. 2 GB of shared virtual address space for the system
  2. 2 GB of private virtual address space per process
  3. 660 MB System PTE storage
  4. 470 MB paged pool storage
  5. 256 MB nonpaged pool storage

One sure fire way to run into this issue is to stuff lots of nested components into the session scope. Add a few cross joins to populate them with lots of meaningless data and you'll have a meltdown almost as fast as building infinite loops.