Breaking change, and the ups and downs of FileMerge

Posted almost 7 years back at The Hobo Blog

I forgot to mention – there’s a small breaking change in 0.5.3, object_table@skip_fields has been renamed to just skip (that’s the skip_fields attribute of <object_table> using a syntax that just popped into my head). The reason being that you can now use that attribute to skip both fields and associations.

I blame FileMerge - it neglected to remind me about the change. If you’re a Mac user and you’ve not discovered FileMerge (I didn’t know about it for a good while), you’re missing out. Once you’ve installed Xcode you’ll find it in /Developer/Applications/Utilities. It’s a diff/merge tool for both files and whole directory trees and, in a very Mac-like way, it just works. It’s got the most readable display of any such tool I’ve used.

You can also launch it from the command line, where it goes by the name (somewhat strangely) of opendiff.

So I just do something like

opendiff rel_0.5.2 rel_0.5.3

And document all the changes I see in the changelog.

So why was I not reminded of that breaking change? Well, one of the “just work” features of FileMerge is that it automatically ignores .svn directories – very nice. A quick look in preferences shows that there’s a pre-configured list of filename patterns the tool will ignore. And alas, in that list is “tags” (I believe that’s a ctags thing). Sometimes “just works” just doesn’t :-(.

I’ve removed ‘tags’ from that list now of course, but I’ve probably missed changes within Hobo’s tags directory in several chapters of the changelog. I should go back and fix that I guess. Hmm… :-)

And finally, absolutely free of charge, here’s a groovy FileMerge link for you :-)

Breaking change, and the ups and downs of FileMerge

Posted almost 7 years back at The Hobo Blog

I forgot to mention – there’s a small breaking change in 0.5.3, object_table@skip_fields has been renamed to just skip (that’s the skip_fields attribute of <object_table> using a syntax that just popped into my head). The reason being that you can now use that attribute to skip both fields and associations.

I blame FileMerge - it neglected to remind me about the change. If you’re a Mac user and you’ve not discovered FileMerge (I didn’t know about it for a good while), you’re missing out. Once you’ve installed Xcode you’ll find it in /Developer/Applications/Utilities. It’s a diff/merge tool for both files and whole directory trees and, in a very Mac-like way, it just works. It’s got the most readable display of any such tool I’ve used.

You can also launch it from the command line, where it goes by the name (somewhat strangely) of opendiff.

So I just do something like

opendiff rel_0.5.2 rel_0.5.3

And document all the changes I see in the changelog.

So why was I not reminded of that breaking change? Well, one of the “just work” features of FileMerge is that it automatically ignores .svn directories – very nice. A quick look in preferences shows that there’s a pre-configured list of filename patterns the tool will ignore. And alas, in that list is “tags” (I believe that’s a ctags thing). Sometimes “just works” just doesn’t :-(.

I’ve removed ‘tags’ from that list now of course, but I’ve probably missed changes within Hobo’s tags directory in several chapters of the changelog. I should go back and fix that I guess. Hmm… :-)

And finally, absolutely free of charge, here’s a groovy FileMerge link for you :-)

Hobo 0.5.3 - dev mode gets a big speed boost

Posted almost 7 years back at The Hobo Blog

A quick release this time – not too many changes. The reason is, I wanted to quickly get a couple of important changes to you.

The first is a fix to a trivial but annoying bug that sneaked into 0.5.2. The <show> tag was playing up so that certain “magic-updates” after in-place-edits were not working, and worse, belongs_to and has_many associations were not displayed at all by <show>. People were hitting this as soon as they tried the screencast for themselves. Not good.

The second thing is more fun. Development mode just got a whole lot faster. Like Rails, in development mode DRYML reloads every taglib on every request. Because of dependencies, we even reload taglibs that haven’t changed. Avoiding these reloads is actually pretty hard, but we’ve at least made the reload much faster by caching the generated ERB source.

This improvement was implemented by James – the new guy at HoboTech, so many thanks to James.

There’s a couple of smaller changes too, including stuff that you kind folk have reported in the forums. Check the changelog for details.

* Change Log * hobo-0.5.3.gem

Hobo 0.5.3 - dev mode gets a big speed boost

Posted almost 7 years back at The Hobo Blog

A quick release this time – not too many changes. The reason is, I wanted to quickly get a couple of important changes to you.

The first is a fix to a trivial but annoying bug that sneaked into 0.5.2. The <show> tag was playing up so that certain “magic-updates” after in-place-edits were not working, and worse, belongs_to and has_many associations were not displayed at all by <show>. People were hitting this as soon as they tried the screencast for themselves. Not good.

