Re: [CODE4LIB] Formalizing Code4Lib?

2016-06-07 Thread Shirley Lincicum
+1 Terry

Shirley

On Tue, Jun 7, 2016 at 2:37 PM, Terry Reese  wrote:

> >> Fiscal agents are ultimately responsible for the contracts they are
> >> going to be signing. In the case of this conference, that is easily
> well over $200K.
>
> I think that this is the first pertinent question for the community to
> decide.  The conference wasn't always this big, this extravagant, or this
> expensive.  And the costs of running a conference that hosts say 150-200
> people, is order of magnitude higher than our current size of 450-500.  It
> brings with it tradeoffs, and one of them has been the difficulty and
> exceptional risk organizations take on to run this event.  If as a
> community, there is an ongoing desire to have an annual mega conference,
> then it probably is definitely time to start looking for an organization
> that can provide the type of continuity needed to make the event easier to
> run and financially easier to manage.  And if we can't do that as a
> community, it's probably time to rethink our annual conference and scope it
> into an event that's more sustainable and attractive to a volunteer run
> community.
>
> --tr
>


Re: [CODE4LIB] List of Database Subjects

2016-03-19 Thread Shirley Lincicum
The reality is that to do a really good job of driving users to the
available resources, you need to categorize databases by both subjects AND
departments/courses. These are overlapping but distinct facets that reflect
different ways that users can approach locating resources relevant to their
needs.

Shirley

On Thu, Mar 17, 2016 at 1:25 PM, Stuart A. Yeates  wrote:

> I strongly suggest that participants of this discussion pick up a decent
> history of library classification systems, since many of the large-scale
> classification systems started with discussions very much like this
>
> History repeating and all that.
>
> cheers
> stuart
>
> --
> ...let us be heard from red core to black sky
>
> On Fri, Mar 18, 2016 at 7:59 AM, David J. Fiander 
> wrote:
>
> > The problem with "programs/departments" is that there are things that
> > aren't under the umbrella of a single program/department. Where does
> > "planetary science" go, for example, when it's a strange mix of Earth
> > Sciences, Geography, and Astronomy?
> >
> > The other problem is that there are some very LARGE departments (civil
> > engineering is 1/4 of a faculty, for example), which would benefit from
> > multiple database subjects.
> >
> > On 2016/03/17 13:09, Salazar, Christina wrote:
> > > I'm curious because I wanted to do a better job with our db
> > categorization, other than program/majors/departments, HOW did you(s)
> come
> > up with your categories? Any usability/card sorting/etc
> > >
> > >
> > > Christina Salazar
> > > Systems Librarian
> > > John Spoor Broome Library
> > > California State University, Channel Islands
> > > 805/437-3198
> > >
> > >
> > > -Original Message-
> > > From: Code for Libraries [mailto:CODE4LIB@LISTSERV.ND.EDU] On Behalf
> Of
> > Jeremy C. Shellhase
> > > Sent: Thursday, March 17, 2016 10:07 AM
> > > To: CODE4LIB@LISTSERV.ND.EDU
> > > Subject: Re: [CODE4LIB] List of Database Subjects
> > >
> > > Hi,
> > > Subjects we're using are
> > http://library.humboldt.edu/search/articles.html
> > > Based pretty much on our programs/depts.
> > >
> > > "Whenever you find yourself on the side of the majority, it is time to
> > pause and reflect." *-- **Mark Twain*
> > >
> > > Jeremy C. Shellhase
> > > Systems Librarian
> > > Library room 206
> > > Humboldt State University Library
> > > One Harpst Street
> > > Arcata, California 95521
> > > 707-826-3144 (voice)
> > > 707-826-3441 (fax)
> > > jeremy.shellh...@humboldt.edu
> > >
> > > On Thu, Mar 17, 2016 at 7:17 AM, Ian Chan  wrote:
> > >
> > >> Hi,
> > >> The subjects we use are listed on
> > >> https://biblio.csusm.edu/research_portal/databases.
> > >>
> > >> Best,
> > >>
> > >> Ian Chan
> > >> Systems Coordinator
> > >> University Library
> > >> California State University San Marcos ic...@csusm.edu | 760-750-4385
> > >> | biblio.csusm.edu | Skype: ian.t.chan
> > >>
> > >>
> > >>
> > >>
> > >> -Original Message-
> > >> From: Code for Libraries [mailto:CODE4LIB@LISTSERV.ND.EDU] On Behalf
> > >> Of Mitchell B. Roe
> > >> Sent: Thursday, March 17, 2016 5:38 AM
> > >> To: CODE4LIB@LISTSERV.ND.EDU
> > >> Subject: Re: [CODE4LIB] List of Database Subjects
> > >>
> > >> On 2016/03/15 14:26, Burrell, Matthew wrote:
> > >>> Hello all,
> > >>> I am looking for examples of lists of database subjects similar to
> > >>> one
> > >> we are using, https://www.lib.fsu.edu/eresources/subjects , as a
> > >> comparative model. We would like to limit the number of subjects and
> > >> searching for examples. Thanks in advance! I appreciate it.
> > >>> Matt
> > >>>
> > >>> Matt Burrell
> > >>> Web Developer
> > >>> The Florida State University Libraries Tallahassee, Florida
> > >>> (850) 814-9634
> > >>> Or Schedule an Appointment
> > >>>
> > >>
> > >> Here's Oakland University Libraries':
> > >> https://research.library.oakland.edu/sp/subjects/databases.php
> > >>
> > >> --
> > >> Mitchell B. Roe
> > >> Medical Library Technology Specialist
> > >>
> > >> Oakland University William Beaumont School of Medicine
> > >> 130 Kresge Library
> > >> 2200 N Squirrel Rd
> > >> Rochester, MI 48309
> > >>
> > >> mb...@oakland.edu
> > >>
> >
>


