Re: [CODE4LIB] Online PHP course?
Thomas Krichel kric...@openlib.org wrote: Joe Hourcle writes ps. yes, I could've used this response as an opportunity to bash PHP ... and I didn't, because they might be learning PHP to migrate it to something else. controversial ;-) what's the problem(s) with PHP? Oh please don't nuke the list from orbit like that! I hope that this is a balanced enough reply to keep everyone happy: Our experience is that PHP hosting environments vary much more, most PHP code is a mess (PHP-based software was part of 35% of the U.S. government's National Vulnerability Database in 2008 - http://www.coelho.net/php_cve.html) and few things (code and hosting) move between the different major versions smoothly. It's a personal home page tool which has grown massively, for better or worse. BUT! Even after all that, software.coop still supports some PHP applications because they can work well and be very useful, though we're under no illusions about PHP's warts. Hope that helps, -- MJ Ray (slef) Webmaster and LMS developer at | software www.software.coop http://mjr.towers.org.uk| co IMO only: see http://mjr.towers.org.uk/email.html | op
[CODE4LIB] Google's Go
Just wondering if anyone is or has tried using Go ( http://golang.org/ ). ~Erin -- -- Well then what am I supposed to do with all my creative ideas- take a bath and wash myself with them? 'Cause that is what soap is for (Peter, Family Guy) http://eringerm.com/ http://twitter.com/ErinLovesTechno
Re: [CODE4LIB] Online PHP course?
I think that the single critical question to ask about any development in a digital library environment is it's ability to deal with Unicode and it's related standards such as UTF-8. Last time I looked at it, PHP had problems is that area. These problems will bedevil anything you write in PHP, no matter how elegant you code. Just to follow on this comment and the related thread on development languages and PHP, UTF-8 handling is *exactly* one of the reasons you should consider platforms in addition to pure or base languages. The better frameworks out there address the shortcomings of their languages, including PHP and its poor Unicode support. And while I've broken my silence, I'd just like to add to Marijane's original question: something you'll want to consider is the deployability and maintainability of your chosen platform -- as both a long-time programmer and systems admin, even a wonderfully elegant language can be a nightmare to maintain if it's not well-supported at the OS level -- I'm sure this is one of the reasons for the success of LAMP. MJ
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, whichever way you feel about it, since that's how you'll spend much of your time. -Dan
Re: [CODE4LIB] Google's Go
On Wed, Jan 06, 2010 at 07:42:23AM -0500, Erin Germ wrote: Just wondering if anyone is or has tried using Go ( http://golang.org/ ). i begun an experimental ISO2709 parser. It's very nice to write go code but: - even the langage itself isn't stable - the performances are not yet as good as those annonced by Rob. Pike during the go presentation. personnal conclusions: It's not ready for production but grow fast and have heavy supporters ( plan9 communauty, google, ... ). The mailing list is very active. It will be very good for parts that need better performances than the dynamic langages. BTW: dynamic langages provide tons of shortcuts that will never be available on compiled langages like go: your code will run faster but will be longer and harder to write. I'm actually playing with go, haskell and rakudo and i'm now pretty sure that rakudo will be my next swiss knife (after 12 years of daily perl5 and some tasks in python, lua, php, ruby) regards -- Marc Chantreux BibLibre, expert en logiciels libres pour l'info-doc http://biblibre.com
Re: [CODE4LIB] c4l2010 T-Shirt Design Contest Extended to Jan. 6th
Hello All, Today is the last day to submit your T-Shirt Designs, I'll be closing it at noon with a times up message. I'm sure you're already sick of doing work, so waste your day creating a t-shirt. Rosalyn
Re: [CODE4LIB] Choosing development platforms and/or tools, how'd you do it?
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] Online PHP course?
On Wed, 6 Jan 2010, MJ Ray wrote: Thomas Krichel kric...@openlib.org wrote: Joe Hourcle writes ps. yes, I could've used this response as an opportunity to bash PHP ... and I didn't, because they might be learning PHP to migrate it to something else. controversial ;-) what's the problem(s) with PHP? Oh please don't nuke the list from orbit like that! I hope that this is a balanced enough reply to keep everyone happy: Our experience is that PHP hosting environments vary much more, most PHP code is a mess (PHP-based software was part of 35% of the U.S. government's National Vulnerability Database in 2008 - http://www.coelho.net/php_cve.html) and few things (code and hosting) move between the different major versions smoothly. It's a personal home page tool which has grown massively, for better or worse. BUT! Even after all that, software.coop still supports some PHP applications because they can work well and be very useful, though we're under no illusions about PHP's warts. I can sum it up in one sentance: PHP makes it *very* easy to write insecure programs. Of the security incidents in our department (the ones where men with guns come and take your hard drive and/or whole server away for an 'investigaton'), PHP has been responsible for the majority of the incidents. Part of it is the perceived simplicity -- look at how easy it is to add some extra functionality to your website! You don't even need to understand good programming practices! Anyone can do it! (to be fair -- Perl used to be the software that fell into this niche 10 years ago, but I blame Matt's Script Archive more than the language itself, as Perl isn't specifically for web site automation) ... and they never get their code reviewed by one of the professional programmers in our department, it goes live, and then, a year or so later, someone shows up to take our server because the security monitoring showed that it looks like someone managed to pull our password file off the system. (never mind that (1) there's a shadow file, so /etc/passwd has no passwords in it, and (2) even if they got the password file, it only has the application users (none of whom have login privs) because it's macosx) Then you waste a week of your time trying to convince the security gestapo that yes, there was a security vulnerability, and there was an incident, but nothing confidential was actually lost ... and then we get everyone who had stuff on the server bitching us out because they can't get to their stuff, and they had some time-sensitive information to get out, or whatever, and we're trying to jump through security's hoops for a week or two while our other projects get further and further behind. ... Now, if they actually manage to *upload* a file to your system ... then expect to rebuild your whole machine from the ground up. so um ... if you're going to use PHP ... if you're on apache, look into suPHP. Consider making your website served from a read-only file system, and look online for other tips on hardening your server. -Joe oh, and I also really disike having to tye all of my stuff to one database. I know mysqli makes it better, but the original mysql stuff still taints my perception of PHP. I also have a dislike of ColdFusion servers, but that stems from the 'unix registry' crap they used (still use?) back when they were still Allaire, and I had a few times when the system choked and I had to rebuild all settings from memory the first time, and from printouts of the server configuration the next few times. And then there was the time at a previous job when we upgraded the server and they pushed in changes that made the service crash every night at about 2am ... so I'd get a call every night to restart the thing ... until I finally wrote a watchdog script which by the time I got fired, was restarting the service 5-8 times per night ... but I actually *liked* coldfusion as a developer. ... and so long as we're mentioning PHP, and this is code4lib -- anyone personally know the developer of refbase? I tried emailing him a few months back offering patches to get rid of all of the 'deprecated' warnings when running under php5.
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?
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?
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?
. 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?
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?
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?
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
[CODE4LIB] Position Announcement - Web Services Librarian - Georgia State University Library
**Cross-posting** POSITION OPENING: WEB SERVICES LIBRARIAN Georgia State University Library Atlanta, GA http://www.library.gsu.edu/jobs/ Position and Responsibilities: Georgia State University Library seeks a creative and innovative individual to provide leadership as the Web Services Librarian. This position works both independently and collaboratively to provide expertise in the design, implementation, monitoring and evaluation of current and future web interfaces and technologies that provide user access to the Library's resources and services. The incumbent identifies policy, technical, and programmatic needs of the Library’s web site and various web applications running locally or from hosted services. The Web Services Librarian collaborates and leads discussion with library employees, committees, groups, and departments regarding website and application interface functionality. The Web Services Librarian will provide leadership on website policy and technical standards, and adhere to those standards/policies while creating a supportive, collaborative atmosphere working with the Department Head and management to establish policies and procedures, priorities, and timelines. Other responsibilities include maintaining current awareness of digital library technologies and actively participating in local, national, and international meetings and organizations. As a faculty member, the incumbent will serve on library committees and engage in scholarly activities. The Web Services Librarian reports to the Head of Digital Library Services and supervises two Web Programmer Analysts, student workers, and Graduate Research Assistants as needed. Department Campus Environment: The Digital Library Services department uses open source and standard web development practices to create and provide a library web presence, including content management, blogging, and wiki applications. The department is responsible for developing, customizing, and integrating various web applications from vendors and open source platforms used by both internal and external customers. Leadership in the area of content digitization, storage, and presentation will be a growing responsibility of the department. The library uses CONTENTdm to create and present our digital collections on the web, and LibGuides to present librarian created web content to our customers, and Ex Libris products including SFX, MetaLib, and Voyager as a member of the GALILEO state library consortium. Since its 2007 renovation, the Georgia State University Library provides one of the most attractive, open and inviting educational facilities in the Southeast. With over 1.5 million visitors this past year, the library is an integral part of the university community. It supports both teaching and research with an expansive collection and outstanding assistance. The library also exhibits a new, modern image, providing the campus with an attractive, centralized location. Its signature bridge, a glass link that overlooks downtown Atlanta, connects the library’s two prominent buildings. Many appreciate the comfort of the library’s new interior design, often enjoying a coffee from the cafe located on the first floor. Library services are supported by the Ex Libris Voyager integrated library system. The University System of Georgia statewide system, GALILEO, provides access to electronic resources and other materials for libraries throughout Georgia. The University Library is a member of the Association of Southeastern Research Libraries, LYRASIS, and the Atlanta Regional Consortium for Higher Education. Located in the heart of downtown Atlanta, Georgia State University is one of the country’s top urban research universities. Over 28,000 graduate and undergraduate students enroll each semester in six different colleges. This diverse community offers a unique cultural and intellectual atmosphere, with many opportunities to engage in stimulating activities and events. Between college sports, the performing arts and a variety of local restaurants, the campus location has it all. For additional information about the Georgia State University Library: http://www.library.gsu.edu Qualifications: REQUIRED: * ALA-accredited Master’s degree or a terminal degree in other relevant area such as Information Systems or Computer Science. * Experience with web development in a library, college or university setting. * Experience with relevant standards and technologies, such as PHP, .NET, XML, XHTML, CSS, SQL, XSLT, and JavaScript. * Ability to think critically and analytically. * Strong written and verbal communication skills and ability to work in a collegial and collaborative environment. * Commitment to user-oriented service. * Must be able to pass background check. PREFERRED: * Supervisory experience. * Understanding of information seeking behaviors in an academic research environment. * Demonstrated experience in library website design
[CODE4LIB] Job posting: Senior Software Infrastructure Engineer - Northwestern University Library
Position Opening: Senior Software Infrastructure Engineer This is an exciting opportunity to work with large-scale library server applications and participate in cutting-edge digital repository development at a major university. JOB SUMMARY: Position reports to the Head of Library Technology Enterprise Systems and works in a highly collaborative environment with library colleagues and external partners on the analysis, design, coding and testing of differently functioning systems in support of the Library's enterprise applications. The position also works with library colleagues and external partners on digital repository development, digital preservation, metadata, collections, and services development to explore, adapt, and implement emerging repository technologies. KEY RESPONSIBILITIES: (See posting for additional info) 1. Designs, develops, implements, and maintains specifications and application code for library's enterprise systems, including the digital object repository; 2. Designs, writes, tests, and debugs code internal to systems as well as external workflow, ingestion, metadata, and other tools; 3. Ensures established data standards are supported for metadata management, business logic, digital preservation, data modeling and metadata workflow mgmt.; 4. Performs regular system maintenance for the library's enterprise systems; 5. Makes changes to the backend system in order to achieve proper performance; MINIMUM QUALIFICATIONS: (See posting for additional info) 1. Four - six years of development experience in an object-oriented environment; 2. Advanced web development experience w/languages such as Java, PHP, Perl, or Visual Basic and frameworks/standards such as JMS, Spring, or Hibernate; 3. Experience with languages/technologies such as XML, XSLT, XPATH, SAX, DOM, SQL, JavaScript, and object-oriented programming; 4. Experience with MySQL or Oracle on enterprise level systems; 5. Knowledge of web server software including Apache and Tomcat; 6. Administration of applications running on Linux servers, including shell scripting; 7. Strong organizational, analytical, verbal/written communication skills; 8. BS in Computer Science, Information Science, or the equivalent combination of education, training, and experience from which comparable skills can be acquired; 9. Experience designing, developing, and implementing multiple software applications; 10. Experience with Library IT or IT in a higher education environment. TO APPLY: Visit Northwestern University's Jobs web site at: http://www.northwestern.edu/hr/jobs/ Reference Job Opening ID # 15393
Re: [CODE4LIB] Choosing development platforms and/or tools, how'd you do it?
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?
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?
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
[CODE4LIB] DC-2010 Call for Papers
Please accept our apologies for cross-posting. == DC-2010 Call for Papers == International Conference on Dublin Core and Metadata Applications: Making Metadata Work Harder: Celebrating 15 Year of Dublin Core 20-22 October 2010, Pittsburgh, Pennsylvania, U.S.A. Co-located with the Annual Meeting of ASIST (24-27 October 2010) -- DEADLINES IMPORTANT DATES: * Papers/reports/posters submission: 2 April 2010 * Acceptance notification: 14 May 2010 * Camera-ready copy due: 11 June 2010 -- DC-2010 marks the 15th anniversary of Dublin Core and the 10th year of the Annual Conference. To celebrate and reflect on the past and future, conference participants will engage in investigations in both research and application entailing advances that make metadata work harder in ways beyond the originally identified need for better resource discovery. The DCMI Abstract Model, the refined concept of Application Profiles and the initial Description Set Profile specification, represent an inflection point in the trajectory of metadata design and deployment in the service of human information needs. But all is not perfect and we have much to learn from sharing experience. DC-2010, will take stock of progress, look to the future and celebrate the broad scope of research and applied work in making metadata work harder. Beyond the conference theme, papers, reports, and poster submissions are welcome on a wide range of metadata topics, such as: --Metadata principles, guidelines, and best practices --Metadata quality, normalization, improvement and mapping --Conceptual models and frameworks (e.g., RDF, DCAM, OAIS) --Application profiles --Metadata interoperability across domains, languages, time, structures, and scales. --Cross-domain metadata uses (e.g., recordkeeping, preservation, curation, institutional repositories, publishing) --Domain metadata (e.g., for corporations, cultural memory institutions, education, government, and scientific fields) --Bibliographic standards (e.g., RDA, FRBR, subject headings) as Semantic Web vocabularies --Accessibility metadata --Metadata for scientific data, e-Science and grid applications --Social tagging and user participation in building metadata --Knowledge Organization Systems (e.g., ontologies, taxonomies, authority files, folksonomies, and thesauri) and Simple Knowledge Organization Systems (SKOS) --Ontology design and development --Integration of metadata and ontologies --Metadata generation (methods, tools, and practices) --Search engines and metadata --Semantic Web metadata and applications --Vocabulary registries and registry services SUBMISSIONS Authors wishing to submit papers, reports, or poster proposals may do so through the DCMI Peer Review System at http://dcpapers.dublincore.org/index.php/pubs/. Author registration and instructions for the submission process appear under the “Information for Authors” link. Author Guidelines for full papers, project reports and posters/demonstrations are available through the DCMI Peer Review System. All submissions to the DC-2010 Conference Proceedings will be peer-reviewed by the International Program Committee. All submissions must be in English. Accepted submissions will be published in the official electronic Conference Proceedings. Unless previously arranged, accepted papers, project reports and posters must be presented in Pittsburgh by at least one of their authors. All submitting authors must provide basic information regarding current professional positions and affiliations as a condition of acceptance and publication. FULL PAPERS (8-10 pages) Full papers either describe innovative work in detail or provide critical, well-referenced overviews of key developments or good practice in the areas outlined above. Full papers will be assessed using the following criteria: --Originality of the approach to implementation --Quality of the contribution to the implementation community --Significance of the results presented --Clarity of presentation PROJECT REPORTS (4-5 pages) Project reports describe a specific model, application, or activity in a concise, prescribed format. Project reports will be assessed using the following criteria: --Conciseness and completeness of technical description --Usability of the technical description by other potential implementers --Clarity of presentation POSTERS DEMONSTRATIONS (1-2 pages) Posters are for the presentation of projects or research under development or late-breaking results. Poster proposals should consist of a one-two page extended abstract. Posters will be assessed using the following criteria: --Concise statement of research or project goals and milestones --Significance of the research or project --Framing of key barriers and future research --Statement of results and accomplishments --Clarity of
Re: [CODE4LIB] Choosing development platforms and/or tools, how'd you do it?
+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?
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] Online PHP course?
On Jan 5, 2010, at 3:36 PM, Tod Olson wrote: One of our staff needs to learn PHP, and an online course is preferred. Is there an online PHP course that any of you would recommend? Thanks to the list for all of the responses. Very helpful. -Tod Tod Olson t...@uchicago.edu Systems Librarian University of Chicago Library
Re: [CODE4LIB] Online PHP course?
I wonder if Code4Lib would ever be a good outlet for online programming tutorials or hack sessions. I mean, get 10 people on Etherpad or CodeArmy together, and Skype, and you could learn a lot, and do a lot. Tim
Re: [CODE4LIB] Choosing development platforms and/or tools, how'd you do it?
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] Online PHP course?
Seems to me that Dan's Hacker 101/201 preconfs fall into this sort of category. I think it would be really useful to see at a conference that didn't already appeal to the hacker set, like CiL or LITA or something. Even Access. -Ross. On Wed, Jan 6, 2010 at 2:20 PM, Tim Spalding t...@librarything.com wrote: I wonder if Code4Lib would ever be a good outlet for online programming tutorials or hack sessions. I mean, get 10 people on Etherpad or CodeArmy together, and Skype, and you could learn a lot, and do a lot. Tim
Re: [CODE4LIB] Choosing development platforms and/or tools, how'd you do it?
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?
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?
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
[CODE4LIB] Code4Lib Journal, article accepted, Open Source in Name, but not in Nature
Ms. Schaefer, I'm pleased to tell you that your recent proposal for the article Open Source in Name, but not in Nature has been provisionally accepted to the Code4Lib Journal. The editorial committee is interested in your proposal, and would like to see a draft. As a member of the editorial committee, I will be your contact for this article, and will work with you to get it ready for publication. I'm afraid that due to the holiday season, we've gotten a bit behind in our schedule. In order to potentially publish your article in in the 9th issue (target date March 15), we'd need to see a complete draft by January 15 (this could probably be extended a week or so at most). If this is too quick for you, we could instead slate the article for a June 2010 issue, which would give you another couple of months to write a draft. Please let me know that you've received this letter, and what your feelings are about whether a March Issue 9 timeline for your article is feasible. In considering that, you might want to consider our editorial suggestions/requirements for your articles below. We definitely like the idea of an article about good practices for collaborative community open source development, and we think using the Archivist's Toolkit as an example is probably quite useful. However, we're concerned that the article not end up a purely negative rant against the maintainers of the Archivist's Toolkit. We'd like you to make sure to focus on some positive aspects of the development of the Toolkit as well as negative aspects; to avoid attributing malice to any individuals but instead focus on some of the contextual challenges that may have led to the negative aspects; and most especially to include suggestions for improvements to the process that take account of such contextual challenges and don't assume that missing good intentions are all that's needed. In general, in order to publish your piece (which we will probably identify as a 'column' or 'opinion' in the journal), we want to make sure it ends up being constructive and collegial, and not a purely negative attack on the project or it's adminstrators. I'm sure this is what you intended all along, but we're concerned that the topic could easily become overly attacking without explicit care to the contrary. Hopefully this makes sense to you, please let me know if it doesn't! Please note that final drafts must always be approved by a vote of the Editorial Committee before being published; in this case we'll definitely want to make sure the article is constructive and not an attack. Looking forward to working with you, Jonathan Rochkind
Re: [CODE4LIB] Code4Lib Journal, article accepted, Open Source in Name, but not in Nature
Jonathan, I have a feeling you didn't want to send this to the whole list :-) Kim -Original Message- From: Code for Libraries [mailto:code4...@listserv.nd.edu] On Behalf Of Jonathan Rochkind Sent: January 6, 2010 4:48 PM To: CODE4LIB@LISTSERV.ND.EDU Subject: [CODE4LIB] Code4Lib Journal, article accepted, Open Source in Name, but not in Nature Ms. Schaefer, I'm pleased to tell you that your recent proposal for the article Open Source in Name, but not in Nature has been provisionally accepted to the Code4Lib Journal. The editorial committee is interested in your proposal, and would like to see a draft. As a member of the editorial committee, I will be your contact for this article, and will work with you to get it ready for publication. I'm afraid that due to the holiday season, we've gotten a bit behind in our schedule. In order to potentially publish your article in in the 9th issue (target date March 15), we'd need to see a complete draft by January 15 (this could probably be extended a week or so at most). If this is too quick for you, we could instead slate the article for a June 2010 issue, which would give you another couple of months to write a draft. Please let me know that you've received this letter, and what your feelings are about whether a March Issue 9 timeline for your article is feasible. In considering that, you might want to consider our editorial suggestions/requirements for your articles below. We definitely like the idea of an article about good practices for collaborative community open source development, and we think using the Archivist's Toolkit as an example is probably quite useful. However, we're concerned that the article not end up a purely negative rant against the maintainers of the Archivist's Toolkit. We'd like you to make sure to focus on some positive aspects of the development of the Toolkit as well as negative aspects; to avoid attributing malice to any individuals but instead focus on some of the contextual challenges that may have led to the negative aspects; and most especially to include suggestions for improvements to the process that take account of such contextual challenges and don't assume that missing good intentions are all that's needed. In general, in order to publish your piece (which we will probably identify as a 'column' or 'opinion' in the journal), we want to make sure it ends up being constructive and collegial, and not a purely negative attack on the project or it's adminstrators. I'm sure this is what you intended all along, but we're concerned that the topic could easily become overly attacking without explicit care to the contrary. Hopefully this makes sense to you, please let me know if it doesn't! Please note that final drafts must always be approved by a vote of the Editorial Committee before being published; in this case we'll definitely want to make sure the article is constructive and not an attack. Looking forward to working with you, Jonathan Rochkind
[CODE4LIB] Job posting: Incredible Opportunity for a Koha Expert in Baltimore, Maryland
SigInt Technologies, LLC seeks an inquisitive and motivated individual to support efforts to integrate electronic content for a U.S. Government Library. We have access to electronic content from a variety of services, but lack a way to expose the data to our users. We need someone to build scripts to pull-in the content, index it, and expose it to our users via a web-interface. You will have substantial flexibility in the solutions you implement. Knowledge/Experience of the following is required: Koha, MARC, Linux, and a scripting language such as Perl or Python. Knowledge/Experience of any of the following would be great: PHP, Java, MySQL, STILAS, VuFind, Solr/Lucene. We provide an excellent compensation package, including 401K matching up to two times; Roth or Traditional 401K plan, full medical benefits, a technology allowance, and a very flexible work environment. The job is at Fort Meade, Maryland. You must be able to obtain a security clearance. John
[CODE4LIB] c4l2010 T-Shirt Design Contest Closed
Well, we received a few more entries. But now its time to close the T-shirt contest. Thanks for participating! The T-Shirt Design Committee --Original Message-- From: Rosalyn Metz To: Code for Libraries Subject: Re: c4l2010 T-Shirt Design Contest Extended to Jan. 6th Sent: Jan 6, 2010 8:46 AM Hello All, Today is the last day to submit your T-Shirt Designs, I'll be closing it at noon with a times up message. I'm sure you're already sick of doing work, so waste your day creating a t-shirt. Rosalyn Sent from my BlackBerry® smartphone with SprintSpeed
Re: [CODE4LIB] Choosing development platforms and/or tools, how'd you do it?
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?
On the IDE question, I'll just add that I find an interactive debugger to be a necessity.