Archive for May, 2007

Sometimes a title isn’t enough

admin | May 29th, 2007 | useless  

So the title of my blog is “What do I know : My unintelligible thoughts on stuff”. I was hoping that most reading this title would take what I have to say with a “grain of salt” or realize I’m a sarcastic bastard. To be honest this blog is mainly written for myself and my co-workers. In fact, the only reason this blog exists is due to inadequacies on my part of being one of the last ones in the office to get a blog. Honestly, I thrive off of self deprecating humor and the attention it brings, I can’t make it any clearer.

Recently, Matt Woodward and Brian Rinaldi left posts on my blog after Luis Majano linked to me on his blog. Let me start out by saying, I have a huge respect for the work these guys do in the ColdFusion community as well as all of the other community participants out there. You can tell a lot of work goes into CFWeekly and Remote Synthesis from Matt and Brian respectively. I couldn’t imagine juggling the amount of work they do in addition to their careers.

That being said, I don’t always agree with what people say or write, and I blog about it. Matt’s comment was done very well; I could tell he wasn’t too happy with what I wrote, but can you blame him? A lot of work goes into those presentations, so I applaud him for replying to my post and empowering me to do something in the community. Brian’s comment on the other hand, which was a comment on my entire blog, was awesome. I still respect the amount of work you put into your blog and round-up Brian, but come on, get over yourself. If you’re gonna leave another comment, at least pick a different word than “haughty”, I gotta look those words up. :)

To everyone who reads the blog (meaning the 5 visits I get per week), continue to read on if you want, if not … then continue to at least post comments, I’ve gotta get my content somehow.

Frameworks Conference 2007 : Impressions

admin | May 20th, 2007 | conferences  

Well I didn’t know what to expect from participating in a belated conference via audio files, but I set my expectations low because the conference was intended for a general audience. A lot of the sessions covered material I was familiar with but it was cool to get a different perspective and see what the lecturers were pushing in the community. Overall I think it would have been a good conference to go to. I got some cool ideas for ColdBox that hopefully Luis and I can hash out. If they offer it via audio again next year I’ll definitely download it

:)

Frameworks Conference 2007 : Smart Frameworks: Utilizing Rich Metadata and Code By Convention

admin | May 20th, 2007 | conferences  

Elliott Sprehn from Teratech gave this session. He spoke about the use of metadata on objects and their relationships to infer information for use in things like design pattern implementations. He went over how sometimes configuration in frameworks causes a duplication of knowledge because the frameworks needs things spelled out in a specific XML grammar to work correctly. On the conceptual level, he did a descent, not great, but decent job of defending convention or configuration. There were a lot of the framework creators in the audience who disagreed with him, so that was a comfortable listen.

He spoke about some of the great tools that ColdFusion had which made convention-based frameworks very easy to build (e.g. – Named parameters in method calls aiding in writing routes for SES URL support). He went into the GetMetaData() function as well just to show what features ColdFusion offered in terms of introspection. Towards the end of the session he tried to show some examples, and nothing worked. He even came with a few excuses for it, which was again awkward. The session had the potential to be really good, but Elliott wasn’t prepared and it weakened his argument.

I was however able to get some ideas for ColdBox from his session. I would like to see the session again, just with a little more preparation.

Frameworks Conference 2007 : Intro to Object Factories

admin | May 19th, 2007 | conferences  

Rob Gonda gave this session. He went into a basic overview of OO constructs (e.g. – class, object, method, etc.). He then went into the concept of the Factory pattern. The explainations between the IoC and Dependency Injection patterns were interchanged a few times, but Rob was able to get the basic idea across. He explained how to use ColdSpring and the problems it helped to solve in terms of object construction. As he walked through each concept he used Ray Camden’s Galleon app to show how object factories could be used to simplify the construction process based on the solution.

It’s funny to hear all of the variations with respect to what people call the classes they work with. Rob in an aside mentioned the classifications he likes to give classes:

  • Service classes
  • Transient classes
  • Persistence classes being Transfer and ActiveRecord classes
  • Business classes (I think I remember him saying this one, but this may be interchangable with Transient classes)

Just another variation of how to communicate your ideas about OO programming I guess.

I was pleasently surprised with the quality of the content as compared to the rest of the sessions. Great job Rob; nice meeting you at cf.objective()!

Frameworks Conference 2007 : Interface Driven Architecture

admin | May 18th, 2007 | conferences  

This talk was given by Hal Helms. Unfortunately, for the people attending the conference, Hal had his laptop confiscated by the Canadian border patrol on a trip in January. He gave a short talk about civil liberties and then went into his impressions about the current state of the programming job market and his impression of the “threat” of outsourcing. He advocated programming smarter (i.e. – education in software engineering) but acknowledged that this wasn’t necessarily something which could guarantee an American edge in the battle for the job market. Hal advocated the idea of getting better via the process of architecting and managing projects from a technological perspective using Interface Driven Architectures (IDAs). This is basically the idea of fortifying some form of prototype and locking down the UI to avoid feature creep later in the development process. Hal indirectly encouraged a huge of time spent on domain modeling which was encouraging to hear.