Re: [CODE4LIB] EZProxy changes / alternatives ?

2014-01-29 Thread Shirley Lincicum
This post belongs in the code4lib journal ...

Shirley


On Wed, Jan 29, 2014 at 3:00 PM, Andrew Anderson and...@lirn.net wrote:

 When OCLC first announced their purchase of EZproxy, we started a low
 priority research project to see what the alternatives were a few years
 ago, and what it would take to bring them into a production ready state.
  The two open source solutions we evaluated were Squid and Apache HTTPd.
  We considered other options (e.g. Apache Traffic Server), but limited the
 research to these two pieces of software since they are already widely used
 and familiar to most system administrators.

 Long story short, Squid did not support URL rewriting in a way that we
 felt would be able to be supported well, between requiring patches to the
 core C++ server code, or an external rewriting processes, or an ICAP server
 implementation.  Some of that has improved a bit since the original
 evaluation, but the built-in support for URL rewriting may still need some
 time to mature.  Another aspect of Squid that did not seem to be a good fit
 was that it is somewhat limited in its authentication mechanisms vs Apache
 HTTPd.

 So we moved on to evaluating Apache HTTPd with the mod_proxy family of
 modules.  While Apache HTTPd does not support the advanced cache federation
 features as Squid, it has grown to be a robust proxy solution in its own
 right, and the 2.4 release appears to have all of the required pieces out
 of the box, with the mod_proxy_html module functionality.  In addition to
 basic URL rewriting support, you get full HTTP protocol support, mature
 IPv6 support, GZIP support, just about any authentication mechanism you
 need, a server that you can self-host content with easily, as well as a
 built-in HTTP object cache.

 How would it work?

 Here's the current EZproxy stanza for ProQuest:

 HTTPHeader X-Requested-With
 HTTPHeader Accept-Encoding
 Title ProQuest
 URL http://search.proquest.com/ip
 DJ proquest.com
 HJ gateway.proquest.com
 DJ umi.com
 HJ fedsearch.proquest.com
 HJ literature.proquest.com
 DJ conquest-leg-insight.com
 DJ conquestsystems.com
 DJ m.search.proquest.com
 DJ media.proquest.com
 NeverProxy order.proquest.com
 NeverProxy rss.proquest.com

 Here's an Apache HTTPd configuration using ProQuest that accomplishes much
 of the same functionality for the main search.proquest.com interface:

 VirtualHost _default_:80
  ServerName search.proquest.com.fqdn

  ProxyRequests Off
  ProxyVia On

  RewriteEngine On
  RewriteRule ^/(.*) http://search.proquest.com/$1 [P]

  Location /
   AllowMethods GET POST OPTIONS
   ProxyPassReverse http://search.proquest.com/
   ProxyPassReverseCookieDomain search.proquest.comsearch.proquest.com.fqdn
   CacheEnable disk
   SetOutputFilter INFLATE;DEFLATE
   Header Append Vary User-Agent env=!dont-vary
   # Put Authentication directives here
   ErrorDocument 401 /path/to/login
   Require Valid-User
  /Location
 /virtualHost

 A few notes on this:

 - There is no need for NeverProxy: if you do not define a VirtualHost for
 the hostname, it is not proxied.  So instead of HJ and DJ lines, you add a
 new VirtualHost block for each hostname that needs to be proxied.  The
 astute will ask what about services that have dozens or hundreds of host
 entries, like Sage?  Those can be handled by the ProxyExpress features in
 Apache HTTPd.

 - There is no need for HTTPHeader: since Apache HTTPd is a full HTTP
 proxy/server, it supports all HTTP headers natively.

 - Some of the hostnames that are in EZproxy stanzas are not needed, and
 some are legacy hostnames that are no longer used by the vendor

 - Some of the hostnames that are in EZproxy stanzas are for CDN hosted
 content that requires no special access (e.g. JavaScript/CSS/graphics
 assets that make up the vendor's user interface).  Another example: how
 many of you have DJ google.com in one of your stanzas? Now how many of
 you registered your IP addresses with Google in any way?  Outside of Google
 Scholar, I suspect the answer to those questions are nearly everyone and
 nearly no one, respectively.

 - Some of the hostnames are for things that no sane person would do: How
 many people run their discovery services through their EZproxy server vs.
 authenticating their discovery platform by IP address with vendors directly?

 - Something that this configuration does that EZproxy does not do is
 enable object caching.  This can easily save 30-50% of your upstream
 bandwidth usage (Proxy/ProxySSL in EZproxy can achieve the same result with
 an external caching proxy server).

 - More complex vendor platforms (e.g. Gale Cengage) need ProxyHTML
 directives and ProxyHTMLURLMap configured, and multiple VirtualHost
 sections to get them fully working.  These can be a little fun to get
 working initially.

 - Some services need redirects edited to work correctly, and not break out
 of the proxy:

 Header edit Location http://vendor/ http://vendor.fqdn/

 - Some vendors send wrong HTTP 

Re: [CODE4LIB] A newbie seeking input/suggestions

2013-02-21 Thread Shirley Lincicum
I wrote a little app in PHP to address this exact problem. I wrote it to
work the the LibraryH3lp webchat service, but the code could probably be
adapted to another context. You can download the source code and
instructions here: http://shirley.alptown.com/SOS_Button.zip

Best wishes,

Shirley Lincicum

On Thu, Feb 21, 2013 at 7:57 AM, Greenspun, Cindy
cindy.greens...@yale.eduwrote:

 Hello -

 I'm a newbie to this listserv.  I'm not a librarian, nor am I a coder.   I
 primarily do systems related work with our library management system, run
 SQL reports as needed and project management.  I also work for Access
 Services and even though I'm considered IT, I'm not in the library IT
 department.  This is a new position in my department and we're still
 figuring things out as we go along.

 I work in one of the many libraries at Yale University.  In the department
 I work in, we have three busy service points - two circulation desks and a
 privileges/registration office.  There are about 50/60 staff members and
 roughly 50+ student employees who rotate at these service points.  There
 are times when there are students who are late reporting to a service
 point, no-shows, or suddenly there's a long line and only one person at a
 staffed service desk.  At a meeting recently, I was listening to a work
 leader lament how, if she is the only person there, she is just too busy to
 make a phone call or send an email asking for help - a common occurrence.
  After I heard her, I wondered how possible it would be to create some sort
 of desktop 'app'.  One that requires only one click and is smart enough to
 know its service desk location and is sent to the right folks who could
 come assist right away, upon demand.  These would be on Windows
 workstations.

 Recently, I've seen many encouraging responses to the latest 'getting
 started...' emails and feel motivated to write to this listserv as I'm
 eager to learn and to try to do this myself.  I hope that this will be a
 simple enough project for me but I'm just not sure where to start or what I
 should be looking at.  So, here I am, not a librarian, nor a coder.  I
 write to this listserv seeking suggestions, ideas and encouragement.  :)

 Thank you -
 Cindy



