Microsoft Developer Evangelist Chris Koenig recently blogged about the success of Dallas Techfest, an event which came about in part as a result of the noise generated by CodeMash. It’s really great to see these sort of events popping up across the nation!
Opera Releases Developer Tools
My friend and former Apress colleague Chris Mills, now the Developer Relations Manager for Opera Software, e-mailed yesterday to give me a heads up about the new developer tools available for the Opera Browser, dubbed Opera Dragonfly. Although only an early alpha release, it offers quite a few features, among them a Dom Inspector, Error Console, and a JavaScript Debugger.
Although I’ve only started using it hours ago, it’s already clear this is required software for anybody keen on building quality cross-browser web applications (you are using the Firefox Web Developer extension, right?). In particular I’m keen on the way in which the DOM inspector allows you to easily navigate and inspect HTML.
You can access the tools by running a recent version of Opera (newer than 9.5), and navigating to Tools -> Advanced -> Developer Tools, and then following the installation instructions.
Using Comatose in Conjunction with Active Merchant
Because it doesn’t make sense to build models and CRUD interfaces simply for reason of serving pages which contain static text, I rely on an excellent plugin named Comatose, which acts as a simple CMS. However, it doesn’t seem to play nicely with another excellent plugin named Active Merchant, which we use to drive the e-commerce component of our projects. Once Active Merchant is installed, any subsequent attempts to load the Comatose plugin at server start will fail. The solution is however a simple one: Just uncomment the config.plugins directive found in your environment.rb file, and edit it so it reads like so:
config.plugins = [ :comatose, :all ]
Hope this helps!
PyOhio Call for Presentations
CodeMash speaker Catherine Devlin forwarded the below e-mail to the CodeMash list today, great to see what will surely be another great conference taking shape in Ohio!
PyOhio <http://wiki.python.org/moin/PyOhio> , the first annual Python programming mini-conference for Ohio and surrounding areas will take place Saturday, July 26, in Columbus, Ohio. The conference is free of change and will include scheduled presentations, Lighting Talks and unconference-style Open Spaces.
You can read more about the conference at http://pyohio.org <http://pyohio.org/>
PyOhio <http://wiki.python.org/moin/PyOhio> invites all interested people to present scheduled talks. All presentations are expected to last 40 minutes with a 10 minute question-and-answer period. PyOhio <http://wiki.python.org/moin/PyOhio> will accept abstracts covering any area of Python programming. A classroom area with computers will also be available for possible hands-on sessions.
All presentations proposals should submit abstracts no longer than 500 words in length. Abstracts must include the title, summary of the presentation, the expertise level targeted, and a brief description of the area of Python programming it relates to.
All proposals should be emailed to <cfpATpyohio.org> for review.
The submission deadline will be June 1, 2008. Accepted proposals will be notified by July 1.
BeginningPHPandMySQL.com Updated
Just a quick note I’ve updated http://www.beginningphpandmysql.com/ to reflect the changes found in the third edition. Via this site you can review the table of contents, download source code, and even purchase the book directly from me for just $26.99, shipping included (U.S. residents only).
Beginning PHP and MySQL, Third Edition Now Available
I’ve been so busy programming lately that I’ve neglected to mention the recent release of the third edition of “Beginning PHP and MySQL: From Novice to Professional“, but please don’t perceive my tardiness as being indicative of a lack of excitement regarding this milestone! The truth is, I’m more excited than ever about what this book has to offer, given the enormous number of improvements and additions found in this edition. Coverage of the Zend Framework, internationalization, and PHP 6’s new features are just a few topics you’ll find in the book, in addition to vast improvements to the existing material.
At 1,080 pages, this book is hernia-inducing huge. To my knowledge, it’s the most comprehensive book ever written on these two technologies, but in the end the reader will remember the quality, and not the quantity, so I hope I’ve met expectations in this regards. If you’re looking for an unbiased opinion, I invite you to check out reader reviews from the prior edition (88 and counting) here: http://www.amazon.com/dp/1590598628/.
Interested in Reviewing the Book?
Please contact me at wjATwjgilmore.com, including the URL and description of the publication, and I’ll see about arranging for a copy to be sent your way.
Interested in Buying the Book?
I have 20 review copies on hand, and am happy to part with them at a reduced cost of just $26.99 per book, shipping included (U.S. only). Contact me at the above address and we’ll make arrangements.
Mixing Raw SQL Into Rails
Active Record is easily one of my favorite aspects of Rails. It makes communicating with MySQL a breeze, and allows the programmer to keep his head in programming mode rather than constantly switching to and from SQL syntax. However, every once in a while you need to step outside of ActiveRecord’s boundaries and think in pure SQL. For instance I’m currently writing a bunch of scripts which will occasionally perform cleanup of old table data which isn’t tied to any specific model. But because Active Record is tied to models, how can you execute the desired SQL? The answer is easier than you might think. Just call:
ActiveRecord::Base.connection.execute "SQL QUERY HERE"
“Closure” Wins Oddest Book Title Award
The brilliantly titled self-help book, “If You Want Closure In Your Relationship, Start With Your Legs”, won this year’s oddest book title competition, as reported by this Reuters news story. Although I have to admit I was partial to one of the runner-ups, namely “How to Write a How to Write Book”. Having been an acquisitions editor for several years, I recall receiving at least one proposal each month from a recent computer science graduate who wanted to write a book on how to write great software. Talk about the cart coming before the horse…
ActiveRecord Tip: Retrieving a Single Column
Newcomers to Rails and Active Record often ask how to retrieve a set of records consisting of just a single column, and return it as an array. I’ve found the easiest way to do this is using the find method’s select option in conjunction with the map method. For example, suppose you wanted to retrieve the data found in a column named isbn residing in a table titled books, storing the returned set of records in an array named isbns. It’s easier than you think:
isbns = Book.find(:all,:select=>'isbn').map {|x| x.isbn}
Microsoft Moves Into NASCAR?
Advertising space long sacred to cigarette, beer, and spark plug manufacturers will soon be pitching the latest in Microsoft technologies, according to Jayski.com (ESPN’s NASCAR news affiliate). According to the report, Microsoft’s Small Business Server logo will be prominently featured on BAM Racing’s #49 Toyota Car. You can see a picture of the logo-emblazoned car here.
I wonder how the #49 team can possibly expect to win now, what with the car soon to be mysteriously and regularly crashing into the corners and all.

