Re: [CODE4LIB] Choosing development platforms and/or tools, how'd you do it?

2010-01-07 Thread marijane white
Thanks, Naomi, I need to try out the latest version (haven't looked at it
for a few months now), and then I will do just that.


On Wed, Jan 6, 2010 at 3:56 PM, Naomi Dushay ndus...@stanford.edu wrote:

 Marijane,

 Yes, I would encourage you to ask for help on the blacklight list, with
 specifics about the problems you're having.  We've set up Blacklight on a
 bunch of non-Marc Solr indexes here.

 - Naomi


 On Jan 6, 2010, at 1:32 PM, marijane white wrote:

  I've read about Blacklight's ability to run on any Solr index, but I've
 struggled to make it work with mine.  Honestly, I've been left with the
 impression that my data should be in MARC if I want to use it.  Is there
 some documentation on this somewhere that I've overlooked?  (Maybe I
 should
 ask this on the BL list)


 On Wed, Jan 6, 2010 at 12:24 PM, Naomi Dushay ndus...@stanford.edu
 wrote:

  Marijane,

 It also makes sense to examine the available software for what you wish
 to
 accomplish.  Available software goes beyond current features to
 - maintainability  (one reason Stanford switched to Blacklight)   I'll
 talk
 a little bit about this in our Code4Lib 2010 presentation about testing.
 - community
 - active development
 - potential applicability to additional projects.   (we like Blacklight
 for
 its ability to run on any solr index, regardless of what's in there)

 probably some other stuff I've left out.

 Our experience at Stanford Libraries is that the common conventions of
 Rails give us a lot more ease in reading each others' code.

 - Naomi


 On Jan 5, 2010, at 3:04 PM, marijane white wrote:

 Greetings Code4Lib,


 Long time lurker, first time poster here.

 I've been turning over this question in my mind for a few weeks now, and
 Joe
 Hourcle's postscript in the Online PHP Course thread has prompted me to
 finally try to ask it. =)

 I'm interested in hearing how the members of this list have gone about
 choosing development platforms for their library coding projects and/or
 existing open source projects (ie like VuFind vs Blacklight).  For
 example,
 did you choose a language you already were familiar with?  One you
 wanted
 to
 learn more about?  Does your workplace have a standard enterprise
 architecture/platform that you are required to use?  If you have chosen
 to
 implement an existing open source project, did you choose based on the
 development platform or project maturity and features or something else?

 Some background -- thanks to my undergraduate computer engineering
 studies,
 I have a pretty solid understanding of programming fundamentals, but
 most
 of
 my pre-LIS work experience was in software testing and did not require
 me
 to
 employ much of what I learned programming-wise, so I've mostly dabbled
 over
 the last decade or so.  I've got a bit of experience with a bunch of
 languages and I'm not married to any of them.   I also kind of like
 having
 excuses to learn new ones.

 My situation is this: I would like to eventually implement a discovery
 tool
 at MPOW, but I am having a hell of a time choosing one.  I'm a solo
 librarian on a content team at a software and information services
 company,
 so I'm not really tied to the platforms used by the software engineering
 teams here.  I know a bit of Ruby, so I've played with Blacklight some,
 got
 it to install on Windows and managed to import a really rough Solr
 index.
 I'm more attracted to the features in VuFind, but I don't know much PHP
 yet
 and I haven't gotten it installed successfully yet.  My collection's
 metadata is not in an ILS (yet) and not in MARC, so I've also considered
 trying out more generic approaches like ajax-solr (though I don't know a
 lot
 of javascript yet, either).  I've also given a cursory look at SOPAC and
 Scriblio.  My options are wide open, and I'm having a rough time
 deciding
 what direction to go in.  I guess it's kind of similar to someone who is
 new
 to programming and attempting to choose their first language to learn.

 I will attempt to head off a programming language religious war =) by
 stating that I'm not really interested in the virtues of one platform
 over
 another, moreso the abstract reasons one might have for selecting one.
 Have any of you ever been in a similar situation?  How'd you get
 yourself
 unstuck?  If you haven't, what do you think you might do in a situation
 like
 mine?


 -marijane





Re: [CODE4LIB] Choosing development platforms and/or tools, how'd you do it?

2010-01-06 Thread Dan Chudnov
On Jan 5, 2010, at 10:13 PM, Ross Singer wrote:

 Dan Chudnov, for example, seems to think in Python.  When I tried
 Python, it never really clicked -- I muddled through a few projects
 but never really got it.

Actually, I think in Hoosier, but as the late Kurt Vonnegut might remind me, 
that's awfully silly.

I mostly agree with Ross, though - find something that fits your brain and lets 
you get your stuff done and stick with it.  It just might take a while.

I have used python as a main language for about seven years now and it pays off 
in many ways.  I didn't arrive at it quickly, though.  At my first regular job 
10-12 years ago I built stuff in perl, java, php, and vb, all of which turned 
into code I had to support for one user group or another for some period of 
time or another.  It's one thing to experiment with toy code, it's another 
thing to do an experiment that brings you hard data and experiences that can 
help to inform future decisions.

Here's how it went for me, but YMMV:  I knew perl first, and everything I wrote 
in perl worked quickly and was easy to install in our hosting environment but 
was hard to fix later when it broke because I couldn't read it after I'd 
forgotten what I'd done.  Java was just hard for me, period, and hard to 
install back then (tomcat wasn't particularly stable, yet, for one thing).  VB 
was super easy to develop with but meant desktop support in the long run when 
everything was moving to the web.  PHP was easy to write and install but I 
wrote a lot of bad code with holes all over the place, partly because of how 
easy it was.  After all of these experiences, and having gained some insights 
about what I preferred, I tried python, and it clicked immediately.  It wasn't 
so easy to install on a web server reliably back then, but it was doable, and 
it had all the other positives I was looking for:  I could get stuff done 
quickly, get it installed, it made sense when I went back to look a!
 t it again, and I tended to write things slightly more securely than I had in 
the past. I was hooked.  Seems like Ross is saying the same things about Ruby, 
for him.

None of the stuff I was building back then was intended to be widely-used or 
even depended-upon, which helped a lot, but some of it turned out to be one or 
both, and that shines a bright light on the positives and negatives of platform 
choices.  If I'd tried the languages in a different order maybe my experiences 
screwing up a lot of stuff early on would have led me to like a different fifth 
language; I definitely got better along the way.

These days I am spending more time in Java and JavaScript than I would have 
expected but find that they're both less hard than they were the last time I 
tried them both, partly because they've become easier to work with based on 
frameworks and such but also because I have more experience, period.

If you want help prioritizing which to choose first I could hardly argue with 
any of php, python, or ruby, for the same reasons others state, and as Ross 
said, building something with Solr is a great idea, because you can then try 
building follow-on apps with the same solr backend in different languages and 
see how they compare.  Also, using solr often means writing less original code 
yourself, which is a big win in any language.  I'd also suggest spending some 
time with javascript and a framework like jquery because it's applicable to 
anything you might do on the web. More than anything, though, build something 
you care about, and give it to real users, and then you'll start to see how you 
really feel about it. :)

One last note... I do all my development behind screen-wrapped ssh sessions 
using vim.  If I have to set up an IDE just to use a language, its happiness 
quotient drops immediately.  This approach isn't for everybody, but it works 
best for me, so platform choices that mesh well with this preference increase 
their happiness quotient.  Don't discount that factor, whichever way you feel 
about it, since that's how you'll spend much of your time.

  -Dan


Re: [CODE4LIB] Choosing development platforms and/or tools, how'd you do it?

2010-01-06 Thread Joel Marchesoni
I agree with Dan's last point about avoiding using a special IDE to develop 
with a language.  That can be expensive and/or hinder others supporting the 
application down the road.  I use vim for most of my development as well, 
although we officially use Dreamweaver at work mostly because of its Site 
features.

I also try to stick with languages that are cross-platform.  I use Linux at 
home and Windows at work, and I know that there are many developers in the same 
situation.  I like to know that if I write an application that with minimal 
tweaking it will be portable to any(ish) machine/environment.

Joel Marchesoni 
Tech Support Analyst
Hunter Library @ Western Carolina University
jma...@email.wcu.edu

-Original Message-
From: Code for Libraries [mailto:code4...@listserv.nd.edu] On Behalf Of Dan 
Chudnov
Sent: Wednesday, January 06, 2010 8:17 AM
To: CODE4LIB@LISTSERV.ND.EDU
Subject: Re: [CODE4LIB] Choosing development platforms and/or tools, how'd you 
do it?

On Jan 5, 2010, at 10:13 PM, Ross Singer wrote:

 Dan Chudnov, for example, seems to think in Python.  When I tried
 Python, it never really clicked -- I muddled through a few projects
 but never really got it.

Actually, I think in Hoosier, but as the late Kurt Vonnegut might remind me, 
that's awfully silly.

I mostly agree with Ross, though - find something that fits your brain and lets 
you get your stuff done and stick with it.  It just might take a while.

I have used python as a main language for about seven years now and it pays off 
in many ways.  I didn't arrive at it quickly, though.  At my first regular job 
10-12 years ago I built stuff in perl, java, php, and vb, all of which turned 
into code I had to support for one user group or another for some period of 
time or another.  It's one thing to experiment with toy code, it's another 
thing to do an experiment that brings you hard data and experiences that can 
help to inform future decisions.

