Thursday, November 10, 2005
Yeah, yeah, I'm a little late to the game, but life can do that to you sometimes. Anyway, finally got around to reading about Ruby on Rails with
Agile Development with Ruby on Rails. First let me say what a big fan I am of the
Pragmatic Programmer series of books. So far I've read their books on
Unit Testing,
Source Control (SVN edition), working on
Project Automation, and am finishing reading
the original, and the Rails book. I've learned a ton of immediately useful lessons. I think they should be required reading for all programmers (aside from the Rails book, you don't HAVE to use Rails!).
Anyway, I gotta say that Rails is one of those technologies that sells itself well (and maybe just because it's good!). I am itching to try it, and I think I know
the project I wanna use it on. The only thing that gives me a small case of the skeevie-jeevies is the code that goes in .rhtml files. It gives me ASP and PHP flashbacks, because I am so used to the elegance(?) of ASP.NET pages and codebehind files. They have their issues, but from a code cleanliness point, I think they are much easier to follow. I'm only in the beginning of the book, and they mention there are other ways to do things, so I am interested in seeing what the options are. But it's things like this that make me shiver a bit, and launch Visual Studio just so I can huddle near its glow and warmth until I feel better:
<table>
<% for item in @items %>
<tr>
<td><%= item.name %></td>
...
</tr>
<% end -%>
</table>
I forgot to ever post a follow up on my
original post, apparently. I did finally figure out what the deal was. Through a process of elimination, with the help of Microsoft tech support, we determined that the
Adobe IFilter for PDFs does not support the BindIFilterFromStream interface. This seemed crazy to me because you would think if the indexing service COM object could find the right filter given a file on the file system, it could certainly do it for the same file delivered as a stream (after all, it's the same data!), but apparently it relies on the IFilter implementation to support this type of call, and therefore can't find the Adobe IFilter. So for now, I am stuck with serializing these out to disk to index them. I'll find out if this is a big deal when I see how many of these things get stuck in the database, and I may have to change the plan.