Re: [CODE4LIB] You *are* a coder. So what am I?

2013-02-13 Thread Shirley Lincicum
I'm not in Chicago, and I didn't see this talk, so maybe I'm way off base,
but isn't a coder a programmer, or even a software engineer? Last time I
checked, programmer/software engineer is a clear, well-established and
well-respected occupation (and generally far better paid than most
Librarians, at least outside of the library world). Why can't library
coders claim the title of programmer/software engineer?

Truly curious,

Shirley

On Wed, Feb 13, 2013 at 4:22 PM, Maccabee Levine levi...@uwosh.edu wrote:

 Andromeda's talk this afternoon really struck a chord, as I shared with her
 afterwards, because I have the same issue from the other side of the fence.
  I'm among the 1/3 of the crowd today with a CS degree and and IT
 background (and no MLS).  I've worked in libraries for years, but when I
 have a point to make about how technology can benefit instruction or
 reference or collection development, I generally preface it with I'm not a
 librarian, but  I shouldn't have to be defensive about that.

 Problem is, 'coder' doesn't imply a particular degree -- just the
 experience from doing the task, and as Andromeda said, she and most C4Lers
 definitely are coders.  But 'librarian' *does* imply MLS/MSLS/etc., and I
 respect that.

 What's a library word I can use in the same way as coder?

 Maccabee

 --
 Maccabee Levine
 Head of Library Technology Services
 University of Wisconsin Oshkosh
 levi...@uwosh.edu
 920-424-7332



