Ruby on Rails, Python, LuaI've been teaching myself Ruby and Python, and a
little Lua, mostly for fun, then I've been trying to apply it to what we do at
the library.
RUBY
So far, I'm using Ruby on Rails to maintain our online statistics database, process our daily pull lists, and speed up and automate our selection/acquisitions system. For our stats database, I quit using Excel, and switched to the RoR + mySQL method. I probably cut an hour off of my monthly stats collection by creating it. I hooked up Gruff, a Ruby gem which generates quick graphs, to use with it. It's simple and efficient. Visual display of quantitative information is the way to go. I use it to compare fiscal years as well as month to month. I like creating algorithms in Ruby and Python so much better than in anything Microsoft offers, i.e., Excel, VB. With macros, I never felt like I was in complete control. The daily pull list database takes a downloaded text file we export from our ILS, and sorts and reformats it into separate PDF's for the various departments who hunt the items down. I actually have an off-shoot of this that I use with my iPhone. As I find the items, I tap on them, and remove them from my list, via Ajax. Unfortunately, there's no quick mechanism to update the item records in the ILS, so that has to be done item by item. The consortium doesn't have an acquisitions module with its ILS, so each library fends for itself. Our historical record keeping still depends on FileMaker, but I've been able to move the data entry method over to Rails. It's pretty cool. I added a GreaseMonkey script to trigger the data grab from Amazon. I used to do the same thing with FileMaker and AppleScript, but once Amazon updated their AWS, I had to migrate it. It's actually better with Rails. The challenge now is to duplicate the acquisitions side of the FileMaker database, i.e., ordering, reception, accounting. Batch ordering via Amazon is pretty seamless. Exporting CSV files for Ingram and Baker & Taylor works alright, if you've got ISBN's. For AV materials, it's not so good. B&T doesn't have a method to batch import UPC codes yet, even though they allow one to search individually on UPC's. PYTHON I started learning Python after I watched the Google App Engine demo that's available online. The App Engine is kind of like what Heroku is doing with Ruby on Rails. With Google, it's Python plus Django. That setup didn't look as straight forward as RoR, but I did take a shine to Python itself. I looked around for something to do with it, and I decided to redo the consortium's Receipt Printer application, that was originally written in Visual Basic. The core function of the receipt printer script is the file system watcher. I surfed around looking for a python version of the watcher, and while I didn't find anything useful, I did come across IronPython. What's more, inside the IronPython tutorial is a quick file system watcher example. So I modified that, and retooled the rest of the printer script using pure Python as much as possible. The Python code looks so much cleaner and easier to understand. I like it a lot. I wish I didn't have to use the .Net stuff at all, but better than nothing. Plus IronPython is in Microsoft's stable, so it's got active support. LUA I wrote a quick Lua program to reformat an extremely long emailed report from the consortium we get once a month or so. Lua is extremely fast, almost C speed, so if you have need to zoom through megabytes of text, parsing, etc., check it out. It's a popular programming language for game add-ons, especially WoW. Posted: Mon - July 7, 2008 at 04:59 PM |
Quick Links
Calendar
Categories
Archives
XML/RSS Feed
Contact Me
E-mail: ckupec@mac.com
Extreme Tracking Web Counter
Statistics
Total entries in this blog:
Total entries in this category: Published On: Jul 08, 2008 01:10 PM |
||||||||||||||