Thanks to Rick Olson for providing assistance with the proper syntax for instantiating observers in Rails 1.2. The old way was to add an observer statement to the appropriate controler, such as:
Hidden in the ignored parts of conf/environment.rb was the proper notation:
# Activate observers that should always be running # config.active_record.observers = :cacher, :garbage_collector
This makes the last of my deprecation messages go away!
EagerFinderSql allows custom SQL to be specified when doing eager loading of associations through the :include option
to find. This allows for purpose-constructed queries to be used and still result in a fully linked
ActiveRecord constructs SQL to satisfy the requirements of a find request. Associations allow for customized
SQL to be specified, using the :finder_sql option, but this has not been available when performing eager loading
using the :include option. The result is that a standardized query is constructed to bring in the associated
tables using LEFT OUTER JOIN. For some queries, this can be result in expensive queries and potentially very
large result sets.
EagerFinderSql addresses this problem by allowing :finder_sql to be added
to find options when the :include option is also specified.
Many software projects fail to deliver on-time and on-budget and a factor in that is normally inefficient project communication. Studies have shown that software teams that consistently deliver on-time and on-budget communicate in an effective manner. These teams stay in contact constantly, but wisely use each other’s time during the communication process and are careful not to waste other people’s time.
Below are some tips for enhancing project communication when working in software development projects:
A popular trend in systems development circles is the so-called Extreme Programming Paradigm. XP has proven to be quite effective at rapidly producing system functionality, and it includes many practices that should be considered by any development team (e.g., Test Driven Development or TDD). However, there are many pitfalls to XP that don’t necessarily make it the best technique for many organizations.
Working with legacy software systems provides its own considerations, but there are some general goals that can be stated for web-based software applications. To the degree that the nature of system upgrades substantially touches these areas of system design, it is important to consider the following goals within the system design.
Well designed applications should meet the following goals in order to provide lasting value:
Pictures from dive trip to Cozumel in January 2006: Cozumel 2006-02.
Pictures from dive trip to Utila, Honduras (one of the Bay Islands) in April of 2004: Utila 2004.
Pictures from Dive trip aboard the Truth Aquatics Vision in July 2006: Channel Islands 2006-07-15
Here’s a link to pictures I took while diving in Cocos Island in Costa Rica from August 25th through September 5th 2006: Costa Rica 2006-08.