Re: [CODE4LIB] Author authority records to create publication feed?

2012-04-13 Thread Shirley Lincicum
You might take a look at possibilities using Mendeley
http://www.mendeley.com/
My quick examination didn't reveal obvious RSS feed options, but an
advantage that Mendeley has over something like academia.edu is that
library staff could create and curate lists of faculty publications, rather
than faculty having to do it themselves from personal accounts. I've found
it pretty easy to add find and add citations to Mendeley using their
existing database and other tools. If they don't support RSS directly,
 might you be able to use feedburner or a similar tool to create a feed
based on their content?

Just some Friday morning brainstorming ideas ...

Shirley

Shirley Lincicum
http://shirley.alptown.com

On Fri, Apr 13, 2012 at 6:25 AM, Paul Butler (pbutler3) pbutl...@umw.eduwrote:

 Howdy All,

 Some folks from across campus just came to my door with this question.  I
 am still trying to work through the possibilities and problems, but thought
 others might have encountered something similar.

 They are looking for a way to create a feed (RSS, or anything else that
 might work) for each faculty member on campus to collect and link to their
 publications, which can then be embedded into their faculty profile webpage
 (in WordPress).

 I realize the vendors (JSTOR, EBSCO, etc.) allow author RSS feeds, but
 that really does not allow for disambiguation between folks with the same
 name and variants in name citation.  It appears Web of Science has author
 authority records and a set of apis, but we currently do not subscribe to
 WoS and am waiting for a trial to test.  What we need is something similar
 to this: http://arxiv.org/help/author_identifiers

 We can ask faculty members to upload their own citations and then just
 auto link out to something like Serials Solutions' Journal Finder,  but
 that is likely not sustainable.

 So, any suggestions - particularly free or low cost solutions.  Thanks!

 Cheers, Paul
 +-+-+-+-+-+-+-+-+-+-+-+-+
 Paul R Butler
 Assistant Systems Librarian
 Simpson Library
 University of Mary Washington
 1801 College Avenue
 Fredericksburg, VA 22401
 540.654.1756
 libraries.umw.edu

 Sent from the mighty Dell Vostro 230.



Re: [CODE4LIB] Batchload update records transfer from Millennium to OCLC

2011-05-17 Thread Shirley Lincicum
I don't think you have to be a current IUG member to subscribe and
post to the INNOPAC mailing list:
http://innovativeusers.org/list/

Shirley

On Tue, May 17, 2011 at 7:04 AM, Elisa Graydon egray...@moore.edu wrote:
 Unfortunately, we are no longer part of IUG. I am trying to transfer directly 
 from Mil to OCLC. The procedure I am using is from the OCLC Batchload support 
 site here:

 http://www.oclc.org/support/documentation/batchprocessing/using/FTPInnovativeinstructions.pdf

 Thanks!

 Elisa

 -Original Message-
 From: Code for Libraries [mailto:CODE4LIB@LISTSERV.ND.EDU] On Behalf Of Kyle 
 Banerjee
 Sent: Monday, May 16, 2011 12:28 PM
 To: CODE4LIB@LISTSERV.ND.EDU
 Subject: Re: [CODE4LIB] Batchload update records transfer from Millennium to 
 OCLC

 On Mon, May 16, 2011 at 8:05 AM, Elisa Graydon egray...@moore.edu wrote:

 Does anyone have any experience transferring records from Millennium to
 OCLC for batch load updating? I need to transfer records and every time I
 try, the transfer fails. I have called OCLC and Millennium multiple times
 and neither have been able to help me. It is not an issue with a firewall. I
 really can't figure this out so any input would be greatly appreciated!!!


 The IUG list might be the ticket for this problem as there will be more
 people who perform this specific operation.

 Are you trying to transfer directly from Mil to OCLC or are you downloading
 to your computer first? Also, what is the procedure you are using, and where
 does the failure take place (i.e. connecting to OCLC, logging in,
 transferring data, processing afterwards)

 kyle