Here's how it went for me, but YMMV:  I knew perl first, and everything I wrote 
in perl worked quickly and was easy to install in our hosting environment but 
was hard to fix later when it broke because I couldn't read it after I'd 
forgotten what I'd done.  Java was just hard for me, period, and hard to 
install back then (tomcat wasn't particularly stable, yet, for one thing).  VB 
was super easy to develop with but meant desktop support in the long run when 
everything was moving to the web.  PHP was easy to write and install but I 
wrote a lot of bad code with holes all over the place, partly because of how 
easy it was.  After all of these experiences, and having gained some insights 
about what I preferred, I tried python, and it clicked immediately.  It wasn't 
so easy to install on a web server reliably back then, but it was doable, and 
it had all the other positives I was looking for:  I could get stuff done 
quickly, get it installed, it made sense when I went back to look a!
 
 t it again, and I tended to write things slightly more securely than I had in 
the past. I was hooked.  Seems like Ross is saying the same things about Ruby, 
for him.

None of the stuff I was building back then was intended to be widely-used or 
even depended-upon, which helped a lot, but some of it turned out to be one or 
both, and that shines a bright light on the positives and negatives of platform 
choices.  If I'd tried the languages in a different order maybe my experiences 
screwing up a lot of stuff early on would have led me to like a different fifth 
language; I definitely got better along the way.

These days I am spending more time in Java and JavaScript than I would have 
expected but find that they're both less hard than they were the last time I 
tried them both, partly because they've become easier to work with based on 
frameworks and such but also because I have more experience, period.

If you want help prioritizing which to choose first I could hardly argue with 
any of php, python, or ruby, for the same reasons others state, and as Ross 
said, building something with Solr is a great idea, because you can then try 
building follow-on apps with the same solr backend in different languages and 
see how they compare.  Also, using solr often means writing less original code 
yourself, which is a big win in any language.  I'd also suggest spending some 
time with javascript and a framework like jquery because it's applicable to 
anything you might do on the web. More than anything, though, build something 
you care about, and give it to real users, and then you'll start to see how you 
really feel about it. :)

One last note... I do all my development behind screen-wrapped ssh sessions 
using vim.  If I have to set up an IDE just to use a language, its happiness 
quotient drops immediately.  This approach isn't for everybody, but it works 
best for me, so platform choices that mesh well with this preference increase 
their happiness quotient.  Don't discount that factor

Re: [CODE4LIB] Choosing development platforms and/or tools, how'd you do it?

2010-01-06 Thread Bill Dueber
On Wed, Jan 6, 2010 at 8:53 AM, Joel Marchesoni jma...@email.wcu.eduwrote:

 I agree with Dan's last point about avoiding using a special IDE to develop
 with a language.


I'll respectfully, but vehemently, disagree. I would say avoid *forcing*
everyone working on the project depend on a special IDE -- avoid lockin.
Don't avoid use.

There's a spectrum of how much an editor/environment can know about a
program. At one end is Smalltalk, where the development environment *is* the
program. At the other end is something like LISP (and, to an extent, Ruby)
where so little can be inferred from the syntax of the code that a smart
IDE can't actually know much other than how to match parentheses.

For languages where little can be known at compile time, an IDE may not buy
you very much other than syntax highlighting and code folding. For Java,
C++, etc. an IDE can know damn near everything about your project and
radically up your productivity -- variable renaming, refactoring,
context-sensitive help, jump-to-definition, method-name completion, etc. It
really is a difference that makes a difference.

I know folks say they can get the same thing from vim or emacs, but at that
level those editors are no less complex (and a good deal more opaque) than
something like Eclipse or Netbeans unless you already have a decade of
experience with them.

If you're starting in a new language, try a couple editors, too. Both
Eclipse and Netbeans are free and cross-platform, and have support for a lot
of languages. Editors like Notepad++, EditPlus, Textmate jEdit, and BBEdit
can all do very nice things with a variety of languages.



-- 
Bill Dueber
Library Systems Programmer
University of Michigan Library


Re: [CODE4LIB] Choosing development platforms and/or tools, how'd you do it?

2010-01-06 Thread Joel Marchesoni
I should have worded my response differently.  I didn't mean one shouldn't use 
any IDE at all, but as Dan said if there is a special IDE *for that language* 
and otherwise one can't develop it I would stay away from it.

Joel

-Original Message-
From: Code for Libraries [mailto:code4...@listserv.nd.edu] On Behalf Of Bill 
Dueber
Sent: Wednesday, January 06, 2010 9:23 AM
To: CODE4LIB@LISTSERV.ND.EDU
Subject: Re: [CODE4LIB] Choosing development platforms and/or tools, how'd you 
do it?

On Wed, Jan 6, 2010 at 8:53 AM, Joel Marchesoni jma...@email.wcu.eduwrote:

 I agree with Dan's last point about avoiding using a special IDE to develop
 with a language.


I'll respectfully, but vehemently, disagree. I would say avoid *forcing*
everyone working on the project depend on a special IDE -- avoid lockin.
Don't avoid use.

There's a spectrum of how much an editor/environment can know about a
program. At one end is Smalltalk, where the development environment *is* the
program. At the other end is something like LISP (and, to an extent, Ruby)
where so little can be inferred from the syntax of the code that a smart
IDE can't actually know much other than how to match parentheses.

For languages where little can be known at compile time, an IDE may not buy
you very much other than syntax highlighting and code folding. For Java,
C++, etc. an IDE can know damn near everything about your project and
radically up your productivity -- variable renaming, refactoring,
context-sensitive help, jump-to-definition, method-name completion, etc. It
really is a difference that makes a difference.

I know folks say they can get the same thing from vim or emacs, but at that
level those editors are no less complex (and a good deal more opaque) than
something like Eclipse or Netbeans unless you already have a decade of
experience with them.

If you're starting in a new language, try a couple editors, too. Both
Eclipse and Netbeans are free and cross-platform, and have support for a lot
of languages. Editors like Notepad++, EditPlus, Textmate jEdit, and BBEdit
can all do very nice things with a variety of languages.



-- 
Bill Dueber
Library Systems Programmer
University of Michigan Library


Re: [CODE4LIB] Choosing development platforms and/or tools, how'd you do it?

2010-01-06 Thread Ross Singer
I definitely agree with Bill here.  There is a definitely a totemistic
attitude about vim or emacs being all the IDE I need.  Knowing your
way around vim (or possibly emacs) is certainly important -- after
all, everybody has to eventually fix something remotely -- but just
languages, some editors look or feel better.

My basic credo is that I want to find the absolute least resistance
between what I see in my head and what eventually gets run.  This
applies to my office chair, my keyboard, my monitor, operating system,
editor, language, SCM, deployment manager, etc.  Every layer provides
amperage that must be accounted for.

Because in the end, I'm spending 8+ hours a day, 5+ days a week
looking at and working on this setup; I might as well be comfortable.

Personally, I use TextMate for practically all the code I write.  I
don't actually use all the features that generally draw people to
TextMate (SCM integration, macros for automating certain tasks in
particular languages/frameworks, etc.) at all.  I just like the way it
looks, it's relatively lean and I can easily cut and paste (which is
my major knock on the character-based editors).  I have a mouse,
dammit, so let me use it.

I also use NetBeans, sometimes, although, honestly, it's only when I
need to run SQL queries against JDBC databases anymore.

If I was a real developer (meaning I wrote code intended to be
compiled, etc.), I couldn't imagine not using something like NetBeans
or Eclipse to automate some of the tedium.

-Ross.

On Wed, Jan 6, 2010 at 9:23 AM, Bill Dueber b...@dueber.com wrote:
 On Wed, Jan 6, 2010 at 8:53 AM, Joel Marchesoni jma...@email.wcu.eduwrote:

 I agree with Dan's last point about avoiding using a special IDE to develop
 with a language.


 I'll respectfully, but vehemently, disagree. I would say avoid *forcing*
 everyone working on the project depend on a special IDE -- avoid lockin.
 Don't avoid use.

 There's a spectrum of how much an editor/environment can know about a
 program. At one end is Smalltalk, where the development environment *is* the
 program. At the other end is something like LISP (and, to an extent, Ruby)
 where so little can be inferred from the syntax of the code that a smart
 IDE can't actually know much other than how to match parentheses.

 For languages where little can be known at compile time, an IDE may not buy
 you very much other than syntax highlighting and code folding. For Java,
 C++, etc. an IDE can know damn near everything about your project and
 radically up your productivity -- variable renaming, refactoring,
 context-sensitive help, jump-to-definition, method-name completion, etc. It
 really is a difference that makes a difference.

 I know folks say they can get the same thing from vim or emacs, but at that
 level those editors are no less complex (and a good deal more opaque) than
 something like Eclipse or Netbeans unless you already have a decade of
 experience with them.

 If you're starting in a new language, try a couple editors, too. Both
 Eclipse and Netbeans are free and cross-platform, and have support for a lot
 of languages. Editors like Notepad++, EditPlus, Textmate jEdit, and BBEdit
 can all do very nice things with a variety of languages.



 --
 Bill Dueber
 Library Systems Programmer
 University of Michigan Library



Re: [CODE4LIB] Choosing development platforms and/or tools, how'd you do it?

2010-01-06 Thread Ya'aqov Ziso
. Thanks to Ross for forestalling what might have easily sunk into yet
another platform war  
===

Discussing our professional preferences is diametrically opposed to war.
I am encouraged by our differences and ability to identify and handle them
professionally. 

Do we need mediators to maintain peace (where peace==trivialize
differences)? 
Do we need someone to help us from sinking into war? I don¹t think so. Let¹s
talk some more differences.
Ya¹aqov Ziso