The second thing is more fun. Development mode just got a whole lot faster. Like Rails, in development mode DRYML reloads every taglib on every request. Because of dependencies, we even reload taglibs that haven’t changed. Avoiding these reloads is actually pretty hard, but we’ve at least made the reload much faster by caching the generated ERB source.

This improvement was implemented by James – the new guy at HoboTech, so many thanks to James.

There’s a couple of smaller changes too, including stuff that you kind folk have reported in the forums. Check the changelog for details.

* Change Log * hobo-0.5.3.gem

Episode 25: SQL Injection

Posted almost 7 years back at Railscasts

One of the most common security problems for dynamic sites is SQL Injection. Thankfully Rails does everything it can in solving this issue, but you still need to be aware of it.

Optimal Ad Follow-Up

Posted almost 7 years back at PJ Hyett

It’s time to put my money where my mouth is based upon what I wrote a month ago regarding optimal ad placement.

The first thing I should mention is I’ve actually reduced the amount of ads since then. There are now only two posts that contain ads. They account for 85% of all incoming traffic, so I see no reason to bother visitors looking at any of my other posts.

Furthermore, I originally had placed two large ads at the top, but I’ve cut it down to just one and floated it to the left. The net effect of these changes is fewer page impressions, but no loss in revenue.

Observant viewers may have also noticed that I’ve added Kontera links to those two posts as well, which has been good for another $15 this month on top of my Adsense revenue.

12,781 pages divided by 27 days is around 473 page impressions per day. Perfect for paying for hosting, but tack on a couple of zeros to that number and suddenly you might just be able to quit your day job based upon how well you can monetize the traffic.

As a forewarning, I’ve been researching and experimenting with all things Adsense, Adwords, and Domaining, so you may see more posts of this nature. If you just want to read about Ruby and Rails, head over to Err the Blog.

More docs

Posted almost 7 years back at The Hobo Blog

p.s. As I mentioned a while back, the manual source is in Markdown, and the PDF manual is generated by Safari from HTML + CSS. Anyone got any bright ideas for getting a contents page with page numbers on it?

More docs

Posted almost 7 years back at The Hobo Blog

p.s. As I mentioned a while back, the manual source is in Markdown, and the PDF manual is generated by Safari from HTML + CSS. Anyone got any bright ideas for getting a contents page with page numbers on it?

Episode 24: The Stack Trace

Posted almost 7 years back at Railscasts

The stack trace can be a very useful tool when it comes to debugging. Learn the ins and outs of how the stack trace works in this episode. Note: I am using an older version of the Rails bundle here so it might be a little different than yours. The command in the newer version is called Install Plugin and requires you to type textmate_footnotes in the search.

MyConfPlan: Check Me Out

Posted almost 7 years back at zerosum dirt(nap) - Home

Dr Nic Williams wrote a nice little app to allow folks to plot out the sessions they’ll be attending at Railsconf (or any conference, for that matter) and share them with others. In case you’re curious, check out my tentative session list.

Some of those decisions are tough ones! In particular, I’d like to see both Nutter’s JRuby talk as well as Dan Webb’s javascript-fu presentation. I’d also like to attend both Matthew Bass’ homesteading talk as well as Brian Leonard’s Tooling/NetBeans session. Sigh, decisions decisions.

Also of note: Dr Nic built MyConfPlan in Hobo, which seems to have come a long way since I last checked it out. Very cool stuff.

Zed Shaw - Ruby on Rails Podcast

Posted almost 7 years back at Ruby on Rails Podcast

The author of Mongrel talks about its development and condemns HTTP while offering to save the internet with hate.
Also mentioned:

Manual updated

Posted almost 7 years back at The Hobo Blog

I’ve just uploaded a new version of the manual. Highlights of the new content are:

DRYML:

  • Dynamic inner-tags

Hobo Model Controller:

  • Controller customisation
  • Controller data filters
  • Auto-complete (the controller side of things only)

Probably most significant is the controller customisation stuff. I’ve mentioned the new mechanism in a blog-post or two, but now the whole set of options is documented.

Enjoy.

Manual updated

Posted almost 7 years back at The Hobo Blog

I’ve just uploaded a new version of the manual. Highlights of the new content are:

DRYML:

  • Dynamic inner-tags

Hobo Model Controller:

  • Controller customisation
  • Controller data filters
  • Auto-complete (the controller side of things only)

Probably most significant is the controller customisation stuff. I’ve mentioned the new mechanism in a blog-post or two, but now the whole set of options is documented.

Enjoy.

Episode 23: Counter Cache Column

Posted about 7 years back at Railscasts

If you need to display the record count for a has_many association, you can improve performance by caching that number in a column.

Episode 22: Eager Loading

Posted about 7 years back at Railscasts

One way to improve performance is to cut down on the number of SQL queries. You can do this through eager loading. Learn all about it in this episode!