Re: [CODE4LIB] [dpla-discussion] Rethinking the library part of DPLA

2011-04-11 Thread Shirley Lincicum
 To a greater degree, I think libraries ought to be putting into practice the 
 principles of our profession against public domain works. Collection. 
 Preservation. Organization. Dissemination. Take EEBO (Early English Books 
 Online), for example. Why couldn't the library community create something 
 like that? Why do we need to let Proquest own the theses and dissertation 
 market? Our profession is still not exploiting the technology and the 
 available content. Our Acquisitions Departments are really the Purchasing 
 Departments. We seemingly think we need to buy our content in order for it to 
 be valuable.

 --
 Eric Lease Morgan
 University of Notre Dame


Or, at least many of our administrators do. Many administrators seem
to follow the philosophy: don't invest resources in building anything
locally that you can purchase from a vendor. Regardless of the value
(as determined by factoring quality and cost) of the product(s)
available for purchase.

Shirley

Shirley Lincicum
Frustrated Cataloger


Re: [CODE4LIB] LCSH and Linked Data

2011-04-08 Thread Shirley Lincicum
I'm a cataloger who has been following this discussion with interest,
but not necessarily understanding all of it. I'll try to add what I
can regarding the rules for constructing LCSH headings.

 My understanding is that Education--England--Finance *is* authorized,
 because Education--Finance is and England is a free-floating
 geographic subdivision.  Because it's also an authorized heading,
 Education--England--Finance is, in fact, an authority.  The problem
 is that free-floating subdivisions cause an almost infinite number of
 permutations, so there aren't LCCNs issued for them.

Ross is essentially correct. Education is an authorized subject term
that can be subdivided geographically. Finance is a free-floating
subdivision that is authorized for use under subject terms that
conform to parameters given in the scope notes in its authority record
(680 fields), but it cannot be subdivided geographically. England is
an authorized geographic subject term that can be added to any heading
that can be subdivided geographically. Thus, Education -- England --
Finance is a valid LCSH heading, whereas Education -- Finance --
England would not be. This is wonky, and it's stuff like this that
makes LCSH so unwieldy and difficult to validate, even for humans who
actually have the capacity to learn and adjust to all of the various
inconsistencies.

I don't know how relevant it is to this particular discussion, but
going forward I'm not sure how important it is to validate LCSH
headings. I really appreciate developers who seek to preserve the
semantic relationships present in the headings as much as possible; I
believe many of them have value. But aren't there ways to
preserve/extract that value without getting too bogged down in the
inconsistent left-to-right structure of the existing headings?

I hope this helps, at least a little bit. I'd be happy to answer
additional questions.

Shirley

Shirley Lincicum
Frustrated Cataloger


Re: [CODE4LIB] Code4Lib Northwest meeting report

2010-06-15 Thread Shirley Lincicum
A couple of presenters have already added links to their presentation slides
on the Schedule page at:
http://groups.google.com/group/pnwcode4lib/web/code4lib-northwest-2010

Perhaps we could encourage other presenters to do this as well?

Shirley