Overall, it was good to hear any perspective on the state of our industry but the session was a little light on content.

Frameworks Conference 2007 : Rails for the Ruby-Impaired

admin | May 17th, 2007 | conferences  

John Paul Ashenfelter also gave this session. He gave a very comprehensive overview of the Ruby on Rails framework and the tools it provides to solve a multitude of common problems faced by web application developers. The context of the session was definitely to draw a comparison between ColdFusion/Fusebox/etc and RoR. No negative connotation went along with the comparison, but you could definitely tell he’s a big Rails fan.

John had some very valid points, but I got the same vibe I do from most of the community experts when they present regarding the type of work they do. In my current job we are attempting to build software that is going to last for at least a decade, or so we hope. We’re making decisions which are not only helping to shape the software we build, but decisions to better understand the business domain we’re working within. I am really curious if most of these consultants have similar concerns? I’m sure they follow best practices and are good at their jobs, but what type of longevity and scale do consultants have in mind? Is the time necessary to build things like canonical data models and SOA’s only available to the salaried guys/gals? It seems like consulting is very project/task-based which I associated with very short term goals. I don’t know, I’m probably off my rocker.

Anyway, good talk John, thanks for mentioning JRuby too!

Frameworks Conference 2007 : Testing Frameworks

admin | May 17th, 2007 | conferences  

John Paul Ashenfelter gave this session. This session turned out the same way it has in the past 2 years, a good overview of what’s available in terms of free testing tools. He advocated the use of cfcUnit for unit testing and Selenium for integration testing. John always does a great job speaking and the session was informative.

Frameworks Conference 2007 : Designing Framework-Agnostic Models with CFCs

admin | May 16th, 2007 | conferences  

This session was done by Brian Kotek. I think he did a very good job of distinguishing between the roles that different objects can play within the context of an application. He created, the model and view components of the MVC pattern in an “agnostic” way, such that Mach-II, Model-Glue, and Fusebox could be applied with little work as a controller. He was very clear about identifying the responsibility of objects in the frameworks as it related to his models. I especially like the example he gave regarding listeners acting as adapters in Mach-II rather than as implementors of your application’s business rules.

The session was very straight forward, easy to follow, and interesting. Great work Brian! Nice meeting you at cf.objective().

Frameworks Conference 2007 : Design Pattern Safari

admin | May 16th, 2007 | conferences  

Peter Farrell gave this session and it made me wonder what he’s teaching to the ColdFusion community. In fact there were a lot of ideas that he was preaching that came off to me as extremely naive and short sighted. With that being said, please understand that my review of his session is just my opinion, I could be completely off base and detached in terms of OOD.

One of the big things that got me, which is something that got me while attending cf.objective(), is the ColdFusion Community Experts’ use of the DAO and (Table) Gateway pattern. Peter explained a DAO as an object used to represent a single row in your database mapping to a single Bean in your application. Who said that a single row is the only way to represent your object model in a relational one? If this is what you consider a DAO, what’s the ActiveRecord pattern? The other thing that gets me is their use of the (Table) Gateway pattern. The community’s interpretation of this pattern is encouraging a nasty mix of a relational data structure in an object-oriented model. Peter claims that this is ok for performance, and I agree that sometimes you want the relational data in its raw format for performance improvements (i.e. – reporting). That being said, how do we represent a report in our object models? Let’s create an object to represent the report we’re trying to generate which wraps the relational data structure and then expose behavior on the report like render(). The reason to work within an object-oriented paradigm is to emulate the environment in which the problem exists and to form a solution which matches the ideal real-world solution as closely as possible. Now this definition is a bit loose, but the general idea is there. We need the concept of a collection of objects to work within an object-oriented paradigm. Collections themselves are traditionally objects with responsibilities/behaviors of their own. If performance is a concern, then implement caching, lazy load techniques, or something else geared towards performance in your architecture; don’t smelt the relational model into the object model. To say that collections of objects are not useful and a huge performance overhead is very naive.

Peter went on to talk about the Singleton pattern. He represented the concept of the Singleton pattern as storing a variable in the Application scope. Obviously, this is not an implementation of the Singleton pattern, just the use of a persistent memory scope. He didn’t mention anything about the responsibilities of an object implementing the Singleton pattern in terms of construction, accessing the same instance reference in memory, or the effect of the pattern on object cohesion.

Overall I’d give this session a “pass” on the must listen list. I’m dissapointed with the Frameworks Conference and the allowance of a presentation of this quality, especially obtaining the materials ahead of time. Nothing personal Peter, I still have lots of learning to do as well, but I didn’t care for the presentation.

Frameworks Conference 2007 : Time machine time!

admin | May 16th, 2007 | conferences  

I recently found this link back to the Frameworks Conference 2007 on Sean Corfield’s blog. I’ve downloaded a bunch of the sessions for my drive to work so I’m excited to go through the audio subset of the conference. I got a chance to meet Brian Kotek at cf.objective() and heard Adam talk about how good his session was so I definitely am going to listen to that one.

My goal will be to post about my perspective on each session just like I did for cf.objective().