Gregg Kellogg
Gregg's personal blog
Observers in Rails 1.2
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:
observer :user_observer
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!
Gregg
Eager Finder SQL
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
object model.
Background
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.
Custom SQL
EagerFinderSql addresses this problem by allowing :finder_sql to be added
to find options when the :include option is also specified.
Project Communication
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:
Thoughts on Extreme Programming
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.
Web Design Goals
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:
Cozumel January 2006
Pictures from dive trip to Cozumel in January 2006: Cozumel 2006-02.
Gregg Kellogg
Utila April 2004
Pictures from dive trip to Utila, Honduras (one of the Bay Islands) in April of 2004: Utila 2004.
Gregg Kellogg
Channel Islands July 2006
Pictures from Dive trip aboard the Truth Aquatics Vision in July 2006: Channel Islands 2006-07-15
Gregg Kellogg
Costa Rica/Cocos Island
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.
Gregg Kellogg
Powered by Typo – Thème Frédéric de Villamil | Photo Glenn