On Tue, Jun 15, 2010 at 9:32 AM, Kyle Banerjee kyle.baner...@gmail.comwrote:

 Event was not recorded, but I'm sure a shoutout for slides will generate
 some nice stuff to link to. Note to self: in future, it might not be a bad
 idea to copy slides to a flash drive after each presentation

 kyle

 On Mon, Jun 14, 2010 at 7:29 PM, Ed Summers e...@pobox.com wrote:

  Wow, this looks like it was a great event. I don't suppose any of the
  talks were recorded, or that any slides are available? I'm
  particularly interested in Karen Estlund's talk about NoCode: Digital
  Preservation of Electronic Records...and well, all of the talks :-)
 
  //Ed
 
  On Mon, Jun 14, 2010 at 2:22 PM, Kyle Banerjee kyle.baner...@gmail.com
  wrote:
   Code4Lib Northwest was held June 7 at the White Stag building in
  Portland,
   OR.
  
   Registration was closed and a waiting list established at least a month
   before the event because the room capacity of 65 was reached. Ten 20
  minute
   sessions and 13 lightning talks listed at
  
 http://groups.google.com/group/pnwcode4lib/web/code4lib-northwest-2010made
   for a full day. Our official timekeeper (a screaming flying monkey who
  gets
   upset if people yak too long) was the only one who was bored as
 everyone
   stayed focused to the end.
  
   About half of the attendees filled out evaluation forms. Roughly 70%
  rated
   it as excellent, and everyone else gave it the next highest rating. A
  number
   of themes appeared in the responses. People loved the format consisting
  of
   short presentations and lightning talks. They also gave the content,
  food,
   and venue high marks.
  
   However, both at the post conference evaluation and in written
 comments,
   people said they'd like more opportunity to interact directly with
  others.
   Breakout sessions, short Q/A sessions after every couple speakers, and
  other
   ideas were suggested. These ideas and others will be considered for
   improving next year's event.
  
   Significantly, a number of excellent technologists with a feel for the
   code4lib spirit indicated willingness to help organize the next
 Code4Lib
   Northwest, so we're already looking forward to Code4Lib Northwest 2011.
  
   Respectfully submitted,
  
   kyle
  
 



 --
 --
 Kyle Banerjee
 Digital Services Program Manager
 Orbis Cascade Alliance
 baner...@uoregon.edu / 503.999.9787



Re: [CODE4LIB] newbie

2010-03-25 Thread Shirley Lincicum
If you don't have access to Safari or books 24x7 through other means
(e.g. work, affiliation with a public or academic library), you can
get access to a decent collection of current programming ebooks by
joining ACM, see http://pd.acm.org/ for details. A Professional
membership is $99 annually. Though I haven't tried them yet myself,
Professional membership also provides access to online courses in
programming and related topics.

Shirley

On Thu, Mar 25, 2010 at 6:19 AM, Jon Gorman jonathan.gor...@gmail.com wrote:
 On Wed, Mar 24, 2010 at 2:24 PM, jenny jennynotanyd...@gmail.com wrote:
 My question is, where would you recommend I would begin? What's hot
 right now in the library world? Python, PERL, Ruby? Any advice you'd
 have for a beginner like me or even recommendations for online courses
 would be extremely appreciated


 Hi Jenny,

 You've gotten lots of good advice and debate about programming
 languages but my advice is going to be a little bit on a different
 track.

 First, in general I'd re-empathize what some other folks have said.
 Projects are great way to learn a language, although i find a intro
 to x language also useful to work through at the very beginning of a
 language.  I have found that classes are useful for me mainly because
 they give me deadlines and I usually try to go above and beyond the
 call of duty as far as classes go. It's not so much I'm learning from
 the lectures as it provides a structure for me to learn from and
 deadlines to work toward.  The standards for many classes though are
 lower than the standards I set for myself so I tend to do overkill for
 actual assignments.

 So community college classes might be useful for that purpose.  I'd
 also say some really good courses in software design and engineering
 can be really good, but it's hard to find good courses in those from
 what I can tell.  Some signs of a good course: frequent group
 projects, long-term projects, design being taught, a versioning and
 feature/bug tracking framework setup for students and students are
 expected to use it, professor does code reviews.

 Mostly, lots of reading and lots of coding.  Look around for tutorials
 on the web that go beyond hello world.  Safari can be really good
 here, and 24x7 isn't bad.  If you can get someone else to pay for it
 or use an institutional account that would be good.  Choose some books
 on your programming language.  Also read some non-programming language
 specific books like The Pragmatic Programmer, Peopleware, and the
 Mythical Man-month.  (The latter two are older but still some of the
 best non-technical/management type books I've read).

 Find a programming environment that's comfortable for you and also try
 out some different operating systems and interfaces.  You could start
 easy and start looking into various Live CD distributions.  That way
 you can burn a cd or dvd with a new operating system and boot from it
 and poke around.  Another thing you might want to investigate is using
 Virtual Machines.  I have to confess that I haven't used virtual
 machines in my home environment much, but I suspect it would be
 really, really useful for learning.  That way you can set up a
 virtual server and install things like databases or web servers
 without worrying about mucking up your own system.  There is some
 (Indeed, had you asked this question six to eight years ago, I'd say
 make sure you have a setup where you can mess up your machine but
 recover).   Hopefully after trying different operating systems, text
 editors, IDEs, version control systems, etc you find tools you really
 like.  (Oh yeah, try to start learning some version control tools
 too...they're life-savers).

 Jon Gorman

 I




 JC