Things I have learned, part R...
Sep. 29th, 2015 09:48 pm![[personal profile]](https://www.dreamwidth.org/img/silk/identity/user.png)
- Most homeless shelters keep regular weekday business hours.
- Even more interestingly, housing assistance programs expect you to know you're going to be homeless and that you will have time to do an intake interview and wait for the results.
- The Organization is almost myopically focused on the building as the point of service for the library. This is a bug.
- Programming offerings from The Organization do not reflect the philosophy of what kinds of questions we expect - we're great at "get me started", but "get me unstuck" and "keep me interested" have tumbleweeds running through their towns.
- There are times where being the singular guy in a cohort full of women is interesting.
- Some part of finding really awesome people is being brave enough to tell them they're awesome.
- Books of tales from the stacks sell
- My coworkers occasionally do not give a damn about my opinion...on things that affect me and that I have gone through before.
- The presence of carts in the youth section of our open floor area makes one co-worker feel claustrophobic. I learned this from the manager, who was the only person she told.
- Our ILS can't do simple-seeming queries, like "I want books that our branch has, that another branch does not, that are currently checked in." The first two it can handle, but the third it cannot, due to the separation between "bibliographic records" (where one can do global comparisons) and their associated "item records" (which are location-specific and carry data about circulation status.
- The ability to look at someone else's code (properly commented, or at least logically-designed) and be able to adapt it to suit your own purposes is not an inborn talent, no matter how natural it feels to me.
- I want to be the hero, oh so much.
- I also want to stop being the hero at times. The universe, in its infinite wisdom, resolved the paradox by not giving me opportunities to be the hero, because being the hero is not a thing you can stop easily.
- Not having enough money to effortlessly pay all the bills makes me feel like a failure and stresses me out like whoa.
- Parents ignore signs, closed doors, and lack of lighting when they think it's time for story time.
- I am either blessed with suck with regard to programming at my branch, or am a failure at that particular part of my job. (Other parts of my job I am good at, and receive feedback stating such in the form of attendance, laughter, and happy users.)
- The previous point is still correct, but inaccurate - programming that doesn't involve the librarian is actually quite popular.
- Further research indicates target audience is difficult to corral, because they are already super-scheduled.
- Significant Other used See Something, Say Something. Apparently, it's super-effective.
- if there are three empty spaces and one full at the help desk, someone will inevitably go to one of the empty spaces...and then expect you to come over and help them, rather than adjust themselves to the place with the actual person.
- Existential crisis still sucks.
- The Organization failed to offer a good question in a survey about core services.
- The want us to tell them what we think can be safely cut or made low-priority. We are going to laugh, because while budgets are a pain, the public library needs to expand, not contract.
no subject
Date: 2015-09-30 08:29 am (UTC)I like the icon. Is it new?
no subject
Date: 2015-09-30 03:46 pm (UTC)Oh, and yes, it is a new icon, from
no subject
Date: 2015-09-30 02:18 pm (UTC)This is so, so true. It's a valuable skill.
>>The Organization failed to offer a good question in a survey about core services.
This happened at $myCompany too, recently. And then they wonder why their participation rates are lousy and their results are negative.
no subject
Date: 2015-09-30 04:22 pm (UTC)no subject
Date: 2015-09-30 10:48 pm (UTC)I wish I could help & I'm always keeping you in my thoughts, friend. :(
no subject
Date: 2015-10-01 04:00 am (UTC)no subject
Date: 2015-10-01 04:26 pm (UTC)no subject
Date: 2015-09-30 11:55 pm (UTC)no subject
Date: 2015-10-01 01:55 am (UTC)...then I have to figure out how to export the results to a paper form I can take to the stacks.
no subject
Date: 2015-10-01 02:02 am (UTC)hmm, do the 'show tables;' and 'select * from [TABLENAME];' queries not work? Because that's how I usually get field info if I don't have a GUI client.
I'm not sure how it spits out the data but it should be linebroken at least and there are SQL commands for sort, so theoretically you could copy the output into a Word doc or something?
(sorry, I worked 'data entry' for nine months which was really 'learn basic SQL' because the only way you could update more than one item at a time - say, if we got a new pricelist - was direct SQL queries, so my instinct is to problem-solve)
no subject
Date: 2015-10-01 02:47 am (UTC)So, the GUI we use has two layers of abstraction on top of the possibility of raw SQL. The highest abstraction, called "Normal Search", presents a series of drop-down menus and tabs for refinement. So we'd select that we wanted bibliographic records, we're searching by title, and then we'd out in the title and search. (The defaults are for all locations and all collections, but we can specify which ones we want of both in options tabs (and using the Web-based PAC, as well). So it probably builds something like "select * from BibRecords where title == 'foo'", and that returns a (hash, probably) of bib records that will be iterated over and displayed.
We can also do it to Item Records by title, which returns the items that match directly, and again, the interface iterates over the items and displays selected attributes of them.
I can't set up a query in normal mode and then switch to SQL mode to see what the equivalent query would be, unfortunately.
I can, however, set it up in Normal mode and then remove a layer of abstraction into Power Search mode, which uses a Common...something Language to construct the query (TI="foo", AB=20, CO={45, 46,35}), which isn't all that helpful for divining the underlying SQL, either.
Both Normal mode and Power mode, though, force the choice of either Bib or Item records to be used. To check on circulation status, you have to use item records. So we could, I suppose, construct a comparison that would iterate over our collection and compare it to the item collections in every other branch, but when the system itself carries 1 million plus item records, many of which have the same titles, we're looking for efficiencies if we can get them. And it's not like I can point the gui at the backup server to run it so as not to bog production down.
So I guess it would be something like "select * from ItemRecords where circstatus == "In" AND (branch1 has item matching item.title and branch2 does not)
But I don't actually know the table names, keys, or values that I would have to be going after, and as you can see, the SQL for "is here but not there", I have no clue about.
The other SQL I need is one where I say "select * from ItemRecords where item.firstavailable < "date" AND branch == "mine" AND collection == "any of these collections related to an age group and/or fiction/nonfiction" AND (item.circ.ytd <= value OR item.circ.lastyear <= value OR ((item.circ.ytd + item.circ.lastyear) <= other-value)
...which is basically "find stuff that isn't circulating well enough and is old enough to be potentially discarded."
no subject
Date: 2015-10-03 05:42 pm (UTC)Man, that sounds like such a headache. I'm not actually super-advanced in SQL so I'm not up on how to do really intense set theory stuff (though I will probably learn it this term, I'm taking a database class as an elective). And trying to do SQL without knowing any of the field names is probably unsuccessful :( It almost seems easier to try and get a fairly unformatted list of titles from each library, use a script that does set arithmatic to get either the uniques from your branch or the non-uniques (I am not 100% clear on which you want), and then use that as a basis for further narrowing. I don't suppose you could ask an IT person for db field names?
no subject
Date: 2015-10-03 05:58 pm (UTC)I am looking for the uniques, according to the idea of "if location X has this, tell me which branches in the system don't also have it." Which is probably a pretty complex inquiry.
no subject
Date: 2015-10-03 07:33 pm (UTC)Calculation-wise, yeah, though it's basically a set-theory problem which thankfully lots of people have spent time writing code to solve (and which are generally tedious rather than complex). You have to have the full lists to begin with, though.
no subject
Date: 2015-10-04 01:49 pm (UTC)Anyway, it's the kind of stuff that seems like an easy request to IT, but will likely be treated like the straw and the camel's back, because that's basically how is been treated before. I dinner blame them - they're understaffed and things keep breaking (because we use stuff that's not quite Tea) in software and hardware, so they don't really have time to do these requests - but it gets frustrating because they also don't say "Well, we can't do this. If you want to learn how, here are the bits you'll need to get started."
no subject
Date: 2015-10-04 04:33 pm (UTC)Well, you'd start by running them against each other - I'd have to sit and figure out the exact configuration, but it's doable, and you could probably automate it. That'd get you the uniques, at least.
And yeah, that's a frustrating situation to be stuck in.
no subject
Date: 2015-10-04 03:43 pm (UTC)Second event: again, big lunch. They started talking about a gynecologist rapist who had been recently caught, then someone said "Oh, Wayne's here", and that conversation ceased.
14: very familiar with that, even though my wife was making good money. Much easier to live on a dual income.
#23: famous saying: Cutting funding for libraries during a recession is like cutting funding for hospitals during a plague.
no subject
Date: 2015-10-05 12:44 am (UTC)