Fri - December
26, 2008
Overdrive for Mac
I downloaded Overdrive's new console for mac.
It worked quite well. Let's hope our Overdrive
circulation stats pick up now that MP3's are available. I think it's a big plus
for all our iPod-owning patrons.
Posted at 04:46 PM
Read More
Wed - November 12, 2008
"Minha Menina" Lyrics Translated
I've been getting a lot of hits from folks looking
for the English translation of Os Mutantes' "Minha Menina", so here's my take on
it. "Smelling happiness" sounds odd, but that's basically what "cheirando a
alegria" means.
She's my girl And
I'm her boy She's my
love And I'm her love
completely
The silvery moon hid
itself And the golden sun
appeared A beautiful day
dawned Smelling
happiness Since I
dreamt And woke up thinking of
her
Because she's my
girl And I'm her
boy She's my
love And I'm her love
completely
The rose bush already
blossomed And she's the rose that I
won For her I put my
heart In front of
reason And I'm gonna
tell everyone How
I love her
Posted at 09:07 AM
Read More
Wed - October 29, 2008
Ralph Stanley Playing Clinch Mountain Backstep
Oh, man, I love this song. I
think Boing Boing had linked to it a little while back.
I grew up listening to the Nitty Gritty Dirt Band's
version, off the Uncle Charlie and His
Dog Teddy LP. There's another short clip on
YouTube of Steve
Sparkman , Ralph Stanley's banjo player playing it. His bell-like
tone is outstanding. BTW, it made me
very happy to hear that the good Doctor made a radio ad for
Obama. One week to go. YEE HAW!
Posted at 04:15 PM
Read More
Autodialer Script
This AppleScript
GetCallList.applescript
lives on our MacMini running PhoneHerald which calls our patrons about their
holds. It merges the separate calling lists generated by the horizon receipt
printer programs running on each circ station, weeds the duplicate patron
barcodes, then it GUI scripts PhoneHerald to import the text file as a new
group, and starts a new calling run with that list. I have a separate script for
our branch library, which uses a different calling template, but this example
should give you the gist of how it works.
The file provided here is the simple text version of
the script. The real script is saved as an AppleScript, extension .scpt , and I
use iCal to trigger it. We run two call jobs a day, one at 10 a.m., and another
around 3:45 p.m.
Some
notes:
Our file server is a Windows
2003 box.
The Mac Mini is a 1.66 GHz
Intel Core Duo with 512MB of RAM running OS X
10.4.11.
The voice modem that comes
with PhoneHerald is USB, and it dials out on an extra fax line that we have.
This machine is also used to run our
Ruby on Rails apps: the pull list app, which sorts and formats our Horizon pull
lists, and our ordering app that grabs info via Amazon. I've also set up the
pull list app to sort and format our NA lists.
Posted at 03:48 PM
Read More
Python Version of Horizon Receipt Printer App
This is the code for the new version of the receipt
printer application
horizon_receipt_printer.py
. If you've ever written code in both Visual
Basic and Python, you'll know why I wrote it in Python. ;-)
I've also attached the various ini files it depends
on: the routes.ini file
routes.ini
and the setup.ini file
setup.ini
.Before you get going, I recommend
that you install the VB version, because
that will create all the basics for you, i.e., the Receipt Printer directory,
and explain how to set up Horizon properly. This Python version takes the place
of that program, and not as neatly as Dean designed the installer. So, when
all's said and done, if you want to replace the VB version completely, you will
need to delete the VB executable, and set the Python executable version to start
up on login. You will also replace the default .ini files in the Receipt Printer
directory with the .ini files
above.This new code was written in
Python. To use it, you need to install Python and IronPython. Also, if
you haven't gotten it already, you'll want to get at least the 2.0 release of
the .Net Framework. I've written earlier about why I used IronPython, namely to
use the file system watcher function, but other than that, the code is basic
Python.The work setup at the library
is pretty good. We have a circ station in the back of the circ office, that we
can use as the guinea pig. If the code works, then we compile an executable to
copy to the other circ stations. The other stations need Python installed, but
not IronPython. The executable also needs two DLL's that must reside in the same
directory as the executable: IronMath.DLL and
IronPython.DLL.The only modifications
I've made to the code available for download is to sanitize it, taking out phone
numbers, web addresses, mail server names, etc. Just remember to add the correct
information before compiling. If you want to be able to send receipts via email,
you will need to have access to a mail server. If you don't want to generate a
text file of patrons who need to be called, simply delete or comment out the
relevant code. We use our list to feed our autodialer, which is PhoneHerald,
running on a Mac Mini.Once you install
it, the IronPython directory has a number of useful things in it. Be sure to
read the tutorial, which has a basic file system watcher
example.To compile an executable out
of IronPython code, you will need to download the pyc sample zipped directory
from this
page. I keep the pyc.py file plus the two DLL's in the root of my
IronPython folder, where the horizon_receipt_printer.py file is. When I'm all
ready, I navigate to my IronPython folder within the command line, then execute
this:ipy.exe pyc.py
/main:horizon_receipt_printer.pyYou
will have a new file, horizon_receipt_printer.exe, ready for distribution. Make
sure it works on the machine where you created it before you start passing it
out. Sometimes the permissions on the circ stations need to be
tweaked.If you have questions, feel
free to email me: ckupec@me.com
Posted at 01:51 PM
Read More
Wed - October 22, 2008
Back-to-back TV Commercials
Who's the adman who first came up with this
double-barreled shotgun technique for TV advertising?
It involves two 15-second or two thirty second ads
for the same sponsor, back-to-back. I wonder if it's analogous to the invention
of the stadium wave. Many fathers. I do notice that McDonald's uses the method
an awful lot. Does it work?
Posted at 02:12 PM
Read More
Wed - October 1, 2008
Turn off iTunes Store Links in iTunes 8
After going crazy trying to find out where Apple hid
the preference checkbox to turn off the arrows that link to the iTunes Store, I
read that they removed the GUI method. Luckily, the Terminal method still holds.
Paste this line into Terminal.app and hit return:
defaults write com.apple.iTunes
show-store-arrow-links -bool FALSE
The
next time you fire up iTunes, those annoying arrows should be gone.
Posted at 10:18 AM
Read More
Fri - September 26, 2008
Pandora the explorer
I've been using Pandora on my iPhone more and more.
My favorite stations lately: Luna Radio and Flaming Lips Radio.
One such song played on one of those "stations" that
I've recently taken a shine to: M. Ward's "Hi-Fi", off of his 2005 album
Transistor
Radio. The guitar is quite good, and when he
goes into his falsetto...yeah.
Posted at 10:22 AM
Read More
So where is Overdrive's Mac-compatible Console?
I wish Overdrive would get a move on and release the
Mac-compatible version of their Console application.
As it stands, if you want to get any Overdrive MP3's
onto your iPod, it needs to be formatted for PC, and you have to use a PC to
transfer them over. Another complaint, none of the MP3 titles are multiple-user.
Until these problems are rectified, our download circs are going to remain like
they have been, anemic. We are taking another look at MP3 CD's for our patrons.
They're a hell of a lot cheaper than what Overdrive charges, and they give us
better circ numbers. They can be returned in the same day, unlike the
downloadable versions, with their draconian restrictions. Meanwhile, our
consortium still is buying WMA versions of titles. Dumb, dumb, dumb. When the
budget crunch comes, all this stuff is going to get cut, and we'll be stuck with
nothing but a digital albatross.
Posted at 09:50 AM
Read More
Sat
- September 6, 2008
Os Mutantes' "A Minha Menina" in McDonald's Commercial
I'm a little late to the party. I read that this ad
first played during the NBA finals, but still, I was surprised to see and hear
it. The setting is a kids soccer game, with the losing team getting McDonalds,
and the winners envying them. Strange. Great song, though. I saw it while either
watching the Daily Show or Colbert.
The song, "A Minha
Menina ", was written by Jorge Ben for Os Mutantes. It has a cool
sound, with fuzz guitar and all. There's also an album of theirs called
Technicolor,
in which they translated a lot of their songs into English with different
arrangements. Some folks love it, others hate it. Os Mutantes have a lot of
fans: Belle and Sebastian, Beck, Of Montreal, Band of Bees, David Byrne. In
fact, David Byrne made the first album in Luaka Bop's Brazil Psychedelic
Classics series, Everything Is
Possible, a compilation of Os Mutantes' hits.
And they reunited for a tour in 2006. There's a live album from London on Luaka
Bop also. On the original cut from the 1968 eponymous album by Os Mutantes, I
think that's Jorge Ben's voice opening the song, and he seems to be playing
acoustic guitar on it as well. Jorge Ben Jor was just in NYC for the Brazilian
Day festival on 46th street along with Lulu Santos. We just missed them, que
pena.
Posted at 11:24 AM
Read More
Wed - July 16, 2008
iPhone Apps
I don't know how all the corporate world/exchange
server stuff is doing on the iPhone, but for music and gaming, the update's
pretty cool. If you're purchasing music for your library especially, you gotta
get an iPhone.
iPhone Music Apps that I find
interesting:
1. Pandora for the
iphone For exploring unfamiliar bands you
might like, this service is really neat. There's also the regular Pandora
website to try, if you're interested. Their licensing agreements with the record
companies only allow six skips per "station" per hour, and it feels like it's
ramming certain artists down your throat sometimes, so it could be better, but
it's still worth exploring.
2.
Midomi This is showing up on other phones
too. If you go to a movie theater, Verizon has an extra-long ad for one of their
phones with this type of service. It might be Midomi, for all I know. The idea
is for you to sing or record a bit of a song on your phone, then this service
attempts to figure out what song it is. Great in theory, but... Popular music
works pretty well: I tested it on some Gorillaz, Gladys Knight, Fred Astaire.
Classical, international searches fail. I tried some Vivaldi piece, and the
response was some Mary J. Blige song. Hit or miss. It uses music & lyrics to
figure it out. I gave it the intro to Same Old Song & Dance by Aerosmith,
before the singing starts, and it nailed it. I gave it "Speak Low" by Billie
Holiday, and it failed. I gave it "Body & Soul" off the same album, and it
succeeded.
3.
AOLRadio Basically WiFi radio, so it's got
the satellite radio feel. It works pretty well. Good method to mark the songs
you like too.
With all this great
gadgetry and wireless, the main problem now is power consumption. Laptops,
phones, ipods.They suck it up! I'm living with the first version of the phone,
and I heard it's been improved with the 3G version.
Posted at 12:52 PM
Read More
Mon - July 7, 2008
Ruby on Rails, Python, Lua
I'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 at 04:59 PM
Read More
Wed - March 19, 2008
Receipt Printer App Email Capable
I've had a commented-out sub-routine in my library's
receipt printer code that can email the receipt rather than print it for some
time now. It required me to use Horizon's table editor to modify our receipt
slip to include the patron email address. But now, with our push to go green and
cut costs, I've done further testing on it, and it looks good to
go.
The logic is pretty basic. If an email address
exists for the patron, the program generates an email with the formatted data
and sends it off piggy-backing on the consortium's mail server. No receipt gets
printed. It looks like the 3M self-checkout stations we have do essentially the
same thing, so I think it's kosher. The staff member at the circ desk gets
feedback two ways: I added a "beep" line, and I write to the console window that
the email was sent and where. What's really nice is that the emailed receipts
are perfectly formatted for my iPhone. I didn't have to tweak
anything.
If the mail gets sent, but
the address is bad, we get the bounceback through our normal channels, which is
great. I'm now just putting a little "try" loopback that will print out a
receipt for email users only in the case that the mail server is unavailable. I
think that patrons who sign up for email notification services will really like
it. I'm just waiting for final approval from the consortium's mail server
administrators.
Knowing this is
possible, it was very disheartening to discover that there isn't yet any way to
get isbns out. Horizon's kind of clunky when it comes to customizations like
that. For now, I think the only bib record info that can come out to the
checkout receipt is the title. It's too bad, because once the isbns can come
out, a lot of nice apps could use that data, e.g., LibraryThing, Delicious
Library, etc.
Posted at 09:27 AM
Read More
Mostly good news from Overdrive
Overdrive sent out a PLA preview to its customers
that says they will soon begin offering MP3 downloads as well as their usual DRM
WMA fare. Also that they are going to provide a Mac version of their Console
application to download those MP3s. The downside is that their titles from
Random House will continue to be WMA, PC only, no-iPod garbage, which isn't
their fault, but Random House's.
I think it's great that Overdrive is working to
expand their range. Our consortium will probably lean heavily toward buying the
MP3 titles, and shunning the WMA stuff, hearing the news. We're serving a niche
market with the WMA's as it is. Once we can offer downloadable audio for folks
with iPods, the floodgates are going to open for Overdrive. Good for them, and
good for public libraries. Until Random House Audio opens up their model, I
recommend that public libraries avoid buying their downloadable audio. Stick to
buying their CDs and tapes.
Posted at 08:29 AM
Read More
Fri - March 7, 2008
iPhone SDK released
Apple released their developer kit for iPhone
yesterday. I watched the presentation
off their website this morning. Yowza. That whole market is just gonna explode.
I will be very surprised if Apple's iPhone doesn't end up dominating mobile.
Even now, they're impressive.
It's interesting that Apple has made iPhone
development only possible via a Mac running Leopard. Hell, I can't even use it!
Gotta get Leopard. It was kind of like Vista with me. BFD. I was also happy to
hear them to tout the Model-Controller-View philosophy. I'm all over that,
having been messing with Ruby on Rails for the last few months.
For big companies, the news that
Exchange Server will be accessible via iPhones must be good news. The demos that
various companies showed were worth watching: EA Games, Epocrates,
SalesForce.com, AOL. The premise of that game
Spore
from EA was funny. You start out as a paramecium, a slime mold, or something
like that and work your way up. Kinda like you and me. Karma Heights. Available
upgrades: spinal column, gills, opposable thumbs, massive Chess Club brain, etc.
I don't know. I'm making most of that stuff up. I did see a spine in there
though.
Anyhoo, the bottom line is that
iPhones are probably going to do what everyone hoped PDA's and Blackberries
would do. As I've said before, Apple gets it. Sure, they're like Microsoft,
control freaks, yadda yadda, but unlike Microsoft, they get it. And that's why
they're successful. What is it they get, you ask? Aesthetics, simplicity, logic,
coolness. Something Microsoft can't buy. Even Microsoft's wanna-purchases are
uncool. Yahoo? Come on.
So, what can
libraries do with iPhones? Practically any report you run can be made paperless
and mobile. Straight to PDF is the simplest, but for interaction, I've been
toying with Ruby on Rails. Using Rails, you can omit items from your list once
you've found them, tag problems, upload changes back to the ILS. Talking to the
ILS is the biggest problem.
I've been
working on a method to run our pull lists, so that a staff member using an
iPhone can do it all, eliminating the need for a paper copy. We still need to
generate the list within Horizon, then export that text file. From there, it's
uploaded to a Rails app that slices and dices the report for us. If I could get
the last activity date info out from the ILS, then we could give up printing it
entirely. I'm envisioning that this pull list formatter/archiver could reside at
the central site, and all agencies within our consortium would use it.
I have an iPhone library success story
of my own: I was working the reference desk, and a patron needed to make some
color copies, which we don't offer. So, I told him about Staples, FedEx/Kinko's,
etc. I was about to look up the location of a Kinko's on the web for him, when
it dawned on me that I had my iPhone. I went to Google Maps, searched on Kinkos,
and it displayed all the locations in my area. I tapped on the pin closest to my
location, and up popped the phone number, URL, etc. of that location. I tapped
the phone number, and when their answering machine told me they were closed, I
was able to tell the patron to save himself a trip. Not as cool as searching for
all the Thai restaurants in my area, but still. I was impressed. The patron was
too.
If you're a reference librarian
or a systems librarian, I would recommend getting an iPhone.
Posted at 01:14 PM
Read More
Random House Giving Up DRM
Kopfreise
Librarian Gets Burned By iTunes-Exclusive Track, Lives
Guitar Hero Episode on South Park
I Love Lucy, The Daughter of the Devil
DRM must die
Big Doings in the Wacky World of Warcraft
Zeppelin reunion in November
Radio David Byrne
The Future That Never Happened
Learning Ruby on Rails
iPhone Hijinks
Making the receipt printer program better
Moving Autodialer Over to an Intel Mac Mini
Foghorn Stringband
|
Calendar
| | Sun | Mon | Tue | Wed | Thu | Fri | Sat
|
Categories
Archives
XML/RSS Feed
Contact Me
Extreme Tracking Web Counter
Statistics
Total entries in this blog:
Published On: Dec 26, 2008 04:46 PM
|