Re: [CODE4LIB] Choosing development platforms and/or tools, how'd you do it?

2010-01-06 Thread Dan Chudnov
At the risk of making this worse... Bill makes good points, and I wasn't saying 
don't use an IDE.  I meant I don't like using an IDE, so I don't want to be 
forced to, and that affects my language/tool preferences.  You might want to 
consider whether you like using a particular IDE or not, in addition to other 
considerations. 

Where I work we try hard to keep IDE-specific files and choices out of the vcs, 
 aside from maybe adding some patterns to the .ignore file to reinforce this.  
We value letting all the different developers use whatever tools they prefer, 
and we do often use different ones (emacs, vim, eclipse, coda, etc.) to work on 
the same project and the same code at the same time without stomping on each 
other's toes, which is a Good Thing.

I love you all.  Really.

  -Dan


On Jan 6, 2010, at 9:37 AM, Joel Marchesoni wrote:

 I should have worded my response differently.  I didn't mean one shouldn't 
 use any IDE at all, but as Dan said if there is a special IDE *for that 
 language* and otherwise one can't develop it I would stay away from it.
 
 Joel
 
 -Original Message-
 From: Code for Libraries [mailto:code4...@listserv.nd.edu] On Behalf Of Bill 
 Dueber
 Sent: Wednesday, January 06, 2010 9:23 AM
 To: CODE4LIB@LISTSERV.ND.EDU
 Subject: Re: [CODE4LIB] Choosing development platforms and/or tools, how'd 
 you do it?
 
 On Wed, Jan 6, 2010 at 8:53 AM, Joel Marchesoni jma...@email.wcu.eduwrote:
 
 I agree with Dan's last point about avoiding using a special IDE to develop
 with a language.
 
 
 I'll respectfully, but vehemently, disagree. I would say avoid *forcing*
 everyone working on the project depend on a special IDE -- avoid lockin.
 Don't avoid use.
 
 There's a spectrum of how much an editor/environment can know about a
 program. At one end is Smalltalk, where the development environment *is* the
 program. At the other end is something like LISP (and, to an extent, Ruby)
 where so little can be inferred from the syntax of the code that a smart
 IDE can't actually know much other than how to match parentheses.
 
 For languages where little can be known at compile time, an IDE may not buy
 you very much other than syntax highlighting and code folding. For Java,
 C++, etc. an IDE can know damn near everything about your project and
 radically up your productivity -- variable renaming, refactoring,
 context-sensitive help, jump-to-definition, method-name completion, etc. It
 really is a difference that makes a difference.
 
 I know folks say they can get the same thing from vim or emacs, but at that
 level those editors are no less complex (and a good deal more opaque) than
 something like Eclipse or Netbeans unless you already have a decade of
 experience with them.
 
 If you're starting in a new language, try a couple editors, too. Both
 Eclipse and Netbeans are free and cross-platform, and have support for a lot
 of languages. Editors like Notepad++, EditPlus, Textmate jEdit, and BBEdit
 can all do very nice things with a variety of languages.
 
 
 
 -- 
 Bill Dueber
 Library Systems Programmer
 University of Michigan Library


Re: [CODE4LIB] Choosing development platforms and/or tools, how'd you do it?

2010-01-06 Thread John Fereira

Joel Marchesoni wrote:

I agree with Dan's last point about avoiding using a special IDE to develop 
with a language.  That can be expensive and/or hinder others supporting the 
application down the road.  I use vim for most of my development as well, 
although we officially use Dreamweaver at work mostly because of its Site 
features.
I am a long time vi user (since about 1984) and for many years 
preferred to develop code using vi from a command line whether working 
on a unix based or windows machine.   A few years ago I started playing 
with a couple of IDEs and started using Eclipse and have become a total 
convert.   Most of the programming I do is in java (I have also been 
using the Spring Framework for about 5 years) but I also do a bit of PHP 
and since most of the development work is in web applications with with 
xml, html, css, javascript, java server pages, etc.  Eclipse handles all 
of them well.


--
John Fereira
Cornell University
Twitter: @john_fereira
Google Wave: fere...@googlewave.com


Re: [CODE4LIB] Choosing development platforms and/or tools, how'd you do it?

2010-01-06 Thread Alejandro Garza Gonzalez
Well, I'll quickly run down why we chose Drupal (hence, PHP). I mention 
Drupal because to me it's more of a framework which just happens to have 
a CMS built on top of it =)


Before Drupal, my team knew PHP. We had PHP books in the library, 
students were learning some PHP in classes, etc.


We were lured to Drupal because other libraries were using it (AADL at 
the time). It seemed to have good code, good security, and could be 
hacked politely (or extended) and securely (if you follow the 
rules). Most of all, Drupal has good people behind it =)


Now, even though Drupal is PHP (and, as some say, PHP lets you be as 
insecure and as bad a coder you want...) the code that goes into its 
core has pretty strict coding standards. Of course you can find lots of 
modules which are not up to par, but you can depend on core to be tight.


_alejandro

marijane white said the following on 05/01/2010 05:04 p.m.:

Greetings Code4Lib,

Long time lurker, first time poster here.

I've been turning over this question in my mind for a few weeks now, and Joe
Hourcle's postscript in the Online PHP Course thread has prompted me to
finally try to ask it. =)

I'm interested in hearing how the members of this list have gone about
choosing development platforms for their library coding projects and/or
existing open source projects (ie like VuFind vs Blacklight).  For example,
did you choose a language you already were familiar with?  One you wanted to
learn more about?  Does your workplace have a standard enterprise
architecture/platform that you are required to use?  If you have chosen to
implement an existing open source project, did you choose based on the
development platform or project maturity and features or something else?

Some background -- thanks to my undergraduate computer engineering studies,
I have a pretty solid understanding of programming fundamentals, but most of
my pre-LIS work experience was in software testing and did not require me to
employ much of what I learned programming-wise, so I've mostly dabbled over
the last decade or so.  I've got a bit of experience with a bunch of
languages and I'm not married to any of them.   I also kind of like having
excuses to learn new ones.

My situation is this: I would like to eventually implement a discovery tool
at MPOW, but I am having a hell of a time choosing one.  I'm a solo
librarian on a content team at a software and information services company,
so I'm not really tied to the platforms used by the software engineering
teams here.  I know a bit of Ruby, so I've played with Blacklight some, got
it to install on Windows and managed to import a really rough Solr index.
I'm more attracted to the features in VuFind, but I don't know much PHP yet
and I haven't gotten it installed successfully yet.  My collection's
metadata is not in an ILS (yet) and not in MARC, so I've also considered
trying out more generic approaches like ajax-solr (though I don't know a lot
of javascript yet, either).  I've also given a cursory look at SOPAC and
Scriblio.  My options are wide open, and I'm having a rough time deciding
what direction to go in.  I guess it's kind of similar to someone who is new
to programming and attempting to choose their first language to learn.

I will attempt to head off a programming language religious war =) by
stating that I'm not really interested in the virtues of one platform over
another, moreso the abstract reasons one might have for selecting one.
Have any of you ever been in a similar situation?  How'd you get yourself
unstuck?  If you haven't, what do you think you might do in a situation like
mine?


-marijane


   


--
_ ___ _ _ _ _ _ _ _
*Ing. Alejandro Garza González*
Coordinación de proyectos y desarrollo de sistemas
Centro in...@te, Centro para la Innovación en Tecnología y Educación
Tecnológico de Monterrey

Tel. +52 [81] 8358.2000, Ext. 6751
Enlace intercampus: 80.689.6751, 80.788.6106
http://www.itesm.mx/innovate/

El contenido de este mensaje de datos no se considera oferta, propuesta 
o acuerdo, sino hasta que sea confirmado en documento por escrito que 
contenga la firma autógrafa del apoderado legal del ITESM. El contenido 
de este mensaje de datos es confidencial y se entiende dirigido y para 
uso exclusivo del destinatario, por lo que no podrá distribuirse y/o 
difundirse por ningún medio sin la previa autorización del emisor 
original. Si usted no es el destinatario, se le prohíbe su utilización 
total o parcial para cualquier fin.


The content of this data transmission must not be considered an offer, 
proposal, understanding or agreement unless it is confirmed in a 
document signed by a legal representative of ITESM. The content of this 
data transmission is confidential and is intended to be delivered only 
to the addressees. Therefore, it shall not be distributed and/or 
disclosed through any means without the authorization of the original 
sender. If you are not the addressee, you are forbidden from using 

Re: [CODE4LIB] Choosing development platforms and/or tools, how'd you do it?

2010-01-06 Thread Emily Lynema
If you are looking for abstract reasons to determine which programming tool
to use for a library project, it's worth considering long term support for
your institution. If the future technical support at your institution is 1
librarian-turned-coder (and you don't have strong personal preferences), you
might want to think about which languages/tools/frameworks are commonly
available amongst this pool (I think you'll find PHP/Ruby much more often
than Java, for example). That way your institution isn't up-a-creek when you
leave and they hire your replacement.

-emily lynema
NCSU Libraries

2010/1/6 Alejandro Garza Gonzalez alejandro.ga...@itesm.mx

 Well, I'll quickly run down why we chose Drupal (hence, PHP). I mention
 Drupal because to me it's more of a framework which just happens to have a
 CMS built on top of it =)

 Before Drupal, my team knew PHP. We had PHP books in the library, students
 were learning some PHP in classes, etc.

 We were lured to Drupal because other libraries were using it (AADL at the
 time). It seemed to have good code, good security, and could be hacked
 politely (or extended) and securely (if you follow the rules). Most of
 all, Drupal has good people behind it =)

 Now, even though Drupal is PHP (and, as some say, PHP lets you be as
 insecure and as bad a coder you want...) the code that goes into its core
 has pretty strict coding standards. Of course you can find lots of modules
 which are not up to par, but you can depend on core to be tight.

 _alejandro

 marijane white said the following on 05/01/2010 05:04 p.m.:

  Greetings Code4Lib,

 Long time lurker, first time poster here.

 I've been turning over this question in my mind for a few weeks now, and
 Joe
 Hourcle's postscript in the Online PHP Course thread has prompted me to
 finally try to ask it. =)

 I'm interested in hearing how the members of this list have gone about
 choosing development platforms for their library coding projects and/or
 existing open source projects (ie like VuFind vs Blacklight).  For
 example,
 did you choose a language you already were familiar with?  One you wanted
 to
 learn more about?  Does your workplace have a standard enterprise
 architecture/platform that you are required to use?  If you have chosen to
 implement an existing open source project, did you choose based on the
 development platform or project maturity and features or something else?

 Some background -- thanks to my undergraduate computer engineering
 studies,
 I have a pretty solid understanding of programming fundamentals, but most
 of
 my pre-LIS work experience was in software testing and did not require me
 to
 employ much of what I learned programming-wise, so I've mostly dabbled
 over
 the last decade or so.  I've got a bit of experience with a bunch of
 languages and I'm not married to any of them.   I also kind of like having
 excuses to learn new ones.

 My situation is this: I would like to eventually implement a discovery
 tool
 at MPOW, but I am having a hell of a time choosing one.  I'm a solo
 librarian on a content team at a software and information services
 company,
 so I'm not really tied to the platforms used by the software engineering
 teams here.  I know a bit of Ruby, so I've played with Blacklight some,
 got
 it to install on Windows and managed to import a really rough Solr index.
 I'm more attracted to the features in VuFind, but I don't know much PHP
 yet
 and I haven't gotten it installed successfully yet.  My collection's
 metadata is not in an ILS (yet) and not in MARC, so I've also considered
 trying out more generic approaches like ajax-solr (though I don't know a
 lot
 of javascript yet, either).  I've also given a cursory look at SOPAC and
 Scriblio.  My options are wide open, and I'm having a rough time deciding
 what direction to go in.  I guess it's kind of similar to someone who is
 new
 to programming and attempting to choose their first language to learn.

 I will attempt to head off a programming language religious war =) by
 stating that I'm not really interested in the virtues of one platform over
 another, moreso the abstract reasons one might have for selecting one.
 Have any of you ever been in a similar situation?  How'd you get yourself
 unstuck?  If you haven't, what do you think you might do in a situation
 like
 mine?


 -marijane





 --
 _ ___ _ _ _ _ _ _ _
 *Ing. Alejandro Garza González*
 Coordinación de proyectos y desarrollo de sistemas
 Centro in...@te, Centro para la Innovación en Tecnología y Educación
 Tecnológico de Monterrey

 Tel. +52 [81] 8358.2000, Ext. 6751
 Enlace intercampus: 80.689.6751, 80.788.6106
 http://www.itesm.mx/innovate/

 El contenido de este mensaje de datos no se considera oferta, propuesta o
 acuerdo, sino hasta que sea confirmado en documento por escrito que contenga
 la firma autógrafa del apoderado legal del ITESM. El contenido de este
 mensaje de datos es confidencial y se entiende dirigido y para uso exclusivo
 

Re: [CODE4LIB] Choosing development platforms and/or tools, how'd you do it?

2010-01-06 Thread Glen Newton
Ross wrote:
 I honestly think choosing the best* development language is very 
 similar to how one settles on politics, religion, diet, etc. 
 Environment plays a part, of course, but, in the end, what generally 
 works best is the language that jibes best with you and your 
 personality.  Since you've dabbled with several different languages, 
 you've had to have come across this - some languages just feel 
 better than others.  This is, however, an entirely personal
 choice.  

I also think that the IDEs or editors (and languages, like Ross is
pointing out) one chooses is connected to an amalgam of a person's 
1 - history and experiences, 
2 - mode of learning/working

On #2 and editors/IDEs, I've written a little more extensively on this
pet theory of mine here: 
 http://zzzoot.blogspot.com/2009/07/emacs-mode-and-learning-modes.html
 My theory is that - like learning, where it has been established that
 different people learn in different ways (Visual/Verbal,
 Visual/Nonverbal, Auditory/Verbal, Tactile/Kinesthetic) - I believe
 that particular modes of human-machine interaction are better suited
 to some individuals than others. 

-Glen

Dan wrote:
 At the risk of making this worse... Bill makes good points, and I
 wasn't saying don't use an IDE.  I meant I don't like using an IDE,
 so I don't want to be forced to, and that affects my language/tool
 preferences.  You might want to consider whether you like using a
 particular IDE or not, in addition to other considerations.   
 
  Where I work we try hard to keep IDE-specific files and choices out
  of the vcs,  aside from maybe adding some patterns to the .ignore
  file to reinforce this.  We value letting all the different
  developers use whatever tools they prefer, and we do often use
  different ones (emacs, vim, eclipse, coda, etc.) to work on the
  same project and the same code at the same time without stomping on
  each other's toes, which is a Good Thing. 
 
 I love you all.  Really.
 
   -Dan
 
 
 On Jan 6, 2010, at 9:37 AM, Joel Marchesoni wrote:
 
 I should have worded my response differently.  I didn't mean one
 shouldn't use any IDE at all, but as Dan said if there is a special
 IDE *for that language* and otherwise one can't develop it I would
 stay away from it. 
   
  Joel 
   
  -Original Message- 
  From: Code for Libraries [mailto:code4...@listserv.nd.edu] On
  Behalf Of Bill Dueber 
  Sent: Wednesday, January 06, 2010 9:23 AM 
  To: CODE4LIB@LISTSERV.ND.EDU 
  Subject: Re: [CODE4LIB] Choosing development platforms and/or
  tools, how'd you do it? 
   
  On Wed, Jan 6, 2010 at 8:53 AM, Joel Marchesoni
  jma...@email.wcu.eduwrote: 
   
  I agree with Dan's last point about avoiding using a special IDE
 to develop 
  with a language. 
   
   
  I'll respectfully, but vehemently, disagree. I would say avoid
 *forcing* 
  everyone working on the project depend on a special IDE -- avoid
 lockin. 
  Don't avoid use. 
   
  There's a spectrum of how much an editor/environment can know
 about a 
  program. At one end is Smalltalk, where the development
 environment *is* the 
  program. At the other end is something like LISP (and, to an
 extent, Ruby) 
  where so little can be inferred from the syntax of the code that a
 smart 
  IDE can't actually know much other than how to match parentheses. 
   
  For languages where little can be known at compile time, an IDE
 may not buy 
  you very much other than syntax highlighting and code folding. For
 Java, 
  C++, etc. an IDE can know damn near everything about your project
 and 
  radically up your productivity -- variable renaming, refactoring, 
  context-sensitive help, jump-to-definition, method-name
 completion, etc. It 
  really is a difference that makes a difference. 
   
  I know folks say they can get the same thing from vim or emacs,
 but at that 
  level those editors are no less complex (and a good deal more
 opaque) than 
  something like Eclipse or Netbeans unless you already have a
 decade of 
  experience with them. 
   
  If you're starting in a new language, try a couple editors,
 too. Both 
  Eclipse and Netbeans are free and cross-platform, and have support
 for a lot 
  of languages. Editors like Notepad++, EditPlus, Textmate jEdit,
 and BBEdit 
  can all do very nice things with a variety of languages. 
   
   
   
  --  
  Bill Dueber 
  Library Systems Programmer 
  University of Michigan Library 
  


Re: [CODE4LIB] Choosing development platforms and/or tools, how'd you do it?

2010-01-06 Thread Gabriel Farrell
On Wed, Jan 06, 2010 at 09:23:09AM -0500, Bill Dueber wrote:
 There's a spectrum of how much an editor/environment can know about a
 program. At one end is Smalltalk, where the development environment *is* the
 program. At the other end is something like LISP (and, to an extent, Ruby)
 where so little can be inferred from the syntax of the code that a smart
 IDE can't actually know much other than how to match parentheses.

You've never tried SLIME in Emacs.  All kinds of fancy LISPness for
pretty much everything you mention below.

 For languages where little can be known at compile time, an IDE may not buy
 you very much other than syntax highlighting and code folding. For Java,
 C++, etc. an IDE can know damn near everything about your project and
 radically up your productivity -- variable renaming, refactoring,
 context-sensitive help, jump-to-definition, method-name completion, etc. It
 really is a difference that makes a difference.
 
 I know folks say they can get the same thing from vim or emacs, but at that
 level those editors are no less complex (and a good deal more opaque) than
 something like Eclipse or Netbeans unless you already have a decade of
 experience with them.

I guess I did say that, but I'd argue that the opacity depends 
on your definition of opaque.  And I'd say it's more like five 
years.  Vim4life!  :)


Gabriel


Re: [CODE4LIB] Choosing development platforms and/or tools, how'd you do it?

2010-01-06 Thread Glen Newton
+1  [A good informed response]
-glen


Gabriel wrote:
 On Wed, Jan 06, 2010 at 09:23:09AM -0500, Bill Dueber wrote:
  There's a spectrum of how much an editor/environment can know about a
  program. At one end is Smalltalk, where the development environment *is* the
  program. At the other end is something like LISP (and, to an extent, Ruby)
  where so little can be inferred from the syntax of the code that a smart
  IDE can't actually know much other than how to match parentheses.

 You've never tried SLIME in Emacs.  All kinds of fancy LISPness for
 pretty much everything you mention below.
  For languages where little can be known at compile time, an IDE may not buy
  you very much other than syntax highlighting and code folding. For Java,
  C++, etc. an IDE can know damn near everything about your project and
  radically up your productivity -- variable renaming, refactoring,
  context-sensitive help, jump-to-definition, method-name completion, etc. It
  really is a difference that makes a difference.
  
  I know folks say they can get the same thing from vim or emacs, but at that
  level those editors are no less complex (and a good deal more opaque) than
  something like Eclipse or Netbeans unless you already have a decade of
  experience with them.
 
 I guess I did say that, but I'd argue that the opacity depends 
 on your definition of opaque.  And I'd say it's more like five 
 years.  Vim4life!  :)
 
 Gabriel


Re: [CODE4LIB] Choosing development platforms and/or tools, how'd you do it?

2010-01-06 Thread Jonathan Rochkind
Taking time to explore is rarely a a waste of time in this area, because 
exploring is how you learn in programming/software engineering.


marijane white wrote:

I may have worded that poorly, abstract reasons to choose a language was
exactly what I was looking for.

Your suggestion matches my natural inclinations, I think I just needed some
reassurance that taking the time to explore wouldn't be a waste of time.
Thank you. =)


On Tue, Jan 5, 2010 at 7:13 PM, Ross Singer rossfsin...@gmail.com wrote:

  

I realize you didn't want to start a religious war nor were you
interested in the abstract reasons people chose a particular language,
that being said...

I honestly think choosing the best* development language is very
similar to how one settles on politics, religion, diet, etc.
Environment plays a part, of course, but, in the end, what generally
works best is the language that jibes best with you and your
personality.  Since you've dabbled with several different languages,
you've had to have come across this - some languages just feel
better than others.  This is, however, an entirely personal choice.

Dan Chudnov, for example, seems to think in Python.  When I tried
Python, it never really clicked -- I muddled through a few projects
but never really got it.  I then got introduced to Ruby, everything
made sense, and I never looked back.  I recently did a project in
Groovy/Grails and my takeaway was that it was a scripting language
that only somebody that had spent their career as a Java developer
could love.  My coworker (who has spent his career as a Java
developer) LOVES Groovy.  He thinks Ruby is a Fisher-Price language.
To each their own.

Since you don't seem to have institutional constraints on what you can
develop in, I would recommend you try something like this:

Take a handful of languages that look interesting to you and try
writing a simple app to take some of your data, model it and shove it
into Solr and make an interface to look at it.  Solr's pretty perfect
for this sort of project:  it's super simple to work with and
immediately gives you something powerful and versatile to wrap your
app around.  If you can't make something useful quickly around Solr,
then move on to the next language because that one's not for you.

If the ones that click happen to be PHP, Python or Ruby, well, there
you go.  If not, I, for one, look forward to your new Lua (or
whatever) based discovery interface.

Ultimately, any project you choose for your discovery interface is
going to require a lot of customization to make it work the way you
want -- the key is finding the environment that stands the least in
the way between turning what's in your head into a working app.

Good luck,
-Ross.

On Tue, Jan 5, 2010 at 6:04 PM, marijane white marijane.wh...@gmail.com
wrote:


Greetings Code4Lib,

Long time lurker, first time poster here.

I've been turning over this question in my mind for a few weeks now, and
  

Joe


Hourcle's postscript in the Online PHP Course thread has prompted me to
finally try to ask it. =)

I'm interested in hearing how the members of this list have gone about
choosing development platforms for their library coding projects and/or
existing open source projects (ie like VuFind vs Blacklight).  For
  

example,


did you choose a language you already were familiar with?  One you wanted
  

to


learn more about?  Does your workplace have a standard enterprise
architecture/platform that you are required to use?  If you have chosen
  

to


implement an existing open source project, did you choose based on the
development platform or project maturity and features or something else?

Some background -- thanks to my undergraduate computer engineering
  

studies,


I have a pretty solid understanding of programming fundamentals, but most
  

of


my pre-LIS work experience was in software testing and did not require me
  

to


employ much of what I learned programming-wise, so I've mostly dabbled
  

over


the last decade or so.  I've got a bit of experience with a bunch of
languages and I'm not married to any of them.   I also kind of like
  

having


excuses to learn new ones.

My situation is this: I would like to eventually implement a discovery
  

tool


at MPOW, but I am having a hell of a time choosing one.  I'm a solo
librarian on a content team at a software and information services
  

company,


so I'm not really tied to the platforms used by the software engineering
teams here.  I know a bit of Ruby, so I've played with Blacklight some,
  

got


it to install on Windows and managed to import a really rough Solr index.
I'm more attracted to the features in VuFind, but I don't know much PHP
  

yet


and I haven't gotten it installed successfully yet.  My collection's
metadata is not in an ILS (yet) and not in MARC, so I've also considered
trying out more generic approaches 

Re: [CODE4LIB] Choosing development platforms and/or tools, how'd you do it?

2010-01-06 Thread marijane white
Very true, however, since programming is not part of my core job duties, I'd
like to avoid spending much time on something I won't end up using.  But
that doesn't mean not exploring, I think it just means choosing carefully.
This discussion has steered me towards focusing on exploring things I'm
really interested in, rather than just trying everything that might be
available.


On Wed, Jan 6, 2010 at 10:40 AM, Jonathan Rochkind rochk...@jhu.edu wrote:

 Taking time to explore is rarely a a waste of time in this area, because
 exploring is how you learn in programming/software engineering.


 marijane white wrote:

 I may have worded that poorly, abstract reasons to choose a language was
 exactly what I was looking for.

 Your suggestion matches my natural inclinations, I think I just needed
 some
 reassurance that taking the time to explore wouldn't be a waste of time.
 Thank you. =)


 On Tue, Jan 5, 2010 at 7:13 PM, Ross Singer rossfsin...@gmail.com
 wrote:



 I realize you didn't want to start a religious war nor were you
 interested in the abstract reasons people chose a particular language,
 that being said...

 I honestly think choosing the best* development language is very
 similar to how one settles on politics, religion, diet, etc.
 Environment plays a part, of course, but, in the end, what generally
 works best is the language that jibes best with you and your
 personality.  Since you've dabbled with several different languages,
 you've had to have come across this - some languages just feel
 better than others.  This is, however, an entirely personal choice.

 Dan Chudnov, for example, seems to think in Python.  When I tried
 Python, it never really clicked -- I muddled through a few projects
 but never really got it.  I then got introduced to Ruby, everything
 made sense, and I never looked back.  I recently did a project in
 Groovy/Grails and my takeaway was that it was a scripting language
 that only somebody that had spent their career as a Java developer
 could love.  My coworker (who has spent his career as a Java
 developer) LOVES Groovy.  He thinks Ruby is a Fisher-Price language.
 To each their own.

 Since you don't seem to have institutional constraints on what you can
 develop in, I would recommend you try something like this:

 Take a handful of languages that look interesting to you and try
 writing a simple app to take some of your data, model it and shove it
 into Solr and make an interface to look at it.  Solr's pretty perfect
 for this sort of project:  it's super simple to work with and
 immediately gives you something powerful and versatile to wrap your
 app around.  If you can't make something useful quickly around Solr,
 then move on to the next language because that one's not for you.

 If the ones that click happen to be PHP, Python or Ruby, well, there
 you go.  If not, I, for one, look forward to your new Lua (or
 whatever) based discovery interface.

 Ultimately, any project you choose for your discovery interface is
 going to require a lot of customization to make it work the way you
 want -- the key is finding the environment that stands the least in
 the way between turning what's in your head into a working app.

 Good luck,
 -Ross.

 On Tue, Jan 5, 2010 at 6:04 PM, marijane white marijane.wh...@gmail.com
 
 wrote:


 Greetings Code4Lib,

 Long time lurker, first time poster here.

 I've been turning over this question in my mind for a few weeks now, and


 Joe


 Hourcle's postscript in the Online PHP Course thread has prompted me to
 finally try to ask it. =)

 I'm interested in hearing how the members of this list have gone about
 choosing development platforms for their library coding projects and/or
 existing open source projects (ie like VuFind vs Blacklight).  For


 example,


 did you choose a language you already were familiar with?  One you
 wanted


 to


 learn more about?  Does your workplace have a standard enterprise
 architecture/platform that you are required to use?  If you have chosen


 to


 implement an existing open source project, did you choose based on the
 development platform or project maturity and features or something else?

 Some background -- thanks to my undergraduate computer engineering


 studies,


 I have a pretty solid understanding of programming fundamentals, but
 most


 of


 my pre-LIS work experience was in software testing and did not require
 me


 to


 employ much of what I learned programming-wise, so I've mostly dabbled


 over


 the last decade or so.  I've got a bit of experience with a bunch of
 languages and I'm not married to any of them.   I also kind of like


 having


 excuses to learn new ones.

 My situation is this: I would like to eventually implement a discovery


 tool


 at MPOW, but I am having a hell of a time choosing one.  I'm a solo
 librarian on a content team at a software and information services


 company,


 so I'm not really tied to the platforms used by the software engineering
 

Re: [CODE4LIB] Choosing development platforms and/or tools, how'd you do it?

2010-01-06 Thread Naomi Dushay

Marijane,

It also makes sense to examine the available software for what you  
wish to accomplish.  Available software goes beyond current features to
- maintainability  (one reason Stanford switched to Blacklight)   I'll  
talk a little bit about this in our Code4Lib 2010 presentation about  
testing.

- community
- active development
- potential applicability to additional projects.   (we like  
Blacklight for its ability to run on any solr index, regardless of  
what's in there)


probably some other stuff I've left out.

Our experience at Stanford Libraries is that the common conventions of  
Rails give us a lot more ease in reading each others' code.


- Naomi

On Jan 5, 2010, at 3:04 PM, marijane white wrote:


Greetings Code4Lib,

Long time lurker, first time poster here.

I've been turning over this question in my mind for a few weeks now,  
and Joe
Hourcle's postscript in the Online PHP Course thread has prompted me  
to

finally try to ask it. =)

I'm interested in hearing how the members of this list have gone about
choosing development platforms for their library coding projects and/ 
or
existing open source projects (ie like VuFind vs Blacklight).  For  
example,
did you choose a language you already were familiar with?  One you  
wanted to

learn more about?  Does your workplace have a standard enterprise
architecture/platform that you are required to use?  If you have  
chosen to

implement an existing open source project, did you choose based on the
development platform or project maturity and features or something  
else?


Some background -- thanks to my undergraduate computer engineering  
studies,
I have a pretty solid understanding of programming fundamentals, but  
most of
my pre-LIS work experience was in software testing and did not  
require me to
employ much of what I learned programming-wise, so I've mostly  
dabbled over

the last decade or so.  I've got a bit of experience with a bunch of
languages and I'm not married to any of them.   I also kind of like  
having

excuses to learn new ones.

My situation is this: I would like to eventually implement a  
discovery tool

at MPOW, but I am having a hell of a time choosing one.  I'm a solo
librarian on a content team at a software and information services  
company,
so I'm not really tied to the platforms used by the software  
engineering
teams here.  I know a bit of Ruby, so I've played with Blacklight  
some, got
it to install on Windows and managed to import a really rough Solr  
index.
I'm more attracted to the features in VuFind, but I don't know much  
PHP yet

and I haven't gotten it installed successfully yet.  My collection's
metadata is not in an ILS (yet) and not in MARC, so I've also  
considered
trying out more generic approaches like ajax-solr (though I don't  
know a lot
of javascript yet, either).  I've also given a cursory look at SOPAC  
and
Scriblio.  My options are wide open, and I'm having a rough time  
deciding
what direction to go in.  I guess it's kind of similar to someone  
who is new

to programming and attempting to choose their first language to learn.

I will attempt to head off a programming language religious war =) by
stating that I'm not really interested in the virtues of one  
platform over

another, moreso the abstract reasons one might have for selecting one.
Have any of you ever been in a similar situation?  How'd you get  
yourself
unstuck?  If you haven't, what do you think you might do in a  
situation like

mine?


-marijane


Re: [CODE4LIB] Choosing development platforms and/or tools, how'd you do it?

2010-01-06 Thread Sharon Foster
I'm glad someone mentioned maintainability. I used to work in embedded
systems, where design, testing, and maintainability were of utmost
importance, and coding is just the brief stage in between design and
test. I lived by the adage, Code as if the person who will maintain
your code is a homicidal maniac who knows where you live.

Sharon M. Foster, JD, MLS
Technology Librarian
http://firstgentrekkie.blogspot.com/
Have you tried switching it off and on again?




On Wed, Jan 6, 2010 at 3:24 PM, Naomi Dushay ndus...@stanford.edu wrote:
 Marijane,

 It also makes sense to examine the available software for what you wish to
 accomplish.  Available software goes beyond current features to
 - maintainability  (one reason Stanford switched to Blacklight)   I'll talk
 a little bit about this in our Code4Lib 2010 presentation about testing.
 - community
 - active development
 - potential applicability to additional projects.   (we like Blacklight for
 its ability to run on any solr index, regardless of what's in there)

 probably some other stuff I've left out.

 Our experience at Stanford Libraries is that the common conventions of Rails
 give us a lot more ease in reading each others' code.

 - Naomi

 On Jan 5, 2010, at 3:04 PM, marijane white wrote:

 Greetings Code4Lib,

 Long time lurker, first time poster here.

 I've been turning over this question in my mind for a few weeks now, and
 Joe
 Hourcle's postscript in the Online PHP Course thread has prompted me to
 finally try to ask it. =)

 I'm interested in hearing how the members of this list have gone about
 choosing development platforms for their library coding projects and/or
 existing open source projects (ie like VuFind vs Blacklight).  For
 example,
 did you choose a language you already were familiar with?  One you wanted
 to
 learn more about?  Does your workplace have a standard enterprise
 architecture/platform that you are required to use?  If you have chosen to
 implement an existing open source project, did you choose based on the
 development platform or project maturity and features or something else?

 Some background -- thanks to my undergraduate computer engineering
 studies,
 I have a pretty solid understanding of programming fundamentals, but most
 of
 my pre-LIS work experience was in software testing and did not require me
 to
 employ much of what I learned programming-wise, so I've mostly dabbled
 over
 the last decade or so.  I've got a bit of experience with a bunch of
 languages and I'm not married to any of them.   I also kind of like having
 excuses to learn new ones.

 My situation is this: I would like to eventually implement a discovery
 tool
 at MPOW, but I am having a hell of a time choosing one.  I'm a solo
 librarian on a content team at a software and information services
 company,
 so I'm not really tied to the platforms used by the software engineering
 teams here.  I know a bit of Ruby, so I've played with Blacklight some,
 got
 it to install on Windows and managed to import a really rough Solr index.
 I'm more attracted to the features in VuFind, but I don't know much PHP
 yet
 and I haven't gotten it installed successfully yet.  My collection's
 metadata is not in an ILS (yet) and not in MARC, so I've also considered
 trying out more generic approaches like ajax-solr (though I don't know a
 lot
 of javascript yet, either).  I've also given a cursory look at SOPAC and
 Scriblio.  My options are wide open, and I'm having a rough time deciding
 what direction to go in.  I guess it's kind of similar to someone who is
 new
 to programming and attempting to choose their first language to learn.

 I will attempt to head off a programming language religious war =) by
 stating that I'm not really interested in the virtues of one platform over
 another, moreso the abstract reasons one might have for selecting one.
 Have any of you ever been in a similar situation?  How'd you get yourself
 unstuck?  If you haven't, what do you think you might do in a situation
 like
 mine?


 -marijane



Re: [CODE4LIB] Choosing development platforms and/or tools, how'd you do it?

2010-01-06 Thread marijane white
I've read about Blacklight's ability to run on any Solr index, but I've
struggled to make it work with mine.  Honestly, I've been left with the
impression that my data should be in MARC if I want to use it.  Is there
some documentation on this somewhere that I've overlooked?  (Maybe I should
ask this on the BL list)


On Wed, Jan 6, 2010 at 12:24 PM, Naomi Dushay ndus...@stanford.edu wrote:

 Marijane,

 It also makes sense to examine the available software for what you wish to
 accomplish.  Available software goes beyond current features to
 - maintainability  (one reason Stanford switched to Blacklight)   I'll talk
 a little bit about this in our Code4Lib 2010 presentation about testing.
 - community
 - active development
 - potential applicability to additional projects.   (we like Blacklight for
 its ability to run on any solr index, regardless of what's in there)

 probably some other stuff I've left out.

 Our experience at Stanford Libraries is that the common conventions of
 Rails give us a lot more ease in reading each others' code.

 - Naomi


 On Jan 5, 2010, at 3:04 PM, marijane white wrote:

  Greetings Code4Lib,

 Long time lurker, first time poster here.

 I've been turning over this question in my mind for a few weeks now, and
 Joe
 Hourcle's postscript in the Online PHP Course thread has prompted me to
 finally try to ask it. =)

 I'm interested in hearing how the members of this list have gone about
 choosing development platforms for their library coding projects and/or
 existing open source projects (ie like VuFind vs Blacklight).  For
 example,
 did you choose a language you already were familiar with?  One you wanted
 to
 learn more about?  Does your workplace have a standard enterprise
 architecture/platform that you are required to use?  If you have chosen to
 implement an existing open source project, did you choose based on the
 development platform or project maturity and features or something else?

 Some background -- thanks to my undergraduate computer engineering
 studies,
 I have a pretty solid understanding of programming fundamentals, but most
 of
 my pre-LIS work experience was in software testing and did not require me
 to
 employ much of what I learned programming-wise, so I've mostly dabbled
 over
 the last decade or so.  I've got a bit of experience with a bunch of
 languages and I'm not married to any of them.   I also kind of like having
 excuses to learn new ones.

 My situation is this: I would like to eventually implement a discovery
 tool
 at MPOW, but I am having a hell of a time choosing one.  I'm a solo
 librarian on a content team at a software and information services
 company,
 so I'm not really tied to the platforms used by the software engineering
 teams here.  I know a bit of Ruby, so I've played with Blacklight some,
 got
 it to install on Windows and managed to import a really rough Solr index.
 I'm more attracted to the features in VuFind, but I don't know much PHP
 yet
 and I haven't gotten it installed successfully yet.  My collection's
 metadata is not in an ILS (yet) and not in MARC, so I've also considered
 trying out more generic approaches like ajax-solr (though I don't know a
 lot
 of javascript yet, either).  I've also given a cursory look at SOPAC and
 Scriblio.  My options are wide open, and I'm having a rough time deciding
 what direction to go in.  I guess it's kind of similar to someone who is
 new
 to programming and attempting to choose their first language to learn.

 I will attempt to head off a programming language religious war =) by
 stating that I'm not really interested in the virtues of one platform over
 another, moreso the abstract reasons one might have for selecting one.
 Have any of you ever been in a similar situation?  How'd you get yourself
 unstuck?  If you haven't, what do you think you might do in a situation
 like
 mine?


 -marijane




Re: [CODE4LIB] Choosing development platforms and/or tools, how'd you do it?

2010-01-06 Thread Naomi Dushay

Marijane,

Yes, I would encourage you to ask for help on the blacklight list,  
with specifics about the problems you're having.  We've set up  
Blacklight on a bunch of non-Marc Solr indexes here.


- Naomi

On Jan 6, 2010, at 1:32 PM, marijane white wrote:

I've read about Blacklight's ability to run on any Solr index, but  
I've
struggled to make it work with mine.  Honestly, I've been left with  
the
impression that my data should be in MARC if I want to use it.  Is  
there
some documentation on this somewhere that I've overlooked?  (Maybe I  
should

ask this on the BL list)


On Wed, Jan 6, 2010 at 12:24 PM, Naomi Dushay ndus...@stanford.edu  
wrote:



Marijane,

It also makes sense to examine the available software for what you  
wish to

accomplish.  Available software goes beyond current features to
- maintainability  (one reason Stanford switched to Blacklight)
I'll talk
a little bit about this in our Code4Lib 2010 presentation about  
testing.

- community
- active development
- potential applicability to additional projects.   (we like  
Blacklight for

its ability to run on any solr index, regardless of what's in there)

probably some other stuff I've left out.

Our experience at Stanford Libraries is that the common conventions  
of

Rails give us a lot more ease in reading each others' code.

- Naomi


On Jan 5, 2010, at 3:04 PM, marijane white wrote:

Greetings Code4Lib,


Long time lurker, first time poster here.

I've been turning over this question in my mind for a few weeks  
now, and

Joe
Hourcle's postscript in the Online PHP Course thread has prompted  
me to

finally try to ask it. =)

I'm interested in hearing how the members of this list have gone  
about
choosing development platforms for their library coding projects  
and/or

existing open source projects (ie like VuFind vs Blacklight).  For
example,
did you choose a language you already were familiar with?  One you  
wanted

to
learn more about?  Does your workplace have a standard enterprise
architecture/platform that you are required to use?  If you have  
chosen to
implement an existing open source project, did you choose based on  
the
development platform or project maturity and features or something  
else?


Some background -- thanks to my undergraduate computer engineering
studies,
I have a pretty solid understanding of programming fundamentals,  
but most

of
my pre-LIS work experience was in software testing and did not  
require me

to
employ much of what I learned programming-wise, so I've mostly  
dabbled

over
the last decade or so.  I've got a bit of experience with a bunch of
languages and I'm not married to any of them.   I also kind of  
like having

excuses to learn new ones.

My situation is this: I would like to eventually implement a  
discovery

tool
at MPOW, but I am having a hell of a time choosing one.  I'm a solo
librarian on a content team at a software and information services
company,
so I'm not really tied to the platforms used by the software  
engineering
teams here.  I know a bit of Ruby, so I've played with Blacklight  
some,

got
it to install on Windows and managed to import a really rough Solr  
index.
I'm more attracted to the features in VuFind, but I don't know  
much PHP

yet
and I haven't gotten it installed successfully yet.  My collection's
metadata is not in an ILS (yet) and not in MARC, so I've also  
considered
trying out more generic approaches like ajax-solr (though I don't  
know a

lot
of javascript yet, either).  I've also given a cursory look at  
SOPAC and
Scriblio.  My options are wide open, and I'm having a rough time  
deciding
what direction to go in.  I guess it's kind of similar to someone  
who is

new
to programming and attempting to choose their first language to  
learn.


I will attempt to head off a programming language religious war =)  
by
stating that I'm not really interested in the virtues of one  
platform over
another, moreso the abstract reasons one might have for selecting  
one.
Have any of you ever been in a similar situation?  How'd you get  
yourself
unstuck?  If you haven't, what do you think you might do in a  
situation

like
mine?


-marijane





Re: [CODE4LIB] Choosing development platforms and/or tools, how'd you do it?

2010-01-06 Thread Brad Rhoads
On the IDE question, I'll just add that I find an interactive debugger to be
a necessity.


[CODE4LIB] Choosing development platforms and/or tools, how'd you do it?

2010-01-05 Thread marijane white
Greetings Code4Lib,

Long time lurker, first time poster here.

I've been turning over this question in my mind for a few weeks now, and Joe
Hourcle's postscript in the Online PHP Course thread has prompted me to
finally try to ask it. =)

I'm interested in hearing how the members of this list have gone about
choosing development platforms for their library coding projects and/or
existing open source projects (ie like VuFind vs Blacklight).  For example,
did you choose a language you already were familiar with?  One you wanted to
learn more about?  Does your workplace have a standard enterprise
architecture/platform that you are required to use?  If you have chosen to
implement an existing open source project, did you choose based on the
development platform or project maturity and features or something else?

Some background -- thanks to my undergraduate computer engineering studies,
I have a pretty solid understanding of programming fundamentals, but most of
my pre-LIS work experience was in software testing and did not require me to
employ much of what I learned programming-wise, so I've mostly dabbled over
the last decade or so.  I've got a bit of experience with a bunch of
languages and I'm not married to any of them.   I also kind of like having
excuses to learn new ones.

My situation is this: I would like to eventually implement a discovery tool
at MPOW, but I am having a hell of a time choosing one.  I'm a solo
librarian on a content team at a software and information services company,
so I'm not really tied to the platforms used by the software engineering
teams here.  I know a bit of Ruby, so I've played with Blacklight some, got
it to install on Windows and managed to import a really rough Solr index.
I'm more attracted to the features in VuFind, but I don't know much PHP yet
and I haven't gotten it installed successfully yet.  My collection's
metadata is not in an ILS (yet) and not in MARC, so I've also considered
trying out more generic approaches like ajax-solr (though I don't know a lot
of javascript yet, either).  I've also given a cursory look at SOPAC and
Scriblio.  My options are wide open, and I'm having a rough time deciding
what direction to go in.  I guess it's kind of similar to someone who is new
to programming and attempting to choose their first language to learn.

I will attempt to head off a programming language religious war =) by
stating that I'm not really interested in the virtues of one platform over
another, moreso the abstract reasons one might have for selecting one.
Have any of you ever been in a similar situation?  How'd you get yourself
unstuck?  If you haven't, what do you think you might do in a situation like
mine?


-marijane


Re: [CODE4LIB] Choosing development platforms and/or tools, how'd you do it?

2010-01-05 Thread Terence Ingram
I reckon if you are building webapps either get into Rails (as you know ruby 
this should be simple) or get into Grails as Brad suggests.
Both are pretty powerful, have interesting and active communities and there are 
sufficient ruby and java library libraries for library related development.

If you prefer to work with PHP then I can recommend CodeIgniter as a MVC 
framework. It's not the only one. But I have enjoyed developing php using it.

Have fun :)

Terence




On 6/01/10 10:50 AM, Brad Rhoads bdr...@gmail.com wrote:

When starting my current project (http://trac.serveall.net/ibidem/), I knew
I wanted to base it on the Spring framework (http://www.springsource.org/).
It's a Java based application framework that provides a very good base to
build on. However, it does have a learning curve. In the process of studying
Spring, I discovered Grails.

Grails (http://www.grails.org/) is a framework uses the Groovy language and
sits on top of Spring and Hibernate (an object relational mapper). Groovy is
a dynamic language that compiles down to Java byte code.

The nice thing about Grails is its philosophy of convention over
configuration. This ends up giving you the benefits of Spring with an
easier learning curve. It's really the development environment that I've
always dreamed of working in.

HTH

-Brad

On Tue, Jan 5, 2010 at 5:04 PM, marijane white marijane.wh...@gmail.comwrote:

 Greetings Code4Lib,

 Long time lurker, first time poster here.

 I've been turning over this question in my mind for a few weeks now, and
 Joe
 Hourcle's postscript in the Online PHP Course thread has prompted me to
 finally try to ask it. =)

 I'm interested in hearing how the members of this list have gone about
 choosing development platforms for their library coding projects and/or
 existing open source projects (ie like VuFind vs Blacklight).  For example,
 did you choose a language you already were familiar with?  One you wanted
 to
 learn more about?  Does your workplace have a standard enterprise
 architecture/platform that you are required to use?  If you have chosen to
 implement an existing open source project, did you choose based on the
 development platform or project maturity and features or something else?

 Some background -- thanks to my undergraduate computer engineering studies,
 I have a pretty solid understanding of programming fundamentals, but most
 of
 my pre-LIS work experience was in software testing and did not require me
 to
 employ much of what I learned programming-wise, so I've mostly dabbled over
 the last decade or so.  I've got a bit of experience with a bunch of
 languages and I'm not married to any of them.   I also kind of like having
 excuses to learn new ones.

 My situation is this: I would like to eventually implement a discovery tool
 at MPOW, but I am having a hell of a time choosing one.  I'm a solo
 librarian on a content team at a software and information services company,
 so I'm not really tied to the platforms used by the software engineering
 teams here.  I know a bit of Ruby, so I've played with Blacklight some, got
 it to install on Windows and managed to import a really rough Solr index.
 I'm more attracted to the features in VuFind, but I don't know much PHP yet
 and I haven't gotten it installed successfully yet.  My collection's
 metadata is not in an ILS (yet) and not in MARC, so I've also considered
 trying out more generic approaches like ajax-solr (though I don't know a
 lot
 of javascript yet, either).  I've also given a cursory look at SOPAC and
 Scriblio.  My options are wide open, and I'm having a rough time deciding
 what direction to go in.  I guess it's kind of similar to someone who is
 new
 to programming and attempting to choose their first language to learn.

 I will attempt to head off a programming language religious war =) by
 stating that I'm not really interested in the virtues of one platform over
 another, moreso the abstract reasons one might have for selecting one.
 Have any of you ever been in a similar situation?  How'd you get yourself
 unstuck?  If you haven't, what do you think you might do in a situation
 like
 mine?


 -marijane




--
---
www.maf.org/rhoads
www.ontherhoads.org


Re: [CODE4LIB] Choosing development platforms and/or tools, how'd you do it?

2010-01-05 Thread Ross Singer
I realize you didn't want to start a religious war nor were you
interested in the abstract reasons people chose a particular language,
that being said...

I honestly think choosing the best* development language is very
similar to how one settles on politics, religion, diet, etc.
Environment plays a part, of course, but, in the end, what generally
works best is the language that jibes best with you and your
personality.  Since you've dabbled with several different languages,
you've had to have come across this - some languages just feel
better than others.  This is, however, an entirely personal choice.

Dan Chudnov, for example, seems to think in Python.  When I tried
Python, it never really clicked -- I muddled through a few projects
but never really got it.  I then got introduced to Ruby, everything
made sense, and I never looked back.  I recently did a project in
Groovy/Grails and my takeaway was that it was a scripting language
that only somebody that had spent their career as a Java developer
could love.  My coworker (who has spent his career as a Java
developer) LOVES Groovy.  He thinks Ruby is a Fisher-Price language.
To each their own.

Since you don't seem to have institutional constraints on what you can
develop in, I would recommend you try something like this:

Take a handful of languages that look interesting to you and try
writing a simple app to take some of your data, model it and shove it
into Solr and make an interface to look at it.  Solr's pretty perfect
for this sort of project:  it's super simple to work with and
immediately gives you something powerful and versatile to wrap your
app around.  If you can't make something useful quickly around Solr,
then move on to the next language because that one's not for you.

If the ones that click happen to be PHP, Python or Ruby, well, there
you go.  If not, I, for one, look forward to your new Lua (or
whatever) based discovery interface.

Ultimately, any project you choose for your discovery interface is
going to require a lot of customization to make it work the way you
want -- the key is finding the environment that stands the least in
the way between turning what's in your head into a working app.

Good luck,
-Ross.

On Tue, Jan 5, 2010 at 6:04 PM, marijane white marijane.wh...@gmail.com wrote:
 Greetings Code4Lib,

 Long time lurker, first time poster here.

 I've been turning over this question in my mind for a few weeks now, and Joe
 Hourcle's postscript in the Online PHP Course thread has prompted me to
 finally try to ask it. =)

 I'm interested in hearing how the members of this list have gone about
 choosing development platforms for their library coding projects and/or
 existing open source projects (ie like VuFind vs Blacklight).  For example,
 did you choose a language you already were familiar with?  One you wanted to
 learn more about?  Does your workplace have a standard enterprise
 architecture/platform that you are required to use?  If you have chosen to
 implement an existing open source project, did you choose based on the
 development platform or project maturity and features or something else?

 Some background -- thanks to my undergraduate computer engineering studies,
 I have a pretty solid understanding of programming fundamentals, but most of
 my pre-LIS work experience was in software testing and did not require me to
 employ much of what I learned programming-wise, so I've mostly dabbled over
 the last decade or so.  I've got a bit of experience with a bunch of
 languages and I'm not married to any of them.   I also kind of like having
 excuses to learn new ones.

 My situation is this: I would like to eventually implement a discovery tool
 at MPOW, but I am having a hell of a time choosing one.  I'm a solo
 librarian on a content team at a software and information services company,
 so I'm not really tied to the platforms used by the software engineering
 teams here.  I know a bit of Ruby, so I've played with Blacklight some, got
 it to install on Windows and managed to import a really rough Solr index.
 I'm more attracted to the features in VuFind, but I don't know much PHP yet
 and I haven't gotten it installed successfully yet.  My collection's
 metadata is not in an ILS (yet) and not in MARC, so I've also considered
 trying out more generic approaches like ajax-solr (though I don't know a lot
 of javascript yet, either).  I've also given a cursory look at SOPAC and
 Scriblio.  My options are wide open, and I'm having a rough time deciding
 what direction to go in.  I guess it's kind of similar to someone who is new
 to programming and attempting to choose their first language to learn.

 I will attempt to head off a programming language religious war =) by
 stating that I'm not really interested in the virtues of one platform over
 another, moreso the abstract reasons one might have for selecting one.
 Have any of you ever been in a similar situation?  How'd you get yourself
 unstuck?  If you haven't, what do 

Re: [CODE4LIB] Choosing development platforms and/or tools, how'd you do it?

2010-01-05 Thread Roy Tennant
Thanks to Ross for forestalling what might have easily sunk into yet another
platform war. He makes some excellent points, with none better than that it
is an entirely personal choice, barring other criteria that must be
considered (e.g., demands of your place of employment). Therefore, his
advice to take a look at a few of the more popular choices and see what
floats your boat is some of the best language selection advice you'll ever
get. 

As I've been know to say in the past, there is no single path to success.
Lord only knows I'm living proof of that. I mean, just how many people do
you know who have their face on a thong? The fact that I don't (yet) have my
face on a Depends undergarment simply means I have yet higher pinnacles of
success to achieve. I'm counting on such luminaries as Michael Giarlo, Rob
Casson, and Ross Singer, among others, to help me reach such a height. Once
that has been achieved, I can retire content.
Roy

On 1/5/10 1/5/10 € 7:13 PM, Ross Singer rossfsin...@gmail.com wrote:

 I realize you didn't want to start a religious war nor were you
 interested in the abstract reasons people chose a particular language,
 that being said...
 
 I honestly think choosing the best* development language is very
 similar to how one settles on politics, religion, diet, etc.
 Environment plays a part, of course, but, in the end, what generally
 works best is the language that jibes best with you and your
 personality.  Since you've dabbled with several different languages,
 you've had to have come across this - some languages just feel
 better than others.  This is, however, an entirely personal choice.
 
 Dan Chudnov, for example, seems to think in Python.  When I tried
 Python, it never really clicked -- I muddled through a few projects
 but never really got it.  I then got introduced to Ruby, everything
 made sense, and I never looked back.  I recently did a project in
 Groovy/Grails and my takeaway was that it was a scripting language
 that only somebody that had spent their career as a Java developer
 could love.  My coworker (who has spent his career as a Java
 developer) LOVES Groovy.  He thinks Ruby is a Fisher-Price language.
 To each their own.
 
 Since you don't seem to have institutional constraints on what you can
 develop in, I would recommend you try something like this:
 
 Take a handful of languages that look interesting to you and try
 writing a simple app to take some of your data, model it and shove it
 into Solr and make an interface to look at it.  Solr's pretty perfect
 for this sort of project:  it's super simple to work with and
 immediately gives you something powerful and versatile to wrap your
 app around.  If you can't make something useful quickly around Solr,
 then move on to the next language because that one's not for you.
 
 If the ones that click happen to be PHP, Python or Ruby, well, there
 you go.  If not, I, for one, look forward to your new Lua (or
 whatever) based discovery interface.
 
 Ultimately, any project you choose for your discovery interface is
 going to require a lot of customization to make it work the way you
 want -- the key is finding the environment that stands the least in
 the way between turning what's in your head into a working app.
 
 Good luck,
 -Ross.
 
 On Tue, Jan 5, 2010 at 6:04 PM, marijane white marijane.wh...@gmail.com
 wrote:
 Greetings Code4Lib,
 
 Long time lurker, first time poster here.
 
 I've been turning over this question in my mind for a few weeks now, and Joe
 Hourcle's postscript in the Online PHP Course thread has prompted me to
 finally try to ask it. =)
 
 I'm interested in hearing how the members of this list have gone about
 choosing development platforms for their library coding projects and/or
 existing open source projects (ie like VuFind vs Blacklight).  For example,
 did you choose a language you already were familiar with?  One you wanted to
 learn more about?  Does your workplace have a standard enterprise
 architecture/platform that you are required to use?  If you have chosen to
 implement an existing open source project, did you choose based on the
 development platform or project maturity and features or something else?
 
 Some background -- thanks to my undergraduate computer engineering studies,
 I have a pretty solid understanding of programming fundamentals, but most of
 my pre-LIS work experience was in software testing and did not require me to
 employ much of what I learned programming-wise, so I've mostly dabbled over
 the last decade or so.  I've got a bit of experience with a bunch of
 languages and I'm not married to any of them.   I also kind of like having
 excuses to learn new ones.
 
 My situation is this: I would like to eventually implement a discovery tool
 at MPOW, but I am having a hell of a time choosing one.  I'm a solo
 librarian on a content team at a software and information services company,
 so I'm not really tied to the platforms used by the software engineering